From: no author
Date: Tue, 27 Jul 2004 11:51:25 +0000 (+0000)
Subject: This commit was manufactured by cvs2svn to create tag 'v_0_0_5_3'.
X-Git-Tag: v_0_0_5_3
X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=ff72a2339f7ccda28a7f2d8849e47ec00fe16e7c;p=helm.git
This commit was manufactured by cvs2svn to create tag 'v_0_0_5_3'.
---
diff --git a/CVSROOT/checkoutlist b/CVSROOT/checkoutlist
deleted file mode 100644
index b04b3501f..000000000
--- a/CVSROOT/checkoutlist
+++ /dev/null
@@ -1,13 +0,0 @@
-# The "checkoutlist" file is used to support additional version controlled
-# administrative files in $CVSROOT/CVSROOT, such as template files.
-#
-# The first entry on a line is a filename which will be checked out from
-# the corresponding RCS file in the $CVSROOT/CVSROOT directory.
-# The remainder of the line is an error message to use if the file cannot
-# be checked out.
-#
-# File format:
-#
-# []
-#
-# comment lines begin with '#'
diff --git a/CVSROOT/commitinfo b/CVSROOT/commitinfo
deleted file mode 100644
index b19e7b7a6..000000000
--- a/CVSROOT/commitinfo
+++ /dev/null
@@ -1,15 +0,0 @@
-# The "commitinfo" file is used to control pre-commit checks.
-# The filter on the right is invoked with the repository and a list
-# of files to check. A non-zero exit of the filter program will
-# cause the commit to be aborted.
-#
-# The first entry on a line is a regular expression which is tested
-# against the directory that the change is being committed to, relative
-# to the $CVSROOT. For the first match that is found, then the remainder
-# of the line is the name of the filter to run.
-#
-# If the repository name does not match any of the regular expressions in this
-# file, the "DEFAULT" line is used, if it is specified.
-#
-# If the name "ALL" appears as a regular expression it is always used
-# in addition to the first matching regex or "DEFAULT".
diff --git a/CVSROOT/config b/CVSROOT/config
deleted file mode 100644
index 8069cad5d..000000000
--- a/CVSROOT/config
+++ /dev/null
@@ -1,11 +0,0 @@
-# Set this to "no" if pserver shouldn't check system users/passwords
-#SystemAuth=no
-
-# Set `PreservePermissions' to `yes' to save file status information
-# in the repository.
-#PreservePermissions=no
-
-# Set `TopLevelAdmin' to `yes' to create a CVS directory at the top
-# level of the new working directory when using the `cvs checkout'
-# command.
-#TopLevelAdmin=no
diff --git a/CVSROOT/cvswrappers b/CVSROOT/cvswrappers
deleted file mode 100644
index 0accaf1b1..000000000
--- a/CVSROOT/cvswrappers
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file affects handling of files based on their names.
-#
-# The -t/-f options allow one to treat directories of files
-# as a single file, or to transform a file in other ways on
-# its way in and out of CVS.
-#
-# The -m option specifies whether CVS attempts to merge files.
-#
-# The -k option specifies keyword expansion (e.g. -kb for binary).
-#
-# Format of wrapper file ($CVSROOT/CVSROOT/cvswrappers or .cvswrappers)
-#
-# wildcard [option value][option value]...
-#
-# where option is one of
-# -f from cvs filter value: path to filter
-# -t to cvs filter value: path to filter
-# -m update methodology value: MERGE or COPY
-# -k expansion mode value: b, o, kkv, &c
-#
-# and value is a single-quote delimited value.
-# For example:
-#*.gif -k 'b'
diff --git a/CVSROOT/editinfo b/CVSROOT/editinfo
deleted file mode 100644
index d78886c15..000000000
--- a/CVSROOT/editinfo
+++ /dev/null
@@ -1,21 +0,0 @@
-# The "editinfo" file is used to allow verification of logging
-# information. It works best when a template (as specified in the
-# rcsinfo file) is provided for the logging procedure. Given a
-# template with locations for, a bug-id number, a list of people who
-# reviewed the code before it can be checked in, and an external
-# process to catalog the differences that were code reviewed, the
-# following test can be applied to the code:
-#
-# Making sure that the entered bug-id number is correct.
-# Validating that the code that was reviewed is indeed the code being
-# checked in (using the bug-id number or a seperate review
-# number to identify this particular code set.).
-#
-# If any of the above test failed, then the commit would be aborted.
-#
-# Actions such as mailing a copy of the report to each reviewer are
-# better handled by an entry in the loginfo file.
-#
-# One thing that should be noted is the the ALL keyword is not
-# supported. There can be only one entry that matches a given
-# repository.
diff --git a/CVSROOT/loginfo b/CVSROOT/loginfo
deleted file mode 100644
index 5a59f0a54..000000000
--- a/CVSROOT/loginfo
+++ /dev/null
@@ -1,26 +0,0 @@
-# The "loginfo" file controls where "cvs commit" log information
-# is sent. The first entry on a line is a regular expression which must match
-# the directory that the change is being made to, relative to the
-# $CVSROOT. If a match is found, then the remainder of the line is a filter
-# program that should expect log information on its standard input.
-#
-# If the repository name does not match any of the regular expressions in this
-# file, the "DEFAULT" line is used, if it is specified.
-#
-# If the name ALL appears as a regular expression it is always used
-# in addition to the first matching regex or DEFAULT.
-#
-# You may specify a format string as part of the
-# filter. The string is composed of a `%' followed
-# by a single format character, or followed by a set of format
-# characters surrounded by `{' and `}' as separators. The format
-# characters are:
-#
-# s = file name
-# V = old version number (pre-checkin)
-# v = new version number (post-checkin)
-#
-# For example:
-#DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog
-# or
-#DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog
diff --git a/CVSROOT/modules b/CVSROOT/modules
deleted file mode 100644
index cb9e9efc9..000000000
--- a/CVSROOT/modules
+++ /dev/null
@@ -1,26 +0,0 @@
-# Three different line formats are valid:
-# key -a aliases...
-# key [options] directory
-# key [options] directory files...
-#
-# Where "options" are composed of:
-# -i prog Run "prog" on "cvs commit" from top-level of module.
-# -o prog Run "prog" on "cvs checkout" of module.
-# -e prog Run "prog" on "cvs export" of module.
-# -t prog Run "prog" on "cvs rtag" of module.
-# -u prog Run "prog" on "cvs update" of module.
-# -d dir Place module in directory "dir" instead of module name.
-# -l Top-level directory only -- do not recurse.
-#
-# NOTE: If you change any of the "Run" options above, you'll have to
-# release and re-checkout any working directories of these modules.
-#
-# And "directory" is a path to a directory relative to $CVSROOT.
-#
-# The "-a" option specifies an alias. An alias is interpreted as if
-# everything on the right of the "-a" had been typed on the command line.
-#
-# You can encode a module within a module by using the special '&'
-# character to interpose another module into the current module. This
-# can be useful for creating a module that consists of many directories
-# spread out over the entire source repository.
diff --git a/CVSROOT/notify b/CVSROOT/notify
deleted file mode 100644
index 34f0bc288..000000000
--- a/CVSROOT/notify
+++ /dev/null
@@ -1,12 +0,0 @@
-# The "notify" file controls where notifications from watches set by
-# "cvs watch add" or "cvs edit" are sent. The first entry on a line is
-# a regular expression which is tested against the directory that the
-# change is being made to, relative to the $CVSROOT. If it matches,
-# then the remainder of the line is a filter program that should contain
-# one occurrence of %s for the user to notify, and information on its
-# standard input.
-#
-# "ALL" or "DEFAULT" can be used in place of the regular expression.
-#
-# For example:
-#ALL mail %s -s "CVS notification"
diff --git a/CVSROOT/rcsinfo b/CVSROOT/rcsinfo
deleted file mode 100644
index 49e59f4d0..000000000
--- a/CVSROOT/rcsinfo
+++ /dev/null
@@ -1,13 +0,0 @@
-# The "rcsinfo" file is used to control templates with which the editor
-# is invoked on commit and import.
-#
-# The first entry on a line is a regular expression which is tested
-# against the directory that the change is being made to, relative to the
-# $CVSROOT. For the first match that is found, then the remainder of the
-# line is the name of the file that contains the template.
-#
-# If the repository name does not match any of the regular expressions in this
-# file, the "DEFAULT" line is used, if it is specified.
-#
-# If the name "ALL" appears as a regular expression it is always used
-# in addition to the first matching regex or "DEFAULT".
diff --git a/CVSROOT/taginfo b/CVSROOT/taginfo
deleted file mode 100644
index 274a46dd5..000000000
--- a/CVSROOT/taginfo
+++ /dev/null
@@ -1,20 +0,0 @@
-# The "taginfo" file is used to control pre-tag checks.
-# The filter on the right is invoked with the following arguments:
-#
-# $1 -- tagname
-# $2 -- operation "add" for tag, "mov" for tag -F, and "del" for tag -d
-# $3 -- repository
-# $4-> file revision [file revision ...]
-#
-# A non-zero exit of the filter program will cause the tag to be aborted.
-#
-# The first entry on a line is a regular expression which is tested
-# against the directory that the change is being committed to, relative
-# to the $CVSROOT. For the first match that is found, then the remainder
-# of the line is the name of the filter to run.
-#
-# If the repository name does not match any of the regular expressions in this
-# file, the "DEFAULT" line is used, if it is specified.
-#
-# If the name "ALL" appears as a regular expression it is always used
-# in addition to the first matching regex or "DEFAULT".
diff --git a/CVSROOT/verifymsg b/CVSROOT/verifymsg
deleted file mode 100644
index 86f747ce2..000000000
--- a/CVSROOT/verifymsg
+++ /dev/null
@@ -1,21 +0,0 @@
-# The "verifymsg" file is used to allow verification of logging
-# information. It works best when a template (as specified in the
-# rcsinfo file) is provided for the logging procedure. Given a
-# template with locations for, a bug-id number, a list of people who
-# reviewed the code before it can be checked in, and an external
-# process to catalog the differences that were code reviewed, the
-# following test can be applied to the code:
-#
-# Making sure that the entered bug-id number is correct.
-# Validating that the code that was reviewed is indeed the code being
-# checked in (using the bug-id number or a seperate review
-# number to identify this particular code set.).
-#
-# If any of the above test failed, then the commit would be aborted.
-#
-# Actions such as mailing a copy of the report to each reviewer are
-# better handled by an entry in the loginfo file.
-#
-# One thing that should be noted is the the ALL keyword is not
-# supported. There can be only one entry that matches a given
-# repository.
diff --git a/helm/DEVEL/.cvsignore b/helm/DEVEL/.cvsignore
deleted file mode 100644
index c1fcbc4ae..000000000
--- a/helm/DEVEL/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-*.cmo
-*.cmx
-*.cmi
-
-*.o
-*.a
-
diff --git a/helm/DEVEL/gdome_xslt/.cvsignore b/helm/DEVEL/gdome_xslt/.cvsignore
deleted file mode 100644
index 4d6980027..000000000
--- a/helm/DEVEL/gdome_xslt/.cvsignore
+++ /dev/null
@@ -1,14 +0,0 @@
-gdome2-xslt-cpp-smart.pc
-gdome2-xslt.pc
-autom4te.cache
-Makefile
-Makefile.in
-aclocal.m4
-config.h
-config.h.in
-config.log
-config.status
-configure
-libtool
-stamp-h
-stamp-h.in
diff --git a/helm/DEVEL/gdome_xslt/AUTHORS b/helm/DEVEL/gdome_xslt/AUTHORS
deleted file mode 100644
index 834817f9e..000000000
--- a/helm/DEVEL/gdome_xslt/AUTHORS
+++ /dev/null
@@ -1,3 +0,0 @@
-Claudio Sacerdoti Coen
-Stefano Zacchiroli
-Luca Padovani
diff --git a/helm/DEVEL/gdome_xslt/BUGS b/helm/DEVEL/gdome_xslt/BUGS
deleted file mode 100644
index e69de29bb..000000000
diff --git a/helm/DEVEL/gdome_xslt/C++/.cvsignore b/helm/DEVEL/gdome_xslt/C++/.cvsignore
deleted file mode 100644
index 282522db0..000000000
--- a/helm/DEVEL/gdome_xslt/C++/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/helm/DEVEL/gdome_xslt/C++/Makefile.am b/helm/DEVEL/gdome_xslt/C++/Makefile.am
deleted file mode 100644
index 30e2ce870..000000000
--- a/helm/DEVEL/gdome_xslt/C++/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-SUBDIRS = gdome_xslt test
diff --git a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/.cvsignore b/helm/DEVEL/gdome_xslt/C++/gdome_xslt/.cvsignore
deleted file mode 100644
index 051d1bd50..000000000
--- a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-Makefile
-Makefile.in
-.deps
diff --git a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLT.hh b/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLT.hh
deleted file mode 100644
index 97b8cc655..000000000
--- a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLT.hh
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#ifndef __GdomeSmartDOMXSLT_hh__
-#define __GdomeSmartDOMXSLT_hh__
-
-#include "GdomeSmartDOMXSLTStylesheet.hh"
-
-#endif // __GdomeSmartDOMXSLT_hh__
diff --git a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLTStylesheet.cc b/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLTStylesheet.cc
deleted file mode 100644
index 330f8724e..000000000
--- a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLTStylesheet.cc
+++ /dev/null
@@ -1,131 +0,0 @@
-// This file is part of a XSLT engine working on Gdome documents. In fact,
-// it just maps Gdome documents to libxml documents back and forth, and
-// applies the transformation on libxml documents using libxlt.
-//
-// Copyright (C) 2002: Luca Padovani
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// For more information, please send an email to lpadovan@cs.unibo.it
-
-#include "config.h"
-
-#include
-#include
-
-#include
-#include
-
-#include "GdomeSmartDOMXSLTStylesheet.hh"
-
-namespace GdomeSmartDOMExt {
-
- XSLTStylesheet::XSLTStylesheet(const Document& doc)
- {
- assert(doc);
- GdomeDocument* _doc = gdome_cast_doc(doc.gdome_object());
- assert(_doc);
- stylesheet = processStylesheet(_doc);
- GdomeException _exc = 0;
- gdome_doc_unref(_doc, &_exc);
- assert(_exc == 0);
- }
-
- XSLTStylesheet::~XSLTStylesheet()
- {
- if (stylesheet)
- {
- xsltFreeStylesheet(stylesheet);
- stylesheet = 0;
- }
- }
-
- Document
- XSLTStylesheet::apply(const Document& source) const
- {
- std::vector< std::pair > noParams;
- return apply(source, noParams);
- }
-
- Document
- XSLTStylesheet::apply(const Document& source, const std::vector< std::pair >& params) const
- {
- assert(source);
-
- char** _params = (char**) malloc(sizeof(char*) * (2 * params.size() + 1));
- for (unsigned i = 0; i < params.size(); i++)
- {
- std::string param = params[i].first;
- _params[2 * i] = strdup(param.c_str());
- std::string value = params[i].second;
- _params[2 * i + 1] = strdup(value.c_str());
- }
- _params[2 * params.size()] = 0;
-
- GdomeDocument* _source = gdome_cast_doc(source.gdome_object());
- assert(_source);
- GdomeDocument* _result = applyStylesheet(_source, stylesheet, const_cast(_params));
-
- GdomeException _exc = 0;
- gdome_doc_unref(_source, &_exc);
- assert(_exc == 0);
-
- for (unsigned i = 0; i < 2 * params.size(); i++) free(_params[i]);
- free(_params);
-
- Document result(_result);
- gdome_doc_unref(_result, &_exc);
- assert(_exc == 0);
-
- return result;
- }
-
- void
- XSLTStylesheet::save(const Document& doc, const std::string& filename) const
- {
- assert(doc);
- GdomeException _exc = 0;
- GdomeDocument* _doc = gdome_cast_doc(doc.gdome_object());
- assert(_doc);
- if (saveResultToFilename(filename.c_str(), _doc, stylesheet, 0) < 0) throw SaveException();
- gdome_doc_unref(_doc, &_exc);
- assert(_exc == 0);
- }
-
- void
- XSLTStylesheet::save(const Document& doc, FILE* f) const
- {
- assert(doc);
- GdomeException _exc = 0;
- GdomeDocument* _doc = gdome_cast_doc(doc.gdome_object());
- assert(_doc);
- if (saveResultToFile(f, _doc, stylesheet) < 0) throw SaveException();
- gdome_doc_unref(_doc, &_exc);
- assert(_exc == 0);
- }
-
- void
- XSLTStylesheet::save(const Document& doc, int fd) const
- {
- assert(doc);
- GdomeException _exc = 0;
- GdomeDocument* _doc = gdome_cast_doc(doc.gdome_object());
- assert(_doc);
- if (saveResultToFd(fd, _doc, stylesheet) < 0) throw SaveException();
- gdome_doc_unref(_doc, &_exc);
- assert(_exc == 0);
- }
-
-}
diff --git a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLTStylesheet.hh b/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLTStylesheet.hh
deleted file mode 100644
index 1757f39a3..000000000
--- a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLTStylesheet.hh
+++ /dev/null
@@ -1,59 +0,0 @@
-// This file is part of a XSLT engine working on Gdome documents. In fact,
-// it just maps Gdome documents to libxml documents back and forth, and
-// applies the transformation on libxml documents using libxlt.
-//
-// Copyright (C) 2002: Luca Padovani
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// For more information, please send an email to lpadovan@cs.unibo.it
-
-#ifndef __GdomeSmartDOMXSLTStylesheet_hh__
-#define __GdomeSmartDOMXSLTStylesheet_hh__
-
-#include
-#include
-#include
-
-#include "gdome_xslt.h"
-#include
-
-namespace GdomeSmartDOMExt {
-
- using namespace GdomeSmartDOM;
-
- class XSLTStylesheet
- {
- public:
- explicit XSLTStylesheet(const Document& doc);
- ~XSLTStylesheet();
-
- Document apply(const Document& source) const;
- Document apply(const Document& source, const std::vector< std::pair >& params) const;
- void save(const Document& result, const std::string& filename) const;
- void save(const Document& result, FILE* f) const;
- void save(const Document& result, int fd) const;
-
- class SaveException { };
-
- private:
- XSLTStylesheet(const XSLTStylesheet&);
-
- xsltStylesheet* stylesheet;
- };
-
-}
-
-#endif // __GdomeSmartDOMXSLTStylesheet_hh__
diff --git a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/Makefile.am b/helm/DEVEL/gdome_xslt/C++/gdome_xslt/Makefile.am
deleted file mode 100644
index 0e4b76e4e..000000000
--- a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/Makefile.am
+++ /dev/null
@@ -1,19 +0,0 @@
-
-lib_LTLIBRARIES = libgdome_xslt_cpp_smart.la
-
-libgdome_xslt_cpp_smart_la_LIBADD = $(top_builddir)/C/gdome_xslt/libgdome_xslt.la
-
-libgdome_xslt_cpp_smart_la_LDFLAGS = -version-info @VERSION_INFO@
-
-libgdome_xslt_cpp_smart_la_SOURCES = \
- GdomeSmartDOMXSLTStylesheet.cc
-
-pkginclude_HEADERS = \
- GdomeSmartDOMXSLTStylesheet.hh \
- GdomeSmartDOMXSLT.hh
-
-INCLUDES = \
- $(GMETADOM_CFLAGS) \
- $(LIBXSLT_CFLAGS) \
- -I$(top_srcdir) \
- -I$(top_srcdir)/C/gdome_xslt
diff --git a/helm/DEVEL/gdome_xslt/C++/test/.cvsignore b/helm/DEVEL/gdome_xslt/C++/test/.cvsignore
deleted file mode 100644
index 051d1bd50..000000000
--- a/helm/DEVEL/gdome_xslt/C++/test/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-Makefile
-Makefile.in
-.deps
diff --git a/helm/DEVEL/gdome_xslt/C++/test/Makefile.am b/helm/DEVEL/gdome_xslt/C++/test/Makefile.am
deleted file mode 100644
index 12a08d07a..000000000
--- a/helm/DEVEL/gdome_xslt/C++/test/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-
-noinst_PROGRAMS = test
-
-test_SOURCES = main.cc
-
-LDADDS = \
- $(GMETADOM_LIBS) \
- $(LIBXSLT_LIBS) \
- $(top_builddir)/C++/gdome_xslt/libgdome_xslt_cpp_smart.la
-
-test_LDADD = $(LDADDS)
-
-INCLUDES = \
- $(GMETADOM_CFLAGS) \
- $(LIBXSLT_CFLAGS) \
- -I$(top_srcdir)/C/gdome_xslt \
- -I$(top_srcdir)/C++/gdome_xslt
-
diff --git a/helm/DEVEL/gdome_xslt/C++/test/main.cc b/helm/DEVEL/gdome_xslt/C++/test/main.cc
deleted file mode 100644
index 0f5aa2d70..000000000
--- a/helm/DEVEL/gdome_xslt/C++/test/main.cc
+++ /dev/null
@@ -1,53 +0,0 @@
-/* This file is a test for the XSLT engine working on Gdome documents.
- *
- * Copyright (C) 2002 Claudio Sacerdoti Coen
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, please send an email to
- */
-
-#include
-#include
-#include "GdomeSmartDOMXSLT.hh"
-
-namespace DOM = GdomeSmartDOM;
-namespace DOMX = GdomeSmartDOMExt;
-
-#define OUTPUT_FILE "../../test_files/output.xml"
-#define CORRECT_OUTPUT_FILE "../../test_files/output.xml.correct"
-
-int
-main(void)
-{
- int bytes;
- DOM::DOMImplementation di;
- std::vector< std::pair > params;
-
- params.push_back(std::make_pair(DOM::GdomeString("parameter1"), DOM::GdomeString("'value1'")));
- params.push_back(std::make_pair(DOM::GdomeString("parameter2"), DOM::GdomeString("'value2'")));
- params.push_back(std::make_pair(DOM::GdomeString("parameter3"), DOM::GdomeString("'value3'")));
-
- DOM::Document input = di.createDocumentFromURI("../../test_files/input.xml");
- DOM::Document style = di.createDocumentFromURI("../../test_files/stylesheet.xsl");
-
- DOMX::XSLTStylesheet style_libxslt(style);
- DOM::Document output = style_libxslt.apply(input, params);
- style_libxslt.save(output, OUTPUT_FILE);
-
- std::cout << "The test was successful iff " << OUTPUT_FILE << " is equal to " << CORRECT_OUTPUT_FILE << std::endl;
-
- return 0;
-}
diff --git a/helm/DEVEL/gdome_xslt/C/.cvsignore b/helm/DEVEL/gdome_xslt/C/.cvsignore
deleted file mode 100644
index 282522db0..000000000
--- a/helm/DEVEL/gdome_xslt/C/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/helm/DEVEL/gdome_xslt/C/Makefile.am b/helm/DEVEL/gdome_xslt/C/Makefile.am
deleted file mode 100644
index 7424d618c..000000000
--- a/helm/DEVEL/gdome_xslt/C/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-
-SUBDIRS = gdome_xslt test
-
diff --git a/helm/DEVEL/gdome_xslt/C/gdome_xslt/.cvsignore b/helm/DEVEL/gdome_xslt/C/gdome_xslt/.cvsignore
deleted file mode 100644
index 572cf3ae5..000000000
--- a/helm/DEVEL/gdome_xslt/C/gdome_xslt/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-gdome_xslt.o
-Makefile
-Makefile.in
-.deps
diff --git a/helm/DEVEL/gdome_xslt/C/gdome_xslt/Makefile.am b/helm/DEVEL/gdome_xslt/C/gdome_xslt/Makefile.am
deleted file mode 100644
index b8e374ee3..000000000
--- a/helm/DEVEL/gdome_xslt/C/gdome_xslt/Makefile.am
+++ /dev/null
@@ -1,14 +0,0 @@
-
-lib_LTLIBRARIES = libgdome_xslt.la
-
-libgdome_xslt_la_LDFLAGS = -version-info @VERSION_INFO@
-
-libgdome_xslt_la_SOURCES = gdome_xslt.c
-
-pkginclude_HEADERS = gdome_xslt.h
-
-INCLUDES = \
- $(GDOME_CFLAGS) \
- $(LIBXSLT_CFLAGS) \
- -I$(top_srcdir)
-
diff --git a/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.c b/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.c
deleted file mode 100644
index 232f14b12..000000000
--- a/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.c
+++ /dev/null
@@ -1,239 +0,0 @@
-/* This file implements a XSLT engine working on Gdome documents. In fact,
- * it just maps Gdome documents to libxml documents back and forth, and
- * applyes the transformation on libxml documents using libxlt.
- *
- * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT
- * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT)
- *
- * Copyright (C) 2002:
- * Claudio Sacerdoti Coen
- * Stefano Zacchiroli
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, please send an email to {sacerdot,zack}@cs.unibo.it
- */
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include "gdome_xslt.h"
-
-// Begin of Gdome internals exposed
-typedef struct _Gdome_xml_Document Gdome_xml_Document;
-struct _Gdome_xml_Document {
- GdomeDocument super;
- const GdomeDocumentVtab* vtab;
- int refcnt;
- xmlDocPtr n;
- GdomeAccessType accessType;
-};
-
-GdomeNode* gdome_xml_n_mkref(xmlNode* n);
-// End of Gdome internals exposed
-
-// Begin of the abstraction of Gdome internals. Uses the Gdome internals exposed
-xmlDocPtr libxml_of_gdome(GdomeDocument* doc)
-{
- return ((Gdome_xml_Document*)doc)->n;
-}
-
-GdomeDocument* gdome_of_libxml(xmlDocPtr n)
-{
- return (GdomeDocument*)gdome_xml_n_mkref((xmlNode*)n);
-}
-// End of the abstraction of Gdome internals. Uses the Gdome internals exposed.
-
-
-
-// From now on no Gdome internal should be used directly.
-
- /******************************/
- /* XSLT stylesheet Processing */
- /******************************/
-
-xsltStylesheetPtr processStylesheet(GdomeDocument* style)
-{
- xmlDocPtr style_copy;
- xmlDocPtr style_libxml;
-
- if (style == NULL) {
- return NULL;
- }
- style_libxml = libxml_of_gdome(style);
- style_copy = xmlCopyDoc(style_libxml, 1);
- style_copy->URL = xmlStrdup(style_libxml->URL);
-
- xsltSetGenericDebugFunc(NULL, NULL);
-
- return xsltParseStylesheetDoc(style_copy);
-}
-
- /*******************************/
- /* XSLT stylesheet Application */
- /*******************************/
-
-GdomeDocument* applyStylesheet(GdomeDocument* source, xsltStylesheetPtr
- style_libxslt, const char** params)
-{
- xmlDocPtr source_libxml;
- xmlDocPtr output_libxml;
-
- if (source == NULL) return NULL;
- source_libxml = libxml_of_gdome(source);
-
- xsltSetGenericDebugFunc(NULL, NULL);
-
- output_libxml = xsltApplyStylesheet(style_libxslt, source_libxml,
- params);
-
- if (output_libxml == NULL) return NULL;
-
- return gdome_of_libxml(output_libxml);
-}
-
- /******************/
- /* Results Output */
- /******************/
-
-int saveResultToFilename (const char* name, GdomeDocument* result,
- xsltStylesheetPtr style_libxslt, int compression)
-{
- xmlDocPtr result_libxml;
-
- if (result == NULL) return -1;
- result_libxml = libxml_of_gdome(result);
-
- xsltSetGenericDebugFunc(NULL, NULL);
-
- return xsltSaveResultToFilename(name, result_libxml,
- style_libxslt, compression);
-}
-
-int saveResultToFile (FILE* file, GdomeDocument* result,
- xsltStylesheetPtr style_libxslt)
-{
- xmlDocPtr result_libxml;
-
- if (result == NULL) return -1;
- result_libxml = libxml_of_gdome(result);
-
- xsltSetGenericDebugFunc(NULL, NULL);
-
- return xsltSaveResultToFile(file, result_libxml, style_libxslt);
-}
-
-int saveResultToFd (int fd, GdomeDocument* result, xsltStylesheetPtr
- style_libxslt)
-{
- xmlDocPtr result_libxml;
-
- if (result == NULL) return -1;
- result_libxml = libxml_of_gdome(result);
-
- xsltSetGenericDebugFunc(NULL, NULL);
-
- return xsltSaveResultToFd(fd, result_libxml, style_libxslt);
-}
-
- /**********************************************/
- /* Error and Debugging Callbacks Registration */
- /**********************************************/
-
- /* max size of a single message passed to callbacks */
-#define MAX_MSG_SIZE 1024
-#define TRUNCATED_MSG "... TRUNCATED ..."
-#define TRUNCATED_MSG_LEN strlen(TRUNCATED_MSG)
-
- /* ERROR callbacks */
-
- /* user provided error callback, needs a string input */
-static gdomeXsltMsgCallback errorUserCallback = NULL;
-
- /* libxslt like error callback, ignore context, builds a string
- * input for user provided error callback and invoke it */
-void gdomeXsltErrorCallback (void *ctx, const char *msg, ...) {
- va_list args;
- char buf[MAX_MSG_SIZE];
-
- if (errorUserCallback == NULL)
- return;
-
- va_start(args, msg);
- if (vsnprintf(buf, MAX_MSG_SIZE, msg, args) > MAX_MSG_SIZE - 1)
- { /* message truncated; write TRUNCATED_MSG on it */
- strncpy(buf+(strlen(buf) - TRUNCATED_MSG_LEN),
- TRUNCATED_MSG, TRUNCATED_MSG_LEN);
- }
- va_end(args);
-
- (*errorUserCallback) (buf);
-
- return;
-}
-
- /* set user provided error callback */
-void setErrorCallback (gdomeXsltMsgCallback callback)
-{
- errorUserCallback = callback;
- xsltSetGenericErrorFunc(NULL,
- (callback == NULL ? NULL : gdomeXsltErrorCallback));
-
- return;
-}
-
- /* DEBUG callbacks */
-
- /* user provided debug callback, needs a string input */
-static gdomeXsltMsgCallback debugUserCallback = NULL;
-
- /* libxslt like debug callback, ignore context, builds a string
- * input for user provided debug callback and invoke it */
-void gdomeXsltDebugCallback (void *ctx, const char *msg, ...) {
- va_list args;
- char buf[MAX_MSG_SIZE];
-
- if (debugUserCallback == NULL)
- return;
-
- va_start(args, msg);
- if (vsnprintf(buf, MAX_MSG_SIZE, msg, args) > MAX_MSG_SIZE - 1)
- { /* message truncated; write TRUNCATED_MSG on it */
- strncpy(buf+(strlen(buf) - TRUNCATED_MSG_LEN),
- TRUNCATED_MSG, TRUNCATED_MSG_LEN);
- }
- va_end(args);
-
- (*debugUserCallback) (buf);
-
- return;
-}
-
- /* set user provided debug callback */
-void setDebugCallback (gdomeXsltMsgCallback callback)
-{
- debugUserCallback = callback;
- xsltSetGenericDebugFunc(NULL,
- (callback == NULL ? NULL : gdomeXsltDebugCallback));
-
- return;
-}
-
diff --git a/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.h b/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.h
deleted file mode 100644
index 383208770..000000000
--- a/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.h
+++ /dev/null
@@ -1,87 +0,0 @@
-
-/* This file implements a XSLT engine working on Gdome documents. In fact,
- * it just maps Gdome documents to libxml documents back and forth, and
- * applies the transformation on libxml documents using libxlt.
- *
- * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT
- * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT)
- *
- * Copyright (C) 2002:
- * Claudio Sacerdoti Coen
- * Stefano Zacchiroli
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, please send an email to {sacerdot,zack}@cs.unibo.it
- */
-
-#ifndef __gdome_xslt_h__
-#define __gdome_xslt_h__
-
-#include
-#include
-#include
-#include
-#include
-#include
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
- /******************************/
- /* XSLT stylesheet Processing */
- /******************************/
-
-xsltStylesheetPtr processStylesheet (GdomeDocument* style);
-
-
- /*******************************/
- /* XSLT stylesheet Application */
- /*******************************/
-
-GdomeDocument* applyStylesheet (GdomeDocument* source,
- xsltStylesheetPtr style_libxslt,
- const char** params);
-
- /******************/
- /* Results Output */
- /******************/
-
-int saveResultToFilename (const char* name,
- GdomeDocument* result,
- xsltStylesheetPtr style_libxslt,
- int compression);
-int saveResultToFile (FILE* file,
- GdomeDocument* result,
- xsltStylesheetPtr style_libxslt);
-int saveResultToFd (int fd,
- GdomeDocument* result,
- xsltStylesheetPtr style_libxslt);
-
- /**********************************************/
- /* Error and Debugging Callbacks Registration */
- /**********************************************/
-
-typedef void(*gdomeXsltMsgCallback)(const char *);
-
-void setErrorCallback (gdomeXsltMsgCallback callback);
-void setDebugCallback (gdomeXsltMsgCallback callback);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __gdome_xslt_h__ */
diff --git a/helm/DEVEL/gdome_xslt/C/test/.cvsignore b/helm/DEVEL/gdome_xslt/C/test/.cvsignore
deleted file mode 100644
index 87ed101b8..000000000
--- a/helm/DEVEL/gdome_xslt/C/test/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-test
-.deps
-Makefile
-Makefile.in
diff --git a/helm/DEVEL/gdome_xslt/C/test/Makefile.am b/helm/DEVEL/gdome_xslt/C/test/Makefile.am
deleted file mode 100644
index e17047c15..000000000
--- a/helm/DEVEL/gdome_xslt/C/test/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-
-noinst_PROGRAMS = test
-
-test_SOURCES = test.c
-
-LDADDS = \
- $(GDOME_LIBS) \
- $(LIBXSLT_LIBS) \
- $(top_builddir)/C/gdome_xslt/libgdome_xslt.la
-
-test_LDADD = $(LDADDS)
-
-INCLUDES = \
- $(GDOME_CFLAGS) \
- $(LIBXSLT_CFLAGS) \
- -I$(top_srcdir)/C/gdome_xslt
-
diff --git a/helm/DEVEL/gdome_xslt/C/test/test.c b/helm/DEVEL/gdome_xslt/C/test/test.c
deleted file mode 100644
index 2f39ba87a..000000000
--- a/helm/DEVEL/gdome_xslt/C/test/test.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/* This file is a test for the XSLT engine working on Gdome documents.
- *
- * Copyright (C) 2002 Claudio Sacerdoti Coen
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, please send an email to
- */
-
-#include
-#include
-#include
-#include
-#include
-
-#include "gdome_xslt.h"
-
-#define OUTPUT_FILE "../../test_files/output.xml"
-#define CORRECT_OUTPUT_FILE "../../test_files/output.xml.correct"
-
-GdomeDocument* loadDocument(GdomeDOMImplementation *domimpl, char *uri)
-{
- GdomeDocument *doc;
- GdomeException exc;
-
- doc = gdome_di_createDocFromURI(domimpl, uri, GDOME_LOAD_PARSING, &exc);
- if (doc == NULL) {
- fprintf (stderr,
- "DOMImplementation.createDocFromURI: failed\n\tException #%d\n",
- exc);
- }
-
- return doc;
-}
-
-/* // old version: use gdome serialization
-int saveDocument(GdomeDOMImplementation *domimpl, GdomeDocument* doc, char *uri)
-{
- GdomeException exc;
-
- if (!gdome_di_saveDocToFile (domimpl, doc, uri, GDOME_SAVE_STANDARD, &exc)) {
- fprintf (stderr,
- "DOMImplementation.saveDocToFile: failed\n\tException #%d\n",
- exc);
- return 0;
- }
-
- return 1;
-}
-*/
-
- /* new version, use libxslt serialization */
-int saveDocument(char* fname, GdomeDocument* result, xsltStylesheetPtr style) {
- return saveResultToFilename(fname, result, style, 0);
-}
-
-int main(void)
-{
- int bytes;
- GdomeDOMImplementation *domimpl;
- GdomeDocument *input;
- GdomeDocument *style;
- xsltStylesheetPtr style_libxslt;
- GdomeDocument *output;
- GdomeException exc;
- const char* params[] = {"parameter1", "'value1'",
- "parameter2", "'value2'",
- "parameter3", "'value3'",
- NULL};
-
- domimpl = gdome_di_mkref();
-
- if (!(input = loadDocument(domimpl, "../../test_files/input.xml"))) return 1;
- if (!(style = loadDocument(domimpl, "../../test_files/stylesheet.xsl"))) return 1;
-
- style_libxslt = processStylesheet(style);
-
- output = applyStylesheet(input, style_libxslt, params);
-
-/* if (!(saveDocument(domimpl, output, "../../test_files/output.xml"))) return 1; */
- bytes = saveDocument("../../test_files/output.xml", output, style_libxslt);
-
- xsltFreeStylesheet(style_libxslt);
- gdome_di_freeDoc (domimpl, input, &exc);
- gdome_di_freeDoc (domimpl, style, &exc);
- gdome_di_freeDoc (domimpl, output, &exc);
- gdome_di_unref (domimpl, &exc);
-
- printf("The test was successful iff %s is equal to %s\n",
- OUTPUT_FILE,
- CORRECT_OUTPUT_FILE);
-
- return 0;
-}
diff --git a/helm/DEVEL/gdome_xslt/ChangeLog b/helm/DEVEL/gdome_xslt/ChangeLog
deleted file mode 100644
index e69de29bb..000000000
diff --git a/helm/DEVEL/gdome_xslt/LICENSE b/helm/DEVEL/gdome_xslt/LICENSE
deleted file mode 100644
index cf9b6b997..000000000
--- a/helm/DEVEL/gdome_xslt/LICENSE
+++ /dev/null
@@ -1,510 +0,0 @@
-
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations
-below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-^L
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it
-becomes a de-facto standard. To achieve this, non-free programs must
-be allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-^L
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control
-compilation and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-^L
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-^L
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at least
- three years, to give the same user the materials specified in
- Subsection 6a, above, for a charge no more than the cost of
- performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-^L
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-^L
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply, and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License
-may add an explicit geographical distribution limitation excluding those
-countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-^L
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-^L
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms
-of the ordinary General Public License).
-
- To apply these terms, attach the following notices to the library.
-It is safest to attach them to the start of each source file to most
-effectively convey the exclusion of warranty; and each file should
-have at least the "copyright" line and a pointer to where the full
-notice is found.
-
-
-
- Copyright (C)
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or
-your school, if any, to sign a "copyright disclaimer" for the library,
-if necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James
- Random Hacker.
-
- , 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/helm/DEVEL/gdome_xslt/LICENSE-INRIA b/helm/DEVEL/gdome_xslt/LICENSE-INRIA
deleted file mode 100644
index 0fcaa957d..000000000
--- a/helm/DEVEL/gdome_xslt/LICENSE-INRIA
+++ /dev/null
@@ -1,13 +0,0 @@
-As a special exception to the GNU Library General Public License, you
-may link, statically or dynamically, a "work that uses the Library"
-with a publicly distributed version of the Library to produce an
-executable file containing portions of the Library, and distribute
-that executable file under terms of your choice, without any of the
-additional requirements listed in clause 6 of the GNU Library General
-Public License. By "a publicly distributed version of the Library",
-we mean either the unmodified Library as distributed by INRIA, or a
-modified version of the Library that is distributed under the
-conditions defined in clause 3 of the GNU Library General Public
-License. This exception does not however invalidate any other reasons
-why the executable file might be covered by the GNU Library General
-Public License.
diff --git a/helm/DEVEL/gdome_xslt/Makefile.am b/helm/DEVEL/gdome_xslt/Makefile.am
deleted file mode 100644
index 5c36bb5ff..000000000
--- a/helm/DEVEL/gdome_xslt/Makefile.am
+++ /dev/null
@@ -1,16 +0,0 @@
-DISTDIR = @PACKAGE@-@VERSION@
-
-EXTRA_DIST = BUGS LICENSE aclocal.m4 debian/ gdome2-xslt.pc.in gdome2-xslt-cpp-smart.pc.in
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = gdome2-xslt.pc gdome2-xslt-cpp-smart.pc
-
-## SUBDIRS = C C++ test_files
-SUBDIRS = C C++ ocaml test_files
-
-deb: dist
- if [ -d $(DISTDIR)/ ]; then rm -rf $(DISTDIR); else true; fi
- tar xvzf $(DISTDIR).tar.gz
- (cd $(DISTDIR)/ && debuild)
- rm -rf $(DISTDIR)
-
diff --git a/helm/DEVEL/gdome_xslt/NEWS b/helm/DEVEL/gdome_xslt/NEWS
deleted file mode 100644
index e69de29bb..000000000
diff --git a/helm/DEVEL/gdome_xslt/README b/helm/DEVEL/gdome_xslt/README
deleted file mode 100644
index e69de29bb..000000000
diff --git a/helm/DEVEL/gdome_xslt/configure.ac b/helm/DEVEL/gdome_xslt/configure.ac
deleted file mode 100644
index b8c3b7f29..000000000
--- a/helm/DEVEL/gdome_xslt/configure.ac
+++ /dev/null
@@ -1,107 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_INIT
-AC_CONFIG_SRCDIR([C/gdome_xslt/gdome_xslt.h])
-
-PACKAGE=gdome2-xslt
-VERSION=0.0.6
-VERSION_INFO=`echo $VERSION | awk -F. '{ printf "%d:%d:%d", $1+$2, $3, $2 }'`
-AC_SUBST(VERSION_INFO)
-
-AC_PROG_CC
-AC_PROG_CXX
-AC_PROG_INSTALL
-
-AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
-AM_PROG_LIBTOOL
-
-PKG_CHECK_MODULES(GDOME, gdome2 >= 0.7.0,, AC_MSG_ERROR(could not find Gdome2))
-AC_SUBST(GDOME_CFLAGS)
-AC_SUBST(GDOME_LIBS)
-
-PKG_CHECK_MODULES(GMETADOM, gdome2-cpp-smart >= 0.1.8,, AC_MSG_ERROR(could not find GMetaDOM))
-AC_SUBST(GMETADOM_CFLAGS)
-AC_SUBST(GMETADOM_LIBS)
-
-PKG_CHECK_MODULES(LIBXSLT, libxslt,, AC_MSG_ERROR(could not find libxslt))
-AC_SUBST(LIBXSLT_CFLAGS)
-AC_SUBST(LIBXSLT_LIBS)
-
-AC_CHECK_PROG(HAVE_OCAMLC, ocamlc, yes, no)
-if test $HAVE_OCAMLC = "no"; then
- AC_MSG_ERROR(could not find ocamlc in PATH, please make sure ocaml is installed)
-else
- OCAMLC=ocamlc
- OCAMLSTDLIBDIR="`ocamlc -where`"
- OCAMLSTUBDIR="`ocamlc -where`/stublibs"
- AC_SUBST(OCAMLC)
- AC_SUBST(OCAMLSTDLIBDIR)
- AC_SUBST(OCAMLSTUBDIR)
-fi
-
-AC_CHECK_PROG(HAVE_OCAMLOPT, ocamlopt, yes, no)
-if test $HAVE_OCAMLOPT = "no"; then
- AC_MSG_WARN(ocaml native libraries won't be compiled since ocamlopt was not found)
-else
- OCAMLOPT=ocamlopt
- AC_SUBST(OCAMLOPT)
-fi
-AM_CONDITIONAL(HAVE_OCAMLOPT_COND, test x$HAVE_OCAMLOPT = xyes)
-
-AC_CHECK_PROG(HAVE_OCAMLFIND, ocamlfind, yes, no)
-if test $HAVE_OCAMLFIND = "no"; then
- AC_MSG_ERROR(could not find ocamlfind in PATH, please make sure findlib is installed)
-else
- OCAMLFIND=ocamlfind
- AC_SUBST(OCAMLFIND)
-fi
-
-AC_CHECK_PROG(HAVE_OCAMLDEP, ocamldep, yes, no)
-if test $HAVE_OCAMLDEP = "yes"; then
- OCAMLDEP=ocamldep
- AC_SUBST(OCAMLDEP)
-fi
-
-AC_CHECK_PROG(HAVE_OCAMLMKLIB, ocamlmklib, yes, no)
-if test $HAVE_OCAMLMKLIB = "no"; then
- AC_MSG_ERROR(could not find ocamlmklib in PATH, please make sure ocamlmklib is installed)
-else
- OCAMLMKLIB=ocamlmklib
- AC_SUBST(OCAMLMKLIB)
-fi
-
-AC_MSG_CHECKING(for gdome2 ocaml binding)
-ocamlfind query gdome2 ||
- AC_MSG_ERROR(gdome2 not installed (according to findlib))
-MLGDOME_CFLAGS="`$OCAMLFIND query -i-format gdome2`"
-AC_SUBST(MLGDOME_CFLAGS)
-
-AC_MSG_CHECKING(for the ocaml library dir)
-OCAML_LIB_DIR=`ocamlc -where`
-AC_MSG_RESULT($OCAML_LIB_DIR)
-
-AC_CHECK_FILE(/usr/include/caml/mlvalues.h,
- OCAML_INCLUDE_DIR=/usr/include/caml,
- OCAML_INCLUDE_DIR=$OCAML_LIB_DIR/caml
-)
-
-AC_SUBST(PACKAGE)
-AC_SUBST(VERSION)
-AC_SUBST(OCAML_INCLUDE_DIR)
-
-AC_CONFIG_FILES([
- Makefile
- C/Makefile
- C/gdome_xslt/Makefile
- C/test/Makefile
- C++/gdome_xslt/Makefile
- C++/test/Makefile
- C++/Makefile
- ocaml/Makefile
- ocaml/gdome_xslt/Makefile
- ocaml/gdome_xslt/META
- ocaml/test/Makefile
- gdome2-xslt.pc
- gdome2-xslt-cpp-smart.pc
- test_files/Makefile])
-AC_OUTPUT
diff --git a/helm/DEVEL/gdome_xslt/debian/changelog b/helm/DEVEL/gdome_xslt/debian/changelog
deleted file mode 100644
index 7529e87ad..000000000
--- a/helm/DEVEL/gdome_xslt/debian/changelog
+++ /dev/null
@@ -1,168 +0,0 @@
-gdome2-xslt (0.0.6-4) unstable; urgency=low
-
- * rebuilt with ocaml 3.08
- * debian/control
- - bumped ocaml deps to 3.08
- - bumped standards-version to 3.6.1.1
- - changed ocaml deps to ocaml-nox
- - bumped gmetadom (ocaml part) versions to >= 0.2.1-3 (first version
- rebuilt with ocaml 3.08)
-
- -- Stefano Zacchiroli Mon, 26 Jul 2004 16:47:13 +0200
-
-gdome2-xslt (0.0.6-3) unstable; urgency=high
-
- * ocaml/gdome_xslt/Makefile.am
- - use .o PIC objects from .libs directory
- (should fix build failure on hppa)
- * debian/control
- - versione build dep on findlib to >= 0.8-5
-
- -- Stefano Zacchiroli Tue, 21 Oct 2003 14:43:09 +0200
-
-gdome2-xslt (0.0.6-2) unstable; urgency=low
-
- * Rebuilt against gmetadom 0.2.1, gdome2 0.8.1 (should link against glib2)
-
- -- Stefano Zacchiroli Fri, 10 Oct 2003 09:38:27 +0200
-
-gdome2-xslt (0.0.6-1) unstable; urgency=low
-
- * ocaml binding
- - wrapped XSLT stylesheet application in a blocking section so that
- it can be interrupted by ocaml exceptions, signals, ...
- * restructured/cleaned up Makefiles
-
- -- Stefano Zacchiroli Sat, 4 Oct 2003 17:09:37 +0200
-
-gdome2-xslt (0.0.4-9) unstable; urgency=low
-
- * Rebuilt with ocaml 3.07
-
- -- Stefano Zacchiroli Wed, 1 Oct 2003 14:18:19 +0200
-
-gdome2-xslt (0.0.4-8) unstable; urgency=low
-
- * Rebuilt with ocaml 3.07beta2
-
- -- Stefano Zacchiroli Mon, 22 Sep 2003 18:26:04 +0200
-
-gdome2-xslt (0.0.4-7) unstable; urgency=low
-
- * rebuilt against gmetadom 0.1.10-3
- * debian/control
- - strictly depends on gmetadom >= 0.1.10-3 (older version are buggy
- on mips)
-
- -- Stefano Zacchiroli Mon, 14 Jul 2003 11:16:59 +0200
-
-gdome2-xslt (0.0.4-6) unstable; urgency=low
-
- * debian/control
- - bumped gmetadom dependencies to >= 0.1.10-2 (to ensure that .pc
- is available)
-
- -- Stefano Zacchiroli Tue, 1 Jul 2003 10:14:14 +0200
-
-gdome2-xslt (0.0.4-5) unstable; urgency=low
-
- * rebuilt using gmetadom 0.1.9
- * debian/control
- - added build-dep on pkg-config
- - bumped dependencies on gmetadom to 0.1.9
- - bumped standards-version to 3.5.10
- - changed section of -dev packages to libdevel
- - added ${misc:Depends}
- * debian/rules
- - removed DH_COMPAT in favour of debian/compat
- - removed dh_movefiles in favour of dh_install
- - cosmetic changes
-
- -- Stefano Zacchiroli Thu, 19 Jun 2003 17:05:47 +0200
-
-gdome2-xslt (0.0.4-4) unstable; urgency=low
-
- * Bugfix: ships also -config script
- * Bumped Standards-Version to 3.5.9
-
- -- Stefano Zacchiroli Thu, 20 Mar 2003 20:45:27 +0100
-
-gdome2-xslt (0.0.4-3) unstable; urgency=low
-
- * Implemented "high" level functions to set handlers for libxslt error and
- debugging messages: setErrorCallback, setDebugCallback (C flavour)
- * Implemented binding for the above functions (OCaml flavour)
- * Bugfix: installs also i_gdome_xslt.ml, gdome_xslt_init.o
-
- -- Stefano Zacchiroli Thu, 13 Mar 2003 18:07:22 +0100
-
-gdome2-xslt (0.0.4-2) unstable; urgency=low
-
- * Bugfix: installs also i_gdome_xslt.cmi
-
- -- Stefano Zacchiroli Wed, 12 Mar 2003 18:28:27 +0100
-
-gdome2-xslt (0.0.4-1) unstable; urgency=low
-
- * New release
- * Added a new interface for apply method which requires no arguments
- * Bumped gmetadom dependencies to 0.1.6
- * Removed << dependencies on gmetadom
- * Bumpetd gdome2 version to 0.7.4
-
- -- Stefano Zacchiroli Mon, 10 Mar 2003 17:50:42 +0100
-
-gdome2-xslt (0.0.3-3) unstable; urgency=low
-
- * No longer use virtual dependencies on other ocaml libraries, reverted to
- >=/<< dependencies approach
- * Bumped dependencies on gmetadom to version 0.1.5
-
- -- Stefano Zacchiroli Fri, 24 Jan 2003 13:10:22 +0100
-
-gdome2-xslt (0.0.3-2) unstable; urgency=low
-
- * Use versioned ocaml standard library directory
- * Changed deps and build-deps to ocaml-3.06-1
- * Source named changed to gdome2-xslt
- * Moved OCaml .so stub in /stublibs
- * Moved ocaml stuff in /usr/lib/ocaml/3.06
- * Ship also C and C++ flavours
- * Added dep from libgdome2-xslt-ocaml to libgdome2-ocaml
- * Added dep from libgdome2-xslt-ocaml-dev to libgdome2-ocaml-dev-0.1.4
- * Added build-dep to libgdome2-cpp-smart-dev
- * Provided a better Description
- * Bumped Standards-Version to 3.5.8
- * Better test for ocamlopt existence
-
- -- Stefano Zacchiroli Sun, 8 Dec 2002 16:09:56 +0100
-
-libxslt-ocaml (0.0.2-1) unstable; urgency=low
-
- * Added serialization functions
-
- -- Stefano Zacchiroli Thu, 28 Nov 2002 17:59:29 +0100
-
-libxslt-ocaml (0.0.1-3) unstable; urgency=low
-
- * Rebuilt with ocaml 3.06 (Closes: Bug#158225, Bug#158217)
- * Upgraded Standards-Version to 3.5.6
- * Switched deps and build-deps to ocaml-3.06 and ocaml-base-3.06
- * Switched to debhelper 4
-
- -- Stefano Zacchiroli Wed, 28 Aug 2002 11:09:04 +0200
-
-libxslt-ocaml (0.0.1-2) unstable; urgency=low
-
- * Added -fPIC option when compiled some .o in order to succesfully build
- also on HPPA (Closes: Bug#142485).
- * Renamed binary packages to libgdome2-xslt-ocaml and -dev.
-
- -- Stefano Zacchiroli Fri, 12 Apr 2002 14:55:57 +0200
-
-libxslt-ocaml (0.0.1-1) unstable; urgency=low
-
- * Initial Release.
-
- -- Stefano Zacchiroli Sat, 6 Apr 2002 13:00:49 +0200
-
diff --git a/helm/DEVEL/gdome_xslt/debian/compat b/helm/DEVEL/gdome_xslt/debian/compat
deleted file mode 100644
index b8626c4cf..000000000
--- a/helm/DEVEL/gdome_xslt/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-4
diff --git a/helm/DEVEL/gdome_xslt/debian/control b/helm/DEVEL/gdome_xslt/debian/control
deleted file mode 100644
index 1127ee95b..000000000
--- a/helm/DEVEL/gdome_xslt/debian/control
+++ /dev/null
@@ -1,56 +0,0 @@
-Source: gdome2-xslt
-Section: devel
-Priority: optional
-Maintainer: Stefano Zacchiroli
-Build-Depends: debhelper (>> 4.0.0), ocaml-nox-3.08, ocaml-findlib (>= 0.8-5), libgdome2-ocaml-dev (>= 0.2.1-3), libgdome2-dev (>= 0.8.1), libxslt1-dev, libgdome2-cpp-smart-dev (>= 0.2.1), pkg-config
-Standards-Version: 3.6.1.1
-
-Package: libgdome2-xslt0
-Section: libs
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: Minimal XSLT processor working on GDome2 documents
- gdome2-xslt is a very small C library that implements a minimal
- XSLT processor that can be used to apply XSLT stylesheets to
- gdome2 documents.
- .
- This package includes shared libraries for the C implementation
- and for the C++ bindings.
-
-Package: libgdome2-xslt-dev
-Section: libdevel
-Architecture: any
-Depends: libgdome2-xslt0 (= ${Source-Version}), libxslt1-dev, libgdome2-dev (>= 0.8.1), libgdome2-cpp-smart-dev (>= 0.2.1), ${misc:Depends}
-Description: Minimal XSLT processor working on GDome2 documents
- gdome2-xslt is a very small C library that implements a minimal
- XSLT processor that can be used to apply XSLT stylesheets to
- gdome2 documents.
- .
- This package includes development support files for the C
- library and for its C++ bindings.
-
-Package: libgdome2-xslt-ocaml
-Architecture: any
-Depends: ocaml-base-3.08, libgdome2-ocaml (>= 0.2.1), ${shlibs:Depends}, ${misc:Depends}
-Description: OCaml bindings for a minimal GDome2 based XSLT processor
- gdome2-xslt is a very small C library that implements a minimal
- XSLT processor that can be used to apply XSLT stylesheets to
- gdome2 documents.
- .
- This package ships the OCaml language bindings for gdome2-xslt.
- .
- This package contains only the OCaml shared runtime stub libraries.
-
-Package: libgdome2-xslt-ocaml-dev
-Architecture: any
-Section: libdevel
-Depends: ocaml-nox-3.08, libgdome2-xslt-ocaml (= ${Source-Version}), libgdome2-ocaml-dev (>= 0.2.1-3), libxslt1-dev, libgdome2-dev (>= 0.8.1), ${misc:Depends}
-Description: OCaml bindings for a minimal GDome2 based XSLT processor
- gdome2-xslt is a very small C library that implements a minimal
- XSLT processor that can be used to apply XSLT stylesheets to
- gdome2 documents.
- .
- This package ships the OCaml language bindings for gdome2-xslt.
- .
- This package contains OCaml development stuff for gdome2-xslt.
-
diff --git a/helm/DEVEL/gdome_xslt/debian/copyright b/helm/DEVEL/gdome_xslt/debian/copyright
deleted file mode 100644
index 5cafed7bd..000000000
--- a/helm/DEVEL/gdome_xslt/debian/copyright
+++ /dev/null
@@ -1,18 +0,0 @@
-This package was debianized by Stefano Zacchiroli on
-Sat, 6 Apr 2002 13:00:49 +0200.
-
-It was exported from the HELM CVS which is accesible using ViewCVS from:
- http://www.cs.unibo.it/helm/
-
-Upstream Author:
- Claudio Sacerdoti Coen
-
-Copyright:
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- On a Debian GNU/Linux system, the LGPL can be found as
- /usr/share/common-licenses/LGPL-2.1.
diff --git a/helm/DEVEL/gdome_xslt/debian/docs b/helm/DEVEL/gdome_xslt/debian/docs
deleted file mode 100644
index e69de29bb..000000000
diff --git a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-dev.examples b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-dev.examples
deleted file mode 100644
index 23610114a..000000000
--- a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-dev.examples
+++ /dev/null
@@ -1,2 +0,0 @@
-ocaml/test/test.ml
-test_files/*
diff --git a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-dev.install b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-dev.install
deleted file mode 100644
index c40374691..000000000
--- a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-dev.install
+++ /dev/null
@@ -1,5 +0,0 @@
-usr/include/
-usr/lib/*.a
-usr/lib/*.la
-usr/lib/*.so
-usr/lib/pkgconfig/
diff --git a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.dirs b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.dirs
deleted file mode 100644
index f552f091a..000000000
--- a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/ocaml/3.08
diff --git a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.examples b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.examples
deleted file mode 100644
index 354012c11..000000000
--- a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.examples
+++ /dev/null
@@ -1,3 +0,0 @@
-C/test/test.c
-C++/test/main.cc
-test_files/*
diff --git a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.install b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.install
deleted file mode 100644
index b436f8375..000000000
--- a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.install
+++ /dev/null
@@ -1,3 +0,0 @@
-usr/lib/ocaml/3.08/stublibs/*.owner
-usr/lib/ocaml/3.08/stublibs/lib*.so
-usr/lib/ocaml/3.08/gdome2-xslt/
diff --git a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml.dirs b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml.dirs
deleted file mode 100644
index f552f091a..000000000
--- a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/ocaml/3.08
diff --git a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml.install b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml.install
deleted file mode 100644
index 91bd7c8a0..000000000
--- a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/ocaml/3.08/stublibs/dll*.so
diff --git a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt0.install b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt0.install
deleted file mode 100644
index 093956b17..000000000
--- a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt0.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/*.so.*
diff --git a/helm/DEVEL/gdome_xslt/debian/rules b/helm/DEVEL/gdome_xslt/debian/rules
deleted file mode 100755
index 6479a0b90..000000000
--- a/helm/DEVEL/gdome_xslt/debian/rules
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/make -f
-# Sample debian/rules that uses debhelper.
-# GNU copyright 1997 to 1999 by Joey Hess.
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-TARGETDIR = debian/libgdome2-xslt-ocaml-dev
-SHARED_LIB_PKG = libgdome2-xslt0
-
-configure: configure-stamp
-configure-stamp:
- dh_testdir
- ./configure --prefix=/usr
- touch configure-stamp
-
-build: build-stamp
-build-stamp: configure-stamp
- dh_testdir
- $(MAKE)
- touch build-stamp
-
-clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp configure-stamp
- -$(MAKE) clean
- dh_clean
-
-install: build
- dh_testdir
- dh_testroot
- dh_clean -k
- dh_installdirs -s
- $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
- dh_install --sourcedir=debian/tmp
-
-binary-arch: build install
- dh_testdir
- dh_testroot
- dh_installdocs -s
- dh_installexamples -s
- dh_installman -s
- dh_installinfo -s
- dh_installchangelogs -s
- dh_link -s
- dh_strip -s
- dh_compress -s
- dh_fixperms -s
- dh_makeshlibs -p $(SHARED_LIB_PKG)
- dh_installdeb -s
- dh_shlibdeps -s
- dh_gencontrol -s
- dh_md5sums -s
- dh_builddeb -s
-
-binary: binary-arch
-.PHONY: build clean binary-arch binary install configure
diff --git a/helm/DEVEL/gdome_xslt/gdome2-xslt-cpp-smart.pc.in b/helm/DEVEL/gdome_xslt/gdome2-xslt-cpp-smart.pc.in
deleted file mode 100644
index 0046f27e7..000000000
--- a/helm/DEVEL/gdome_xslt/gdome2-xslt-cpp-smart.pc.in
+++ /dev/null
@@ -1,14 +0,0 @@
-# This is a comment
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-datadir=@datadir@
-
-Name: Gdome2/XSLT C++ Binding
-Description: API for applying XSLT stylesheets to Gdome2 documents
-Version: @VERSION@
-Requires: gdome2 libxslt
-Libs: @LIBXSLT_LIBS@ -L${libdir} -lgdome_xslt_cpp_smart
-Cflags: @LIBXSLT_CFLAGS@ -I${includedir}/@PACKAGE@
-
diff --git a/helm/DEVEL/gdome_xslt/gdome2-xslt.pc.in b/helm/DEVEL/gdome_xslt/gdome2-xslt.pc.in
deleted file mode 100644
index 88df34a8d..000000000
--- a/helm/DEVEL/gdome_xslt/gdome2-xslt.pc.in
+++ /dev/null
@@ -1,14 +0,0 @@
-# This is a comment
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-datadir=@datadir@
-
-Name: Gdome2/XSLT C Binding
-Description: API for applying XSLT stylesheets to Gdome2 documents
-Version: @VERSION@
-Requires: gdome2 libxslt
-Libs: @LIBXSLT_LIBS@ -L${libdir} -lgdome_xslt
-Cflags: @LIBXSLT_CFLAGS@ -I${includedir}/@PACKAGE@
-
diff --git a/helm/DEVEL/gdome_xslt/ocaml/.cvsignore b/helm/DEVEL/gdome_xslt/ocaml/.cvsignore
deleted file mode 100644
index 282522db0..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/helm/DEVEL/gdome_xslt/ocaml/Makefile.am b/helm/DEVEL/gdome_xslt/ocaml/Makefile.am
deleted file mode 100644
index 30e2ce870..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-SUBDIRS = gdome_xslt test
diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/.cvsignore b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/.cvsignore
deleted file mode 100644
index 68ade6c12..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/.cvsignore
+++ /dev/null
@@ -1,23 +0,0 @@
-META
-Makefile
-Makefile.in
-config.cache
-config.log
-config.status
-configure
-gdome2-xslt.cma
-gdome_xslt.cmi
-gdome_xslt.cmo
-gdome_xslt.cmx
-gdome2-xslt.cmxa
-gdome_xslt.o
-gdome_xslt_init.cmi
-gdome_xslt_init.cmo
-gdome_xslt_init.cmx
-gdome_xslt_init.o
-i_gdome_xslt.cmi
-i_gdome_xslt.cmo
-i_gdome_xslt.cmx
-i_gdome_xslt.o
-ml_gdome_xslt.o
-.deps
diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/.depend b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/.depend
deleted file mode 100644
index 519df4ba6..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/.depend
+++ /dev/null
@@ -1,5 +0,0 @@
-gdome_xslt.cmo: i_gdome_xslt.cmo gdome_xslt.cmi
-gdome_xslt.cmx: i_gdome_xslt.cmx gdome_xslt.cmi
-gdome_xslt_init.cmo: i_gdome_xslt.cmo gdome_xslt_init.cmi
-gdome_xslt_init.cmx: i_gdome_xslt.cmx gdome_xslt_init.cmi
-gdome_xslt.cmi: i_gdome_xslt.cmo
diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/META.in b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/META.in
deleted file mode 100644
index e5c9b19a1..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/META.in
+++ /dev/null
@@ -1,4 +0,0 @@
-requires="gdome2"
-version="@VERSION@"
-archive(byte)="mlgdome2-xslt.cma gdome_xslt_init.cmo"
-archive(native)="mlgdome2-xslt.cmxa gdome_xslt_init.cmx"
diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/Makefile.am b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/Makefile.am
deleted file mode 100644
index 6fa7a7f96..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/Makefile.am
+++ /dev/null
@@ -1,127 +0,0 @@
-
-ARCHIVE = mlgdome2-xslt
-PKGNAME = gdome2-xslt
-OCAMLINSTALLDIR = $(DESTDIR)$(OCAMLSTDLIBDIR)/$(PKGNAME)
-STUBSDIR = $(DESTDIR)$(OCAMLSTUBDIR)
-OCAMLFLAGS = -I +gdome2
-OCAMLC = @OCAMLC@ ${OCAMLFLAGS}
-OCAMLOPT = @OCAMLOPT@ ${OCAMLFLAGS}
-OCAMLDEP = @OCAMLDEP@
-OCAML_CFLAGS = @OCAML_CFLAGS@
-OCAMLFIND = @OCAMLFIND@
-OCAMLMKLIB = ocamlmklib
-DLL = dll$(ARCHIVE).so
-
-BUILT_SOURCES = x_gdome_xslt.c
-
-CLEANFILES = \
- $(ARCHIVE).cma $(ARCHIVE).cmxa $(ARCHIVE).a lib$(ARCHIVE).a $(DLL) \
- *.cmo *.cmx *.cmi
-
-EXTRA_DIST = \
- META.in .depend \
- gdome_xslt.ml gdome_xslt.mli gdome_xslt_init.ml gdome_xslt_init.mli \
- i_gdome_xslt.ml \
- ocaml-io.h
-
-if HAVE_OCAMLOPT_COND
-noinst_DATA = \
- $(ARCHIVE).cma $(DLL) $(ARCHIVE).cmxa $(ARCHIVE).a lib$(ARCHIVE).a \
- gdome_xslt_init.cmo gdome_xslt_init.cmx
-else
-noinst_DATA = \
- $(ARCHIVE).cma $(DLL) gdome_xslt_init.cmo lib$(ARCHIVE).a
-endif
-
-noinst_LTLIBRARIES = libmlgdome2-xslt.la
-C_SRC = ml_gdome_xslt.c x_gdome_xslt.c
-libmlgdome2_xslt_la_SOURCES = $(C_SRC)
-
-O_S = $(C_SRC:%.c=.libs/%.o)
-LO_S = $(O_S:%.o=%.lo)
-CMA_DEPS = i_gdome_xslt.cmo gdome_xslt.cmo
-CMXA_DEPS = $(CMA_DEPS:%.cmo=%.cmx)
-SHARED_LIBS = $(LIBXSLT_LIBS) $(GDOME_LIBS) -lmlgdome
-
-x_gdome_xslt.c: $(top_srcdir)/C/gdome_xslt/gdome_xslt.c
- cp $< $@
-
-$(ARCHIVE).cma: $(CMA_DEPS)
- $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(CMA_DEPS) $(SHARED_LIBS)
-
-$(ARCHIVE).cmxa: $(CMXA_DEPS)
- $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(CMXA_DEPS) $(SHARED_LIBS)
-
-# $(DLL) lib$(ARCHIVE).a: $(LO_S)
-# # use .lo for ocamlmklib
-# for f in $(LO_S); do \
-# cp $$f $$f.o; \
-# done
-# $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(LO_S:%=%.o) $(SHARED_LIBS)
-# for f in $(LO_S:%=%.o); do \
-# rm $$f; \
-# done
-#
-$(DLL) lib$(ARCHIVE).a: $(O_S)
- $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(O_S) $(SHARED_LIBS)
-
-INCLUDES = $(GDOME_CFLAGS) $(MLGDOME_CFLAGS) -I/usr/include/caml -I$(top_srcdir)/C/gdome_xslt
-
-BYTECODE_STUFF = \
- $(ARCHIVE).cma $(DLL) i_gdome_xslt.cmi i_gdome_xslt.ml gdome_xslt.cmi \
- gdome_xslt.mli gdome_xslt_init.cmi gdome_xslt_init.mli gdome_xslt_init.cmo \
- lib$(ARCHIVE).a
-NATIVECODE_STUFF = \
- $(ARCHIVE).cmxa $(ARCHIVE).a gdome_xslt_init.cmx gdome_xslt_init.o
-if HAVE_OCAMLOPT_COND
-install-data-local: $(BYTECODE_STUFF) $(NATIVECODE_STUFF)
-else
-install-data-local: $(BYTECODE_STUFF)
-endif
- $(mkinstalldirs) $(OCAMLINSTALLDIR) $(STUBSDIR)
- chmod -x $(DLL)
- for i in $^; do \
- if [ "$$i" != "$(DLL)" ]; then \
- $(INSTALL_DATA) $$i $(OCAMLINSTALLDIR)/$$i; \
- fi \
- done
- if [ "x$(OCAMLFIND)" != "x" ]; then \
- mv $(OCAMLINSTALLDIR) $(OCAMLINSTALLDIR).saved; \
- $(OCAMLFIND) install -destdir $(DESTDIR)$(OCAMLSTDLIBDIR)/ $(PKGNAME) META $(DLL); \
- $(INSTALL_DATA) $(OCAMLINSTALLDIR).saved/* $(OCAMLINSTALLDIR)/; \
- rm -rf $(OCAMLINSTALLDIR).saved/; \
- else \
- $(INSTALL_DATA) $(DLL) $(STUBSDIR); \
- fi
- ln -fs $(DLL) $(STUBSDIR)/lib$(ARCHIVE).so
-
-uninstall-local:
- if [ "x$(OCAMLFIND)" != "x" ]; then \
- $(OCAMLFIND) remove -destdir $(DESTDIR)$(OCAMLSTDLIBDIR)/ $(PKGNAME); \
- else \
- rm -rf $(OCAMLINSTALLDIR); \
- rm $(STUBSDIR)/$(DLL); \
- fi
- rm $(STUBSDIR)/lib$(ARCHIVE).so
-
-#### OCaml only stuff from now on
-
-DEPOBJS = *.ml *.mli
-
-depend:
- $(OCAMLDEP) $(DEPOBJS) > .depend
-
-%.cmi : $(srcdir)/%.mli
- if test ! -e $(@:%.cmi=%.mli) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi
- $(OCAMLC) -c $(@:%.cmi=%.mli)
-
-%.cmo : $(srcdir)/%.ml
- if test ! -e $(@:%.cmo=%.ml) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi
- $(OCAMLC) -c $(@:%.cmo=%.ml)
-
-%.cmx %.o : $(srcdir)/%.ml
- if test ! -e $(@:%.cmx=%.ml) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi
- $(OCAMLOPT) -c $(@:%.cmx=%.ml)
-
-include .depend
-
diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt.ml b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt.ml
deleted file mode 100644
index b64a006b4..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt.ml
+++ /dev/null
@@ -1,59 +0,0 @@
-(* This file is part of an ocaml binding of an XSLT engine working on Gdome
- * documents.
- *
- * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT
- * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT)
- *
- * Copyright (C) 2002:
- * Claudio Sacerdoti Coen
- * Stefano Zacchiroli
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, please send an email to {sacerdot,zack}@cs.unibo.it
- *)
-
-let processStylesheet style =
- I_gdome_xslt.processStylesheet style#as_Document
-;;
-
-let applyStylesheet ~source ~stylesheet ~params =
- let res =
- I_gdome_xslt.applyStylesheet ~source:(source#as_Document) ~stylesheet
- ~params
- in
- new Gdome.document res
-;;
-
-let saveResultToChannel ~outchan ~result ~stylesheet =
- I_gdome_xslt.saveResultToChannel
- ~outchan
- ~result:result#as_Document
- ~stylesheet
-;;
-
-let setErrorCallback = function
- | None -> I_gdome_xslt.disableErrorCallback ()
- | Some (callback: string -> unit) ->
- Callback.register "error_callback" callback;
- I_gdome_xslt.enableErrorCallback ()
-;;
-let setDebugCallback = function
- | None -> I_gdome_xslt.disableDebugCallback ()
- | Some (callback: string -> unit) ->
- Callback.register "debug_callback" callback;
- I_gdome_xslt.enableDebugCallback ()
-;;
-
diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt.mli b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt.mli
deleted file mode 100644
index 8115457f3..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt.mli
+++ /dev/null
@@ -1,59 +0,0 @@
-(* This file is part of an ocaml binding of an XSLT engine working on Gdome
- * documents.
- *
- * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT
- * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT)
- *
- * Copyright (C) 2002:
- * Claudio Sacerdoti Coen
- * Stefano Zacchiroli
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, please send an email to {sacerdot,zack}@cs.unibo.it
- *)
-
-(* processStylesheet stylesheet *)
-(* Process a stylesheet so that it can be subsequently used *)
-(* with applyStylesheet. *)
-val processStylesheet:
- Gdome.document ->
- I_gdome_xslt.processed_stylesheet
-
-(* applyStylesheet source stylesheet params *)
-(* Applies a processed stylesheet to a source document, using *)
-(* the given list of parameters (couples name,value) *)
-val applyStylesheet:
- source: Gdome.document ->
- stylesheet:I_gdome_xslt.processed_stylesheet ->
- params:(string * string) list ->
- Gdome.document
-
-(* output the result of a previous XSLT transformation to an *)
-(* output channel *)
-val saveResultToChannel:
- outchan: out_channel ->
- result: Gdome.document ->
- stylesheet: I_gdome_xslt.processed_stylesheet ->
- unit
-
-(** set error callback, that is a function invoked each time an error message is
-generated. If None is passed, libxslt default error callback is used *)
-val setErrorCallback: (string -> unit) option -> unit
-
-(** set debug callback, that is a function invoked each time a debugging message
-is generated. If None is passed, libxslt default error callback is used *)
-val setDebugCallback: (string -> unit) option -> unit
-
diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt_init.ml b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt_init.ml
deleted file mode 100644
index e7da4e02d..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt_init.ml
+++ /dev/null
@@ -1,41 +0,0 @@
-(* This file is part of an ocaml binding of an XSLT engine working on Gdome
- * documents.
- *
- * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT
- * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT)
- *
- * Copyright (C) 2002:
- * Claudio Sacerdoti Coen
- * Stefano Zacchiroli
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, please send an email to {sacerdot,zack}@cs.unibo.it
- *)
-
-exception ProcessStylesheetException
-exception ApplyStylesheetException
-
-let _ =
- Callback.register_exception
- "ProcessStylesheetException" ProcessStylesheetException
-;;
-
-let _ =
- Callback.register_exception
- "ApplyStylesheetException" ApplyStylesheetException
-;;
-
-I_gdome_xslt.setXsltMaxDepth 2000;;
diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt_init.mli b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt_init.mli
deleted file mode 100644
index d3e6d670e..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt_init.mli
+++ /dev/null
@@ -1,37 +0,0 @@
-(* This file is part of an ocaml binding of an XSLT engine working on Gdome
- * documents.
- *
- * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT
- * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT)
- *
- * Copyright (C) 2002:
- * Claudio Sacerdoti Coen
- * Stefano Zacchiroli
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, please send an email to {sacerdot,zack}@cs.unibo.it
- *)
-
-(**************************** WARNING!!! ***********************************)
-(*** ***)
-(*** This file must always be linked with any code using gdome_xslt and ***)
-(*** must be linked as the first file. It is responsible of initializing ***)
-(*** the whole binding, registering some ocaml values to the C level. ***)
-(*** ***)
-(***************************************************************************)
-
-exception ProcessStylesheetException
-exception ApplyStylesheetException
diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/i_gdome_xslt.ml b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/i_gdome_xslt.ml
deleted file mode 100644
index 6f686c482..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/i_gdome_xslt.ml
+++ /dev/null
@@ -1,58 +0,0 @@
-(* This file is part of an ocaml binding of an XSLT engine working on Gdome
- * documents.
- *
- * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT
- * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT)
- *
- * Copyright (C) 2002:
- * Claudio Sacerdoti Coen
- * Stefano Zacchiroli
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, please send an email to {sacerdot,zack}@cs.unibo.it
- *)
-
-type processed_stylesheet
-
-external setXsltMaxDepth:
- int ->
- unit
- = "setXsltMaxDepth"
-
-external processStylesheet:
- [> `Document] GdomeT.t ->
- processed_stylesheet
- = "ml_processStylesheet"
-
-external applyStylesheet:
- source: [> `Document] GdomeT.t ->
- stylesheet: processed_stylesheet ->
- params: (string * string) list ->
- TDocument.t
- = "ml_applyStylesheet"
-
-external saveResultToChannel:
- outchan: out_channel ->
- result: TDocument.t ->
- stylesheet: processed_stylesheet ->
- unit
- = "ml_saveResultToChannel"
-
-external enableErrorCallback : unit -> unit = "ml_enableErrorCallback"
-external disableErrorCallback : unit -> unit = "ml_disableErrorCallback"
-external enableDebugCallback : unit -> unit = "ml_enableDebugCallback"
-external disableDebugCallback : unit -> unit = "ml_disableDebugCallback"
-
diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ml_gdome_xslt.c b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ml_gdome_xslt.c
deleted file mode 100644
index 225698a79..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ml_gdome_xslt.c
+++ /dev/null
@@ -1,186 +0,0 @@
-/* This file is part of an ocaml binding of an XSLT engine working on Gdome
- * documents.
- *
- * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT
- * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT)
- *
- * Copyright (C) 2002:
- * Claudio Sacerdoti Coen
- * Stefano Zacchiroli
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, please send an email to {sacerdot,zack}@cs.unibo.it
- */
-
-#include
-
-#include
-#include
-#include
-#include
-
-#include
-#include
-
-#include "ocaml-io.h"
-#include "mlgdomevalue.h"
-#include "gdome_xslt.h"
-
-xsltStylesheetPtr XsltStylesheetPtr_val(value);
-
-static void ml_xsltFreeStylesheet(value v)
-{
- xsltFreeStylesheet(XsltStylesheetPtr_val(v));
-}
-
-xsltStylesheetPtr XsltStylesheetPtr_val(value v)
-{
- CAMLparam1(v);
- xsltStylesheetPtr res = *((xsltStylesheetPtr*) Data_custom_val(v));
- CAMLreturn(res);
-}
-
-value Val_XsltStylesheetPtr(xsltStylesheetPtr obj)
-{
- CAMLparam0();
- CAMLlocal1(v);
- static struct custom_operations ops = {
- "http://www.cs.unibo.it/helm/gdome_xslt/XsltStylesheetPtr",
- ml_xsltFreeStylesheet,
- custom_compare_default,
- custom_hash_default,
- custom_serialize_default,
- custom_deserialize_default
- };
-
- v = alloc_custom(&ops, sizeof(xsltStylesheetPtr), 0, 1);
- *((xsltStylesheetPtr*) Data_custom_val(v)) = obj;
-
- CAMLreturn(v);
-}
-
-value ml_processStylesheet(value style)
-{
- CAMLparam1(style);
- xsltStylesheetPtr res;
- res = processStylesheet(Document_val(style));
- if (res == NULL) {
- value* excp;
- excp = caml_named_value("ProcessStylesheetException");
- assert(excp != NULL);
- raise_constant(*excp);
- }
- CAMLreturn(Val_XsltStylesheetPtr(res));
-}
-
-value setXsltMaxDepth(value depth)
-{
- CAMLparam1(depth);
- xsltMaxDepth = Int_val(depth);
- CAMLreturn0;
-}
-
-value ml_applyStylesheet(value source, value style, value params)
-{
- CAMLparam3(source,style,params);
- CAMLlocal1(list);
- GdomeDocument* res;
- int i;
- const char** c_params;
-
- i = 0 ; list = params;
- while(list != Val_int(0)) {
- list = Field(list,1);
- i++;
- }
- c_params = (const char **)malloc(sizeof(char *) * (i * 2 + 1));
-
- i = 0; list = params;
- while(list != Val_int(0)) {
- c_params[i] = String_val(Field(Field(list,0),0));
- c_params[i+1] = String_val(Field(Field(list,0),1));
- list = Field(list,1);
- i+=2;
- }
- c_params[i] = NULL;
- enter_blocking_section();
- res = applyStylesheet(Document_val(source),
- XsltStylesheetPtr_val(style),
- c_params);
- leave_blocking_section();
- free(c_params);
- if (res == NULL) {
- value* excp;
- excp = caml_named_value("ApplyStylesheetException");
- assert(excp != NULL);
- raise_constant(*excp);
- }
- CAMLreturn(Val_Document(res));
-}
-
-value ml_saveResultToChannel(value channel,
- value result,
- value stylesheet)
-{
- CAMLparam3(channel, result, stylesheet);
-
- saveResultToFd((Channel(channel))->fd,
- Document_val(result),
- XsltStylesheetPtr_val(stylesheet));
-
- CAMLreturn0;
-}
-
- /* error callback handling */
-
-static void ml_gdomeXsltErrorCallback(const char *msg) {
- callback(*caml_named_value("error_callback"), copy_string(msg));
-
- return;
-}
-
-value ml_enableErrorCallback(value unit) {
- CAMLparam1(unit);
- setErrorCallback(ml_gdomeXsltErrorCallback);
- CAMLreturn(Val_unit);
-}
-
-value ml_disableErrorCallback(value unit) {
- CAMLparam1(unit);
- setErrorCallback(NULL);
- CAMLreturn(Val_unit);
-}
-
- /* debug callback handling */
-
-static void ml_gdomeXsltDebugCallback(const char *msg) {
- callback(*caml_named_value("debug_callback"), copy_string(msg));
-
- return;
-}
-
-value ml_enableDebugCallback(value unit) {
- CAMLparam1(unit);
- setDebugCallback(ml_gdomeXsltDebugCallback);
- CAMLreturn(Val_unit);
-}
-
-value ml_disableDebugCallback(value unit) {
- CAMLparam1(unit);
- setDebugCallback(NULL);
- CAMLreturn(Val_unit);
-}
-
diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ml_gdome_xslt.h b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ml_gdome_xslt.h
deleted file mode 100644
index a173bc97f..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ml_gdome_xslt.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* This file is part of an ocaml binding of an XSLT engine working on Gdome
- * documents.
- *
- * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT
- * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT)
- *
- * Copyright (C) 2002:
- * Claudio Sacerdoti Coen
- * Stefano Zacchiroli
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, please send an email to {sacerdot,zack}@cs.unibo.it
- */
-
-xsltStylesheetPtr XsltStylesheetPtr_val(value);
-value Val_XsltStylesheetPtr(xsltStylesheetPtr);
-
-value ml_processStylesheet(value style);
-value ml_applyStylesheet(value source, value style, value params);
-
-value ml_saveResultToChannel(value channel, value result, value stylesheet);
-
-value ml_enableErrorCallback(value unit);
-value ml_disableErrorCallback(value unit);
-value ml_enableDebugCallback(value unit);
-value ml_disableDebugCallback(value unit);
-
diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ocaml-io.h b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ocaml-io.h
deleted file mode 100644
index 6ce9493c8..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ocaml-io.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/**********************************************************************/
-/* */
-/* Objective Caml */
-/* */
-/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */
-/* */
-/* Copyright 1996 Institut National de Recherche en Informatique et */
-/* en Automatique. All rights reserved. This file is distributed */
-/* under the terms of the GNU Library General Public License, with */
-/* the special exception on linking described in file */
-/* ../../LICENSE-INRIA. */
-/* */
-/**********************************************************************/
-
-/* Buffered input/output */
-
-#ifndef __IO_H__
-#define __IO_H__
-
-#ifndef IO_BUFFER_SIZE
-#define IO_BUFFER_SIZE 4096
-#endif
-
-typedef long file_offset;
-
-struct channel {
- int fd; /* Unix file descriptor */
- file_offset offset; /* Absolute position of fd in the file */
- char * end; /* Physical end of the buffer */
- char * curr; /* Current position in the buffer */
- char * max; /* Logical end of the buffer (for input) */
- void * mutex; /* Placeholder for mutex (for systhreads) */
- struct channel * next; /* Linear chaining of channels (flush_all) */
- int revealed; /* For Cash only */
- int old_revealed; /* For Cash only */
- int refcount; /* For flush_all and for Cash */
- char buff[IO_BUFFER_SIZE]; /* The buffer itself */
-};
-
-/* For an output channel:
- [offset] is the absolute position of the beginning of the buffer [buff].
- For an input channel:
- [offset] is the absolute position of the logical end of the buffer, [max].
-*/
-
-/* Functions and macros that can be called from C. Take arguments of
- type struct channel *. No locking is performed. */
-
-/* Extract a struct channel * from the heap object representing it */
-
-#define Channel(v) (*((struct channel **) (Data_custom_val(v))))
-
-#endif /* __IO_H__ */
-
diff --git a/helm/DEVEL/gdome_xslt/ocaml/test/.cvsignore b/helm/DEVEL/gdome_xslt/ocaml/test/.cvsignore
deleted file mode 100644
index fb5d24d4f..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/test/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-test.cmi
-test.cmo
-test.cmx
-test.o
-test
-test.opt
-Makefile
-Makefile.in
diff --git a/helm/DEVEL/gdome_xslt/ocaml/test/Makefile.am b/helm/DEVEL/gdome_xslt/ocaml/test/Makefile.am
deleted file mode 100644
index 95f83fa79..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/test/Makefile.am
+++ /dev/null
@@ -1,25 +0,0 @@
-REQUIRES = gdome2
-OCAMLFIND = @OCAMLFIND@
-OCAMLC = $(OCAMLFIND) @OCAMLC@ -package "$(REQUIRES)"
-OCAMLOPT = $(OCAMLFIND) @OCAMLOPT@ -package "$(REQUIRES)"
-CMA = $(top_builddir)/ocaml/gdome_xslt/mlgdome2-xslt.cma
-CMXA = $(top_builddir)/ocaml/gdome_xslt/mlgdome2-xslt.cmxa
-INIT_CMO = $(top_builddir)/ocaml/gdome_xslt/gdome_xslt_init.cmo
-INIT_CMX = $(top_builddir)/ocaml/gdome_xslt/gdome_xslt_init.cmx
-OCAMLC_FLAGS = -I $(top_builddir)/ocaml/gdome_xslt/
-
-EXTRA_DIST = test.ml
-CLEANFILES = test{,.o,.opt} test.cm[iox]
-
-if HAVE_OCAMLOPT_COND
-noinst_DATA = test.opt test
-else
-noinst_DATA = test
-endif
-
-test: test.ml $(CMA) $(INIT_CMO)
- $(OCAMLC) -o $@ -linkpkg $(OCAMLC_FLAGS) $(CMA) $(INIT_CMO) $<
-
-test.opt: test.ml $(CMXA) $(INIT_CMX)
- $(OCAMLOPT) -o $@ -linkpkg $(OCAMLC_FLAGS) $(CMXA) $(INIT_CMX) $<
-
diff --git a/helm/DEVEL/gdome_xslt/ocaml/test/test.ml b/helm/DEVEL/gdome_xslt/ocaml/test/test.ml
deleted file mode 100644
index 4cd103435..000000000
--- a/helm/DEVEL/gdome_xslt/ocaml/test/test.ml
+++ /dev/null
@@ -1,79 +0,0 @@
-(* This file is part of an ocaml binding of an XSLT engine working on Gdome
- * documents.
- *
- * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT
- * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT)
- *
- * Copyright (C) 2002 Claudio Sacerdoti Coen
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, please send an email to
- *)
-
-let (output_file,
- correct_output_file,
- input_file,
- stylesheet_file) =
- ("../../test_files/output.xml",
- "../../test_files/output.xml.correct",
- "../../test_files/input.xml",
- "../../test_files/stylesheet.xsl")
-in
-let domImpl = Gdome.domImplementation () in
- let input =
- domImpl#createDocumentFromURI ~uri:input_file ()
- and style =
- domImpl#createDocumentFromURI ~uri:stylesheet_file ()
- in
- (* First of all, let's try the exception handling machinery *)
- let _ =
- try
- ignore (Gdome_xslt.processStylesheet input);
- assert false (* previous line should rise an exception *)
- with
- Gdome_xslt_init.ProcessStylesheetException -> ()
- in
- let pstyle = Gdome_xslt.processStylesheet style in
- let output =
- Gdome_xslt.applyStylesheet input pstyle
- ["parameter1","'value1'" ;
- "parameter2","'value2'" ;
- "parameter3","'value3'"
- ]
- in
-(* (* old version: use gdome serialization functions *)
- let res =
- domImpl#saveDocumentToFile ~doc:output ~name:output_file ()
- in
- if not res then
- prerr_endline ("Error saving to document " ^ output_file)
- else
- begin
- Printf.printf
- "The test was successful iff %s is equal to %s\n"
- output_file
- correct_output_file
- end
-*)
- (* new version: use libxslt serialization functions *)
- let outchan = open_out output_file in
- Gdome_xslt.saveResultToChannel ~outchan ~result:output ~stylesheet:pstyle;
- close_out outchan;
- Printf.printf
- "The test was successful iff %s is equal to %s\n"
- output_file
- correct_output_file
-;;
diff --git a/helm/DEVEL/gdome_xslt/test_files/.cvsignore b/helm/DEVEL/gdome_xslt/test_files/.cvsignore
deleted file mode 100644
index d1e494380..000000000
--- a/helm/DEVEL/gdome_xslt/test_files/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-output.xml
-Makefile
-Makefile.in
diff --git a/helm/DEVEL/gdome_xslt/test_files/Makefile.am b/helm/DEVEL/gdome_xslt/test_files/Makefile.am
deleted file mode 100644
index ead191b52..000000000
--- a/helm/DEVEL/gdome_xslt/test_files/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-EXTRA_DIST = input.xml output.xml.correct stylesheet.xsl
diff --git a/helm/DEVEL/gdome_xslt/test_files/input.xml b/helm/DEVEL/gdome_xslt/test_files/input.xml
deleted file mode 100644
index b6ffa38fd..000000000
--- a/helm/DEVEL/gdome_xslt/test_files/input.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- It works!
-
diff --git a/helm/DEVEL/gdome_xslt/test_files/output.xml.correct b/helm/DEVEL/gdome_xslt/test_files/output.xml.correct
deleted file mode 100644
index c4adda3d7..000000000
--- a/helm/DEVEL/gdome_xslt/test_files/output.xml.correct
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
diff --git a/helm/DEVEL/gdome_xslt/test_files/stylesheet.xsl b/helm/DEVEL/gdome_xslt/test_files/stylesheet.xsl
deleted file mode 100644
index ca4534e12..000000000
--- a/helm/DEVEL/gdome_xslt/test_files/stylesheet.xsl
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/helm/DEVEL/lablgtkmathview/.cvsignore b/helm/DEVEL/lablgtkmathview/.cvsignore
deleted file mode 100644
index 4b4f66b41..000000000
--- a/helm/DEVEL/lablgtkmathview/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-*.cmi *.cmo *.cmx *.cma *.cmxa config.make config.cache config.log configure
-Makefile
-config.status
-META
-lablgtkmathview.spec
-gtkMathViewProps.ml
-ogtkMathViewProps.ml
diff --git a/helm/DEVEL/lablgtkmathview/.depend b/helm/DEVEL/lablgtkmathview/.depend
deleted file mode 100644
index 186c66f3a..000000000
--- a/helm/DEVEL/lablgtkmathview/.depend
+++ /dev/null
@@ -1,14 +0,0 @@
-gMathView.cmo: gtkMathView.cmo gtk_mathview.cmo ogtkMathViewProps.cmo \
- gMathView.cmi
-gMathView.cmx: gtkMathView.cmx gtk_mathview.cmx ogtkMathViewProps.cmx \
- gMathView.cmi
-gMathViewAux.cmo: gMathView.cmi gtkMathView.cmo gMathViewAux.cmi
-gMathViewAux.cmx: gMathView.cmx gtkMathView.cmx gMathViewAux.cmi
-gtkMathView.cmo: gtkMathViewProps.cmo gtk_mathview.cmo
-gtkMathView.cmx: gtkMathViewProps.cmx gtk_mathview.cmx
-gtkMathViewProps.cmo: gtk_mathview.cmo
-gtkMathViewProps.cmx: gtk_mathview.cmx
-ogtkMathViewProps.cmo: gtkMathViewProps.cmo
-ogtkMathViewProps.cmx: gtkMathViewProps.cmx
-gMathView.cmi: gtk_mathview.cmo
-gMathViewAux.cmi: gMathView.cmi gtk_mathview.cmo
diff --git a/helm/DEVEL/lablgtkmathview/AUTHORS b/helm/DEVEL/lablgtkmathview/AUTHORS
deleted file mode 100644
index 3598094a9..000000000
--- a/helm/DEVEL/lablgtkmathview/AUTHORS
+++ /dev/null
@@ -1,2 +0,0 @@
-Luca Padovani
-Claudio Sacerdoti Coen
diff --git a/helm/DEVEL/lablgtkmathview/COPYING b/helm/DEVEL/lablgtkmathview/COPYING
deleted file mode 100644
index d60c31a97..000000000
--- a/helm/DEVEL/lablgtkmathview/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- , 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/helm/DEVEL/lablgtkmathview/ChangeLog b/helm/DEVEL/lablgtkmathview/ChangeLog
deleted file mode 100644
index 19ce76012..000000000
--- a/helm/DEVEL/lablgtkmathview/ChangeLog
+++ /dev/null
@@ -1,6 +0,0 @@
-* 0.4.1
- - Upgraded to GtkMathView 0.4.[0,1]
-
-* 0.3.0
- - Upgraded to GtkMathView 0.3.0
- - Now based on the gmetadom (alias gdome2) binding to GDOMe Level 2
diff --git a/helm/DEVEL/lablgtkmathview/LICENSE b/helm/DEVEL/lablgtkmathview/LICENSE
deleted file mode 100644
index 691e4e01c..000000000
--- a/helm/DEVEL/lablgtkmathview/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-(* Copyright (C) 2000-2003, Luca Padovani ,
- * Claudio Sacerdoti Coen .
- *
- * This file is part of lablgtkmathview, the Ocaml binding
- * for the GtkMathView widget.
- *
- * lablgtkmathview is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * lablgtkmathview is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with lablgtkmathview; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * For details, send a mail to the author.
- *)
diff --git a/helm/DEVEL/lablgtkmathview/META.in b/helm/DEVEL/lablgtkmathview/META.in
deleted file mode 100644
index 4986552c6..000000000
--- a/helm/DEVEL/lablgtkmathview/META.in
+++ /dev/null
@@ -1,5 +0,0 @@
-requires="gdome2 lablgtk2"
-version="@VERSION@"
-archive(byte)="@PACKAGE@.cma"
-archive(native)="@PACKAGE@.cmxa"
-linkopts=""
diff --git a/helm/DEVEL/lablgtkmathview/Makefile.in b/helm/DEVEL/lablgtkmathview/Makefile.in
deleted file mode 100644
index 4005b54f5..000000000
--- a/helm/DEVEL/lablgtkmathview/Makefile.in
+++ /dev/null
@@ -1,124 +0,0 @@
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-INCLUDEDIR = @OCAML_INCLUDE_DIR@
-PROPCC = @OCAML_LIB_DIR@/lablgtk2/propcc
-PREFIX =
-OBJECTS_C = ml_gtk_mathview.o
-OBJECTS = gtkMathViewProps.cmo ogtkMathViewProps.cmo gtk_mathview.cmo gtkMathView.cmo gMathView.cmo gMathViewAux.cmo
-OBJECTS_OPT = gtkMathViewProps.cmx ogtkMathViewProps.cmx gtkMathView.cmx gtk_mathview.cmx gMathView.cmx gMathViewAux.cmx
-GENERATED_FILES = gtkMathViewProps.ml ogtkMathViewProps.ml
-INST = \
- META gMathView.mli gMathView.cmi gtkMathView.cmi gtk_mathview.cmi \
- gtkMathViewProps.cmi ogtkMathViewProps.cmi \
- gMathViewAux.cmi gMathViewAux.mli
-DIST_FILES = \
- Makefile.in configure.in gMathView.ml gMathView.mli \
- gMathViewAux.ml gMathViewAux.mli gtkMathView.ml \
- gtk_mathview.ml ml_gtk_mathview.c META.in .depend debian/ test/ \
- configure gtkMathView.props
-DIST_DIR = $(PACKAGE)-$(VERSION)
-DOC_FILES = AUTHORS COPYING ChangeLog NEWS README LICENSE
-REQUIRES = gdome2 lablgtk2
-PREDICATES =
-SHARED_LIBS = @GDOME_LIBS@ @GTKMATHVIEW_LIBS@ -lmlgdome
-
-OCAMLFIND = ocamlfind
-OCAMLC = $(OCAMLFIND) ocamlc
-OCAMLOPT = $(OCAMLFIND) ocamlopt
-OCAMLDEP = ocamldep
-OCAMLMKLIB = ocamlmklib
-OCAML_STUB_DIR = @OCAML_STUB_DIR@
-
-ARCHIVE = $(PACKAGE)
-DLL = dll$(ARCHIVE).so
-
-TESTDIR = ./test
-TMPDIR = .test
-TMPPKGDIR = $(TMPDIR)/$(PACKAGE)
-
-all: $(ARCHIVE).cma
-opt: $(ARCHIVE).cmxa
-test: $(TESTDIR)/test
-test.opt: $(TESTDIR)/test.opt
-world: all opt
-
-dist:
- rm -rf $(DIST_DIR)/
- mkdir $(DIST_DIR)/
- cp -a $(DIST_FILES) $(DOC_FILES) $(DIST_DIR)/
- -find $(DIST_DIR) -name CVS -type d -exec rm -rf {} \;
- -find $(DIST_DIR) -name .cvsignore -type f -exec rm {} \;
- tar cvfz $(DIST_DIR).tar.gz $(DIST_DIR)/
- rm -rf $(DIST_DIR)/
-
-deb: dist
- if [ -d $(DIST_DIR)/ ]; then rm -rf $(DIST_DIR); else true; fi
- tar xvzf $(DIST_DIR).tar.gz
- (cd $(DIST_DIR)/ && debuild)
- rm -rf $(DIST_DIR)
-
-$(GENERATED_FILES): gtkMathView.props
-
-ml_gtk_mathview.o: ml_gtk_mathview.c
- gcc -c -I$(INCLUDEDIR) -fPIC `ocamlfind query -i-format lablgtk2` @GTKMATHVIEW_CFLAGS@ @GDOME_CFLAGS@ `ocamlfind query -i-format gdome2` $<
-
-.SUFFIXES: .cmo .cmi .cmx .ml .mli
-
-.ml.cmo:
- $(OCAMLC) -package "$(REQUIRES)" -predicates "$(PREDICATES)" -c $<
-.mli.cmi:
- $(OCAMLC) -package "$(REQUIRES)" -predicates "$(PREDICATES)" -c $<
-.ml.cmx:
- $(OCAMLOPT) -package "$(REQUIRES)" -predicates "$(PREDICATES)" -c $<
-
-%Props.ml o%Props.ml: %.props $(PROPCC)
- $(PROPCC) $<
-
-depend: *.ml *.mli $(GENERATED_FILES)
- $(OCAMLDEP) *.ml *.mli >.depend
-include .depend
-
-$(ARCHIVE).cma $(DLL): $(OBJECTS) $(OBJECTS_C)
- $(OCAMLMKLIB) -o $(ARCHIVE) -L$(OCAML_STUB_DIR) $^ $(SHARED_LIBS)
-$(ARCHIVE).cmxa $(ARCHIVE).a: $(OBJECTS_OPT)
- $(OCAMLMKLIB) -o $(ARCHIVE) -L$(OCAML_STUB_DIR) $^ $(OBJECTS_C) $(SHARED_LIBS)
-
-$(TESTDIR)/test: $(OBJECTS_C) $(ARCHIVE).cma $(TESTDIR)/test.ml
- mkdir -p $(TMPPKGDIR)
- cp $(OBJECTS_C) $(DLL) $(ARCHIVE).cma $(INST) $(TMPPKGDIR)
- cd $(TESTDIR) ; export OCAMLPATH=../$(TMPDIR):$$OCAMLPATH ; make
- rm -r $(TMPDIR)
-
-$(TESTDIR)/test.opt: $(OBJECTS_C) $(ARCHIVE).a $(ARCHIVE).cmxa $(TESTDIR)/test.ml
- mkdir -p $(TMPPKGDIR)
- cp $(OBJECTS_C) $(ARCHIVE).a $(ARCHIVE).cmxa $(INST) $(TMPPKGDIR)
- cd $(TESTDIR) ; export OCAMLPATH=../$(TMPDIR):$$OCAMLPATH ; make opt
- rm -r $(TMPDIR)
-
-install:
- test ! -f $(ARCHIVE).cmxa || extra="$(ARCHIVE).a $(ARCHIVE).cmxa" ; \
- if [ "$(PREFIX)" = "" ]; then \
- $(OCAMLFIND) install \
- $(PACKAGE) $(OBJECTS_C) $(ARCHIVE).cma $(DLL) $(INST) $$extra; \
- ln -fs $(DLL) $(shell $(OCAMLFIND) printconf destdir)/stublibs/lib$(ARCHIVE).so; \
- else \
- $(OCAMLFIND) install -destdir $(PREFIX) \
- $(PACKAGE) $(OBJECTS_C) $(ARCHIVE).cma $(DLL) $(INST) $$extra; \
- ln -fs $(DLL) $(PREFIX)/stublibs/lib$(ARCHIVE).so; \
- fi
-
-uninstall:
- if [ "$(PREFIX)" = "" ]; then \
- ocamlfind remove $(PACKAGE); \
- else \
- ocamlfind remove -destdir $(PREFIX) $(PACKAGE); \
- fi
-
-clean:
- rm -f *.[ao] *.cm[iaxo] *.cmxa *.so $(GENERATED_FILES)
- cd $(TESTDIR) ; make clean
- rm -rf $(TMPDIR)
-
-distclean: clean
- rm -f config.log config.cache config.status Makefile META
- cd $(TESTDIR) ; make distclean
diff --git a/helm/DEVEL/lablgtkmathview/NEWS b/helm/DEVEL/lablgtkmathview/NEWS
deleted file mode 100644
index e69de29bb..000000000
diff --git a/helm/DEVEL/lablgtkmathview/README b/helm/DEVEL/lablgtkmathview/README
deleted file mode 100644
index 61c34d46e..000000000
--- a/helm/DEVEL/lablgtkmathview/README
+++ /dev/null
@@ -1,9 +0,0 @@
-This is the Ocaml binding for the GtkMathView widget.
-
-To compile and install:
-
- ./configure
- make
- make opt
- make install
-
diff --git a/helm/DEVEL/lablgtkmathview/configure.in b/helm/DEVEL/lablgtkmathview/configure.in
deleted file mode 100644
index b4ab4ff8b..000000000
--- a/helm/DEVEL/lablgtkmathview/configure.in
+++ /dev/null
@@ -1,57 +0,0 @@
-AC_INIT(gMathView.ml)
-
-PACKAGE=lablgtkmathview
-
-LABLGTKMATHVIEW_MAJOR_VERSION=0
-LABLGTKMATHVIEW_MINOR_VERSION=5
-LABLGTKMATHVIEW_MICRO_VERSION=1
-LABLGTKMATHVIEW_VERSION=$LABLGTKMATHVIEW_MAJOR_VERSION.$LABLGTKMATHVIEW_MINOR_VERSION.$LABLGTKMATHVIEW_MICRO_VERSION
-VERSION=$LABLGTKMATHVIEW_VERSION
-
-PKG_CHECK_MODULES(GDOME, gdome2 >= 0.7.0,, AC_MSG_ERROR(could not find Gdome2))
-AC_SUBST(GDOME_CFLAGS)
-AC_SUBST(GDOME_LIBS)
-
-PKG_CHECK_MODULES(GTKMATHVIEW, gtkmathview >= 0.5.1,, AC_MSG_ERROR(could not find gtkmathview))
-AC_SUBST(GTKMATHVIEW_CFLAGS)
-AC_SUBST(GTKMATHVIEW_LIBS)
-
-AC_CHECK_PROG(HAVE_OCAMLC, ocamlc, yes, no)
-if test $HAVE_OCAMLC = "no"; then
- AC_MSG_ERROR(could not find ocamlc in PATH, please make sure ocaml is installed)
-fi
-
-AC_CHECK_PROG(HAVE_OCAMLFIND, ocamlfind, yes, no)
-if test $HAVE_OCAMLFIND = "no"; then
- AC_MSG_ERROR(could not find ocamlfind in PATH, please make sure findlib is installed)
-fi
-
-AC_MSG_CHECKING("for gdome2")
-ocamlfind query gdome2 ||
- AC_MSG_ERROR(gdome2 not installed (according to findlib))
-
-AC_MSG_CHECKING("for lablgtk2")
-ocamlfind query lablgtk2 ||
- AC_MSG_ERROR(lablgtk2 not installed (according to findlib))
-
-AC_MSG_CHECKING("for the ocaml library dir")
-OCAML_LIB_DIR=`ocamlc -where`
-OCAML_STUB_DIR="$OCAML_LIB_DIR/stublibs"
-AC_MSG_RESULT($OCAML_LIB_DIR)
-
-AC_CHECK_FILE(/usr/include/caml/mlvalues.h,
- OCAML_INCLUDE_DIR=/usr/include/caml,
- OCAML_INCLUDE_DIR=$OCAML_LIB_DIR/caml
-)
-
-AC_SUBST(PACKAGE)
-AC_SUBST(VERSION)
-AC_SUBST(OCAML_INCLUDE_DIR)
-AC_SUBST(OCAML_LIB_DIR)
-AC_SUBST(OCAML_STUB_DIR)
-
-AC_OUTPUT([
- test/Makefile
- Makefile
- META
-])
diff --git a/helm/DEVEL/lablgtkmathview/debian/changelog b/helm/DEVEL/lablgtkmathview/debian/changelog
deleted file mode 100644
index dbe12c1fe..000000000
--- a/helm/DEVEL/lablgtkmathview/debian/changelog
+++ /dev/null
@@ -1,245 +0,0 @@
-lablgtkmathview (0.5.1-4) unstable; urgency=low
-
- * ported to latest lablgtk2 (2.2.0+20040113) cvs snapshot
- * debian/control
- - changed build-dep accordingly
-
- -- Stefano Zacchiroli Fri, 23 Jan 2004 13:44:11 +0100
-
-lablgtkmathview (0.5.1-3) unstable; urgency=low
-
- * debian/control
- - removed some dependencies that should be inherited from
- libgtkmathview-dev (bugfix for newer libt1-dev)
- - bumped standards version to 3.6.1.0
-
- -- Stefano Zacchiroli Thu, 22 Jan 2004 12:54:47 +0100
-
-lablgtkmathview (0.5.1-2) unstable; urgency=low
-
- * Rebuilt with lablgtk2 2.2.0
- * debian/control
- - bumped ocaml-findlib dependencies to 0.8-5
-
- -- Stefano Zacchiroli Mon, 13 Oct 2003 09:18:48 +0200
-
-lablgtkmathview (0.5.1-1) unstable; urgency=low
-
- * New upstream release (transition to gtk2)
-
- -- Stefano Zacchiroli Fri, 10 Oct 2003 10:10:10 +0200
-
-lablgtkmathview (0.4.3-4) unstable; urgency=low
-
- * Rebuild with ocaml 3.07
- * debian/autodebian.make and debian/*.in
- An experiment!
- Mainly I've added an indirection which permits to fill some autoconf
- variable in debian/* files. In this way the ocaml version is
- discovered automagically and doesn't need to be manually changed
- each time a new ocaml version is released. Actually the only two
- supported variables are @OCAML_STDLIB_DIR@ (actually expands to
- "usr/lib/ocaml/3.07" via ocamlc -where) and @OCAML_STUBLIBS_DIR@
- (actually expands to "usr/lib/ocaml/3.07/stublibs")
-
- -- Stefano Zacchiroli Wed, 1 Oct 2003 22:48:51 +0200
-
-lablgtkmathview (0.4.3-3) unstable; urgency=low
-
- * rebuilt against gmetadom 0.1.10-3
- * debian/control
- - strictly depends on gmetadom >= 0.1.10-3 (older version are buggy
- on mips)
-
- -- Stefano Zacchiroli Sat, 12 Jul 2003 14:14:31 +0200
-
-lablgtkmathview (0.4.3-2) unstable; urgency=low
-
- * upstream changes
- - fixed Makefile.in that still looked for gtkmathview-config
- - selection flickering got rid of (by means of freeze/thaw)
- - structural selection is no longer activated just before
- semantic selection for single_selection_math_view
- * debian/control
- - bumped gmetadom dependencies to >= 0.1.10-2 (to ensure that .pc
- file is available)
-
- -- Stefano Zacchiroli Tue, 1 Jul 2003 11:25:48 +0200
-
-lablgtkmathview (0.4.3-1) unstable; urgency=low
-
- * Rebuild against gtkmathview 0.4.3
- * debian/control
- - bumped standards version to 3.5.10
- - bumped dependencies on gtkmathview to 0.4.3
- - bumped dependencies on gmetadom to 0.1.9
- - added ${misc:Depends}
- - changed section of -dev package to "libdevel"
- - better short description
- - added built-dep to pkg-config
- * debian/rules
- - removed DH_COMPAT in favour of debian/compat
- - comsetic changes
- - removed useless binary-indep target
- - removed dh_movefiles in favour of dh_install
-
- -- Stefano Zacchiroli Thu, 19 Jun 2003 14:52:54 +0200
-
-lablgtkmathview (0.4.1-1) unstable; urgency=low
-
- * Bugfix in some OCaml value allocations
- * Binding for gtkmathview 0.4.1
- * Bumped dependencies to gtkmathview 0.4.1
- * Dropped << dependencies for ocaml libraries
- * Bumped gmetadom dependencies to >= 0.1.6
- * Bumped gdome2 dependencies to >= 0.7.4
-
- -- Stefano Zacchiroli Tue, 11 Mar 2003 21:18:29 +0100
-
-lablgtkmathview (0.3.99-2) unstable; urgency=low
-
- * Bugfix: added dep on t1lib-dev from liblablgtkmathview-ocaml-dev
- * Bugfix: added dep on libgtkmathview-dev (>= 0.4.0) from
- liblablgtkmathview-ocaml-dev
-
- -- Stefano Zacchiroli Sat, 25 Jan 2003 10:24:53 +0100
-
-lablgtkmathview (0.3.99-1) unstable; urgency=low
-
- * Binding to gtkmathview 0.4.0 (pre-release)
- * Added module GMathViewAux which contains backward compatible
- "single_selection_math_view" class
- * Reverted to >=/<< dependencies for ocaml libraries
- * Bumped dependencies on gmetadom to 0.1.5
- * Bumped dependencies on gtkmathview to 0.4.0
- * Added missing dependencies from liblablgtkmathview-ocaml-dev to
- libgdome2-ocaml-dev
- * Versioned dependencies on liblablgtk-ocaml-dev
-
- -- Stefano Zacchiroli Wed, 22 Jan 2003 14:23:30 +0100
-
-lablgtkmathview (0.3.1-1) unstable; urgency=low
-
- * Binding to gtkmathview 0.3.1
- * debian/control
- - bumped Standards Version to 3.5.8
- - deps and build deps to ocaml{,-base}-3.06-1
- * Moved lib stuff to /usr/lib/ocaml/3.06
-
- -- Stefano Zacchiroli Tue, 7 Jan 2003 12:57:47 +0100
-
-lablgtkmathview (0.3.0-10) unstable; urgency=low
-
- * Added dep on liblablgtk-ocaml{,-dev} respectively in
- liblablgtkmathview-ocaml{,-dev}
-
- -- Stefano Zacchiroli Tue, 17 Sep 2002 11:58:14 +0200
-
-lablgtkmathview (0.3.0-9) unstable; urgency=low
-
- * Removed useless dh_ocamlld invocation
- * Fixed native code compilation shared object path (now looks for .so
- in /usr/lib/ocaml/stublibs instead of
- /usr/lib/ocaml/lablgtkmathview)
-
- -- Stefano Zacchiroli Thu, 29 Aug 2002 15:02:21 +0200
-
-lablgtkmathview (0.3.0-8) unstable; urgency=low
-
- * Switched to debhelper 4
- * Added build dep on findlib (>= 0.7.1)
- * Rebuilt against ocaml 3.06 (Closes: Bug#158256, Bug#158266)
- * Changed deps and build-deps to ocaml-3.06 and ocaml-base-3.06 as
- mandated by the new ocaml packaging policy
- * Removed mention of lablgtkmathview from debian/control
- * Added dep on ocaml-findlib
- * Moved shared objects to /usr/lib/ocaml/stublibs
-
- -- Stefano Zacchiroli Sun, 7 Jul 2002 13:50:52 +0200
-
-lablgtkmathview (0.3.0-7) unstable; urgency=low
-
- * Added -fPIC when compiling some .o in order to build on HPPA
- (Closes: #142462)
-
- -- Stefano Zacchiroli Fri, 12 Apr 2002 14:31:47 +0200
-
-lablgtkmathview (0.3.0-6) unstable; urgency=low
-
- * Added Build-Depends on t1lib-dev (Closes: Bug#140835).
-
- -- Stefano Zacchiroli Tue, 2 Apr 2002 10:11:25 +0200
-
-lablgtkmathview (0.3.0-5) unstable; urgency=low
-
- * Added Build-Depends on libgdome2-cpp-smart-dev (Closes: Bug#140720).
-
- -- Stefano Zacchiroli Mon, 1 Apr 2002 09:00:03 +0200
-
-lablgtkmathview (0.3.0-4) unstable; urgency=low
-
- * Added some .mli and .ml files that document the library interface.
- * Added Depends: on libgdome2-ocaml, we haven't yet estabilished how to
- interact with shlibs system for ocaml shared library that are installed in
- /usr/lib/ocaml
-
- -- Stefano Zacchiroli Mon, 1 Apr 2002 00:17:41 +0200
-
-lablgtkmathview (0.3.0-3) unstable; urgency=low
-
- * Rebuilt against gmetadom 0.3.0-4 and gtkmathview 0.3.0-2.
-
- -- Stefano Zacchiroli Tue, 26 Mar 2002 19:17:56 +0100
-
-lablgtkmathview (0.3.0-2) unstable; urgency=low
-
- * Added build dep on libgdome2-dev
- * Removed CVS stuff from source tarball
-
- -- Stefano Zacchiroli Fri, 15 Mar 2002 13:23:53 +0100
-
-lablgtkmathview (0.3.0-1) unstable; urgency=low
-
- * New upstream release
- * Renamed resulting package to liblablgtkmathview-ocaml-dev
- * Changed build-depends to adhere to the new ocaml packages naming schema
- (e.g. lablgtk -> liblablgtk-ocaml-dev) (Closes: Bug#138116)
- * Split away shared library in liblablgtkmathview-ocaml package
-
- -- Stefano Zacchiroli Wed, 13 Mar 2002 18:53:50 +0100
-
-lablgtkmathview (0.2.8-1) unstable; urgency=low
-
- * New upstream release
- * Built with ocaml 3.04 and lablgtk 1.2.3
- * Removed useless build depends
-
- -- Stefano Zacchiroli Mon, 25 Feb 2002 18:18:25 +0100
-
-lablgtkmathview (0.2.4-4) unstable; urgency=low
-
- * Rebuilt with libgtkmathview 0.2.7
-
- -- Stefano Zacchiroli Tue, 4 Sep 2001 22:16:35 +0200
-
-lablgtkmathview (0.2.4-3) unstable; urgency=low
-
- * Rebuilt with ocaml 3.02 and lablgtk 1.2.1
-
- -- Stefano Zacchiroli Tue, 21 Aug 2001 15:20:05 +0200
-
-lablgtkmathview (0.2.4-2) unstable; urgency=low
-
- * Added build-dep on libxml2-dev (closes: Bug#102715).
-
- -- Stefano Zacchiroli Fri, 29 Jun 2001 12:39:57 +0200
-
-lablgtkmathview (0.2.4-1) unstable; urgency=low
-
- * Initial Release (closes: Bug#93105).
-
- -- Stefano Zacchiroli Wed, 4 Apr 2001 23:27:07 +0200
-
-Local variables:
-mode: debian-changelog
-End:
diff --git a/helm/DEVEL/lablgtkmathview/debian/compat b/helm/DEVEL/lablgtkmathview/debian/compat
deleted file mode 100644
index b8626c4cf..000000000
--- a/helm/DEVEL/lablgtkmathview/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-4
diff --git a/helm/DEVEL/lablgtkmathview/debian/control b/helm/DEVEL/lablgtkmathview/debian/control
deleted file mode 100644
index c5c5dce27..000000000
--- a/helm/DEVEL/lablgtkmathview/debian/control
+++ /dev/null
@@ -1,27 +0,0 @@
-Source: lablgtkmathview
-Section: devel
-Priority: optional
-Maintainer: Stefano Zacchiroli
-Build-Depends: debhelper (>> 4.0.0), ocaml-3.07, ocaml-findlib (>= 0.8-5), liblablgtk2-ocaml-dev (>= 2.2.0+20040113), libgdome2-ocaml-dev (>= 0.2.1), libgtkmathview-dev (>= 0.5.1), pkg-config, autoconf
-Standards-Version: 3.6.1.0
-
-Package: liblablgtkmathview-ocaml
-Architecture: any
-Section: libs
-Depends: ocaml-base-3.07, liblablgtk2-ocaml (>= 2.2.0), libgdome2-ocaml (>= 0.2.1), ${shlibs:Depends}, ${misc:Depends}
-Description: OCaml bindings for libgtkmathview, a GTK widget to render MathML
- This is the Ocaml binding for the GtkMathView widget, that is
- currently available in the libgtkmathview0 package.
- .
- This package contains only the shared runtime stub libraries.
-
-Package: liblablgtkmathview-ocaml-dev
-Architecture: any
-Section: libdevel
-Depends: ocaml-3.07, liblablgtk2-ocaml-dev (>= 2.2.0), libgtkmathview0 (>= 0.5.1), liblablgtkmathview-ocaml (= ${Source-Version}), ocaml-findlib (>= 0.8-5), libgdome2-ocaml-dev (>= 0.2.1), libgtkmathview-dev (>= 0.5.1), ${misc:Depends}
-Description: OCaml bindings for libgtkmathview, a GTK widget to render MathML
- These are the Ocaml bindings for the GtkMathView widget, that is
- currently available in the libgtkmathview0 package.
- .
- This package contains the development part of the lablgtkmathview package.
-
diff --git a/helm/DEVEL/lablgtkmathview/debian/copyright b/helm/DEVEL/lablgtkmathview/debian/copyright
deleted file mode 100644
index 7ac39e1a9..000000000
--- a/helm/DEVEL/lablgtkmathview/debian/copyright
+++ /dev/null
@@ -1,21 +0,0 @@
-This package was debianized by Stefano Zacchiroli on
-Wed, 4 Apr 2001 23:27:07 +0200.
-
-It was packed from source obtained via cvs, with this CVSROOT:
- :pserver:anonymous@phd.cs.unibo.it:/home/lpadovan/PHELM/
-
-Authors:
- Luca Padovani
- Claudio Sacerdoti Coen
-
-Copyright:
-
- Copyright (C) 2000, Luca Padovani .
-
- This file is part of lablgtkmathview, the Ocaml binding
- for the GtkMathView widget.
-
- lablgtkmathview is free software, you can redistribute it and/or modify
- it under the terms of the GNU General Public License. You can find a
- copy of the license in /usr/share/common-licenses/GPL.
-
diff --git a/helm/DEVEL/lablgtkmathview/debian/docs b/helm/DEVEL/lablgtkmathview/debian/docs
deleted file mode 100644
index e845566c0..000000000
--- a/helm/DEVEL/lablgtkmathview/debian/docs
+++ /dev/null
@@ -1 +0,0 @@
-README
diff --git a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml-dev.dirs b/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml-dev.dirs
deleted file mode 100644
index c02750493..000000000
--- a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml-dev.dirs
+++ /dev/null
@@ -1,2 +0,0 @@
-usr/lib/ocaml/3.07
-usr/lib/ocaml/3.07/stublibs
diff --git a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.dirs b/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.dirs
deleted file mode 100644
index 35dced577..000000000
--- a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/ocaml/3.07
diff --git a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.install b/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.install
deleted file mode 100644
index 9edf8ab5d..000000000
--- a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.install
+++ /dev/null
@@ -1,2 +0,0 @@
-usr/lib/ocaml/3.07/lablgtkmathview/*.so
-usr/lib/ocaml/3.07/stublibs/*
diff --git a/helm/DEVEL/lablgtkmathview/debian/rules b/helm/DEVEL/lablgtkmathview/debian/rules
deleted file mode 100755
index 8b6ed0bb5..000000000
--- a/helm/DEVEL/lablgtkmathview/debian/rules
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/make -f
-# Sample debian/rules that uses debhelper.
-# GNU copyright 1997 to 1999 by Joey Hess.
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-TARGETDIR = debian/liblablgtkmathview-ocaml-dev
-OCAML_STDLIB_DIR = $(shell ocamlc -where)
-
-configure: configure-stamp
-configure-stamp:
- dh_testdir
- ./configure
-
- touch configure-stamp
-
-build: configure-stamp build-stamp
-build-stamp:
- dh_testdir
-
- $(MAKE)
- if [ -x /usr/bin/ocamlopt ]; then $(MAKE) opt; else true; fi
-
- touch build-stamp
-
-clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp configure-stamp
-
- -$(MAKE) distclean
-
- dh_clean
-distclean: clean
-
-install: build
- dh_testdir
- dh_testroot
- dh_clean -k
- dh_installdirs -s
-
- $(MAKE) install PREFIX=$(TARGETDIR)$(OCAML_STDLIB_DIR)
-
-movefiles: install
- dh_install -p liblablgtkmathview-ocaml --sourcedir=$(TARGETDIR)
-
-binary-arch: build install
- dh_testdir
- dh_testroot
- dh_installdocs -s
- dh_installexamples -s
- dh_installmanpages -s
- dh_installinfo -s
- dh_installchangelogs -s ChangeLog
- dh_link -s
- dh_strip -s
- dh_compress -s
- dh_fixperms -s
- dh_installdeb -s
- dh_shlibdeps -s
- dh_gencontrol -s
- dh_md5sums -s
- dh_builddeb -s
-
-binary: binary-arch
-.PHONY: build clean binary-arch binary install configure
diff --git a/helm/DEVEL/lablgtkmathview/gMathView.ml b/helm/DEVEL/lablgtkmathview/gMathView.ml
deleted file mode 100644
index ce7edcf10..000000000
--- a/helm/DEVEL/lablgtkmathview/gMathView.ml
+++ /dev/null
@@ -1,85 +0,0 @@
-(* Copyright (C) 2000-2003, Luca Padovani ,
- * Claudio Sacerdoti Coen .
- *
- * This file is part of lablgtkmathview, the Ocaml binding
- * for the GtkMathView widget.
- *
- * lablgtkmathview is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * lablgtkmathview is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with lablgtkmathview; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * For details, send a mail to the author.
- *)
-
-open Gaux
-open Gtk_mathview
-open Gobject
-open Gtk
-open GtkBase
-open GtkMathView
-open OgtkMathViewProps
-open GObj
-
-exception ErrorLoadingFile of string;;
-exception ErrorWritingFile of string;;
-exception ErrorLoadingDOM;;
-
-let option_element_of_option =
- function
- None -> None
- | Some v -> Some (new Gdome.element v)
-
-class math_view_skel obj = object
- inherit GContainer.container (obj : Gtk_mathview.math_view obj)
- method freeze = MathView.freeze obj
- method thaw = MathView.thaw obj
- method load_uri ~filename =
- if not (MathView.load_uri obj ~filename) then raise (ErrorLoadingFile filename)
- method load_doc ~dom =
- if not (MathView.load_doc obj ~dom:((dom : Gdome.document)#as_Document)) then
- raise ErrorLoadingDOM
- method unload = MathView.unload obj
- method select element = MathView.select obj ((element : Gdome.element)#as_Element)
- method unselect element = MathView.unselect obj ((element : Gdome.element)#as_Element)
- method is_selected element = MathView.is_selected obj ((element : Gdome.element)#as_Element)
- method get_element_at x y = option_element_of_option (MathView.get_element_at obj x y)
- method get_width = MathView.get_width obj
- method get_height = MathView.get_height obj
- method get_top = MathView.get_top obj
- method set_top x y = MathView.set_top obj x y
- method set_adjustments adj1 adj2 = MathView.set_adjustments obj (GData.as_adjustment adj1) (GData.as_adjustment adj2)
- method get_hadjustment = new GData.adjustment (MathView.get_hadjustment obj)
- method get_vadjustment = new GData.adjustment (MathView.get_vadjustment obj)
- method get_buffer = MathView.get_buffer obj
- method get_drawing_area = new GMisc.drawing_area (MathView.get_drawing_area obj)
- method set_font_size = MathView.set_font_size obj
- method get_font_size = MathView.get_font_size obj
- method set_log_verbosity = MathView.set_log_verbosity obj
- method get_log_verbosity = MathView.get_log_verbosity obj
-end
-
-class math_view_signals obj = object
- inherit GContainer.container_signals_impl obj
- inherit math_view_sigs
-end
-
-class math_view obj = object
- inherit math_view_skel (obj : Gtk_mathview.math_view obj)
- method connect = new math_view_signals obj
-end
-
-let math_view ?hadjustment ?vadjustment ?font_size ?log_verbosity =
- GtkBase.Container.make_params ~cont:(
- OgtkMathViewProps.pack_return
- (fun p -> OgtkMathViewProps.set_params (new math_view (MathView.create p)) ~font_size ~log_verbosity)) []
-;;
diff --git a/helm/DEVEL/lablgtkmathview/gMathView.mli b/helm/DEVEL/lablgtkmathview/gMathView.mli
deleted file mode 100644
index 1fb5b821d..000000000
--- a/helm/DEVEL/lablgtkmathview/gMathView.mli
+++ /dev/null
@@ -1,92 +0,0 @@
-(* Copyright (C) 2000-2003, Luca Padovani ,
- * Claudio Sacerdoti Coen .
- *
- * This file is part of lablgtkmathview, the Ocaml binding
- * for the GtkMathView widget.
- *
- * lablgtkmathview is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * lablgtkmathview is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with lablgtkmathview; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * For details, send a mail to the author.
- *)
-
-exception ErrorLoadingFile of string
-exception ErrorWritingFile of string
-exception ErrorLoadingDOM
-
-class math_view_signals :
- ([> `container | `gtk | `mathview | `widget] as 'b) Gtk.obj ->
- object ('a)
- inherit GContainer.container_signals
- val after: bool
- val obj: 'b Gtk.obj
- method click :
- callback:(Gdome.element option -> int -> unit) -> GtkSignal.id
- method element_over :
- callback:(Gdome.element option -> int -> unit) -> GtkSignal.id
- method select_begin :
- callback:(Gdome.element option -> int -> unit) -> GtkSignal.id
- method select_over :
- callback:(Gdome.element option -> int -> unit) -> GtkSignal.id
- method select_end :
- callback:(Gdome.element option -> int -> unit) -> GtkSignal.id
- method select_abort :
- callback:(unit -> unit) -> GtkSignal.id
- end
-
-class math_view_skel :
- (Gtk_mathview.math_view Gtk.obj as 'a)->
- object
- inherit GContainer.container
- method freeze : unit
- method thaw : unit
- method get_buffer : Gdk.pixmap
- method get_font_size : int
- method get_drawing_area : GMisc.drawing_area
- method get_hadjustment : GData.adjustment
- method get_height : int
- method get_log_verbosity : int
- method get_top : int * int
- method get_vadjustment : GData.adjustment
- method get_width : int
- method load_uri : filename:string -> unit
- method load_doc : dom:Gdome.document -> unit
- method set_adjustments : GData.adjustment -> GData.adjustment -> unit
- method set_font_size : int -> unit
- method set_log_verbosity : int -> unit
- method select : Gdome.element -> unit
- method unselect : Gdome.element -> unit
- method get_element_at : int -> int -> Gdome.element option
- method is_selected : Gdome.element -> bool
- method set_top : int -> int -> unit
- method unload : unit
- val obj : 'a
- end
-
-class math_view :
- Gtk_mathview.math_view Gtk.obj ->
- object
- inherit math_view_skel
- method connect : math_view_signals
- end
-
-val math_view :
- ?hadjustment:GData.adjustment ->
- ?vadjustment:GData.adjustment ->
- ?font_size:int ->
- ?log_verbosity:int ->
- ?border_width:int ->
- ?width:int ->
- ?height:int ->
- ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> math_view
diff --git a/helm/DEVEL/lablgtkmathview/gMathViewAux.ml b/helm/DEVEL/lablgtkmathview/gMathViewAux.ml
deleted file mode 100644
index d59732cb2..000000000
--- a/helm/DEVEL/lablgtkmathview/gMathViewAux.ml
+++ /dev/null
@@ -1,289 +0,0 @@
-(* Copyright (C) 2000-2003, Luca Padovani ,
- * Claudio Sacerdoti Coen .
- *
- * This file is part of lablgtkmathview, the Ocaml binding
- * for the GtkMathView widget.
- *
- * lablgtkmathview is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * lablgtkmathview is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with lablgtkmathview; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * For details, send a mail to the author.
- *)
-
-(* finds the common node ancestor of two nodes *)
-let common_ancestor (first : Gdome.node) (last : Gdome.node) =
- let rec path n =
- match n#get_parentNode with
- None -> [n]
- | Some p -> n::(path p)
- in
- let rec last_common =
- function
- _, hd1::tl1, hd2::tl2 when hd1#isSameNode hd2 -> (last_common ((Some hd1),tl1,tl2))
- | Some e, _, _ -> e
- | _,_,_ -> assert false
- in
- (last_common (None,(List.rev (path first)),(List.rev (path last))))
-
-let same_element (e1 : Gdome.element option) (e2 : Gdome.element option) =
- match e1, e2 with
- None, None -> true
- | Some e1, Some e2 when (e1 :> Gdome.node)#isSameNode (e2 :> Gdome.node) -> true
- | _ -> false
-
-(* true if n1 is n2 or one of n2's descendants *)
-let rec descendant_of (n1 : Gdome.node) (n2 : Gdome.node) =
- if n1#isSameNode n2 then true
- else
- match n1#get_parentNode with
- None -> false
- | Some n1' -> descendant_of n1' n2
-
-let remove_descendants_of (el : Gdome.element) =
- let rec aux =
- function
- [] -> []
- | hd::tl when descendant_of (hd :> Gdome.node) (el :> Gdome.node) -> aux tl
- | hd::tl -> hd::(aux tl)
- in
- aux
-
-(* mem el l = true if the node n is stored in the list l *)
-let mem (el : Gdome.element) =
- let rec mem_aux =
- function
- hd::_ when (hd :> Gdome.node)#isSameNode (el :> Gdome.node) -> true
- | _::tl -> mem_aux tl
- | _ -> false
- in
- mem_aux
-
-(* remove el l = l' where l' has the same nodes as l except that all
- * the occurrences of n have been removed *)
-let remove (el : Gdome.element) =
- let rec remove_aux =
- function
- hd::tl when (hd :> Gdome.node)#isSameNode (el :> Gdome.node) ->
- remove_aux tl
- | hd::tl -> hd::(remove_aux tl)
- | [] -> []
- in
- remove_aux
-
-class single_selection_math_view_signals obj (set_selection_changed : (Gdome.element option -> unit) -> unit) =
- object
- inherit GMathView.math_view_signals obj
- method selection_changed = set_selection_changed
- end
-;;
-
-class single_selection_math_view obj =
- object(self)
- inherit GMathView.math_view_skel obj
- val mutable first_selected = None
- val mutable root_selected = None
- val mutable selection_changed = (fun _ -> ())
-
- method set_selection elem =
- self#freeze ;
- begin
- match root_selected with
- None -> ()
- | Some e -> self#unselect e
- end;
- root_selected <- elem ;
- begin
- match elem with
- None -> ()
- | Some e -> self#select e
- end ;
- self#thaw
-
- method get_selection = root_selected
-
- method connect =
- new
- single_selection_math_view_signals obj
- (function f -> selection_changed <- f)
-
- method action_toggle (elem : Gdome.element) =
- match elem#get_namespaceURI, elem#get_localName with
- Some ns, Some ln
- when ns#to_string = "http://www.w3.org/1998/Math/MathML" &&
- ln#to_string = "maction"
- ->
- begin
- let selection_attr = Gdome.domString "selection" in
- let selection =
- if elem#hasAttribute ~name:selection_attr then
- int_of_string (elem#getAttribute ~name:selection_attr)#to_string
- else
- 1
- in
- self#freeze ;
- (* the widget will cast the index back into a valid range *)
- elem#setAttribute ~name:selection_attr
- ~value:(Gdome.domString (string_of_int (selection + 1))) ;
- self#thaw ;
- true
- end
- | _ ->
- begin
- match elem#get_parentNode with
- Some p ->
- begin
- try
- self#action_toggle (new Gdome.element_of_node p)
- with
- GdomeInit.DOMCastException _ -> false
- end
- | None -> assert false (* every element has a parent *)
- end
-
- initializer
- selection_changed <- self#set_selection ;
-
- ignore
- (self#connect#select_begin
- (fun (elem : Gdome.element option) _ ->
- if not (same_element root_selected elem) then selection_changed elem ;
- first_selected <- elem)) ;
-
- ignore
- (self#connect#select_over
- (fun (elem : Gdome.element option) _ ->
- let new_selected =
- match first_selected, elem with
- Some first', Some last' ->
- (Some
- (new Gdome.element_of_node
- (common_ancestor (first' :> Gdome.node) (last' :> Gdome.node))))
- | _ -> None
- in
- if not (same_element root_selected new_selected) then
- selection_changed new_selected)) ;
-
- ignore
- (self#connect#select_end
- (fun (elem : Gdome.element option) _ -> first_selected <- None)) ;
-
- ignore
- (self#connect#select_abort
- (fun () ->
- first_selected <- None ;
- selection_changed None)) ;
-
- ignore (self#connect#click (fun _ _ -> self#set_selection None))
- end
-;;
-
-let single_selection_math_view ?hadjustment ?vadjustment ?font_size ?log_verbosity =
- GtkBase.Container.make_params ~cont:(
- OgtkMathViewProps.pack_return
- (fun p -> OgtkMathViewProps.set_params (new single_selection_math_view (GtkMathViewProps.MathView.create p)) ~font_size ~log_verbosity)) []
-;;
-
-class multi_selection_math_view_signals obj
- (set_selection_changed : (Gdome.element option -> unit) -> unit)
-=
- object
- inherit GMathView.math_view_signals obj
- method selection_changed = set_selection_changed
- end
-;;
-
-class multi_selection_math_view obj =
- object(self)
- inherit single_selection_math_view obj
- val mutable selected : Gdome.element list = []
-
- method remove_selection (elem : Gdome.element) =
- if mem elem selected then
- selected <- remove elem selected ;
- self#unselect elem
-
- method remove_selections =
- self#freeze ;
- List.iter (fun e -> self#unselect e) selected ;
- selected <- [] ;
- begin
- match self#get_selection with
- None -> ()
- | Some e -> self#select e
- end ;
- self#thaw
-
- method add_selection (elem : Gdome.element) =
- selected <- elem::(remove_descendants_of elem selected) ;
- self#select elem
-
- method get_selections = selected
-
- method set_selection elem =
- self#freeze ;
- begin
- match root_selected with
- None -> ()
- | Some e -> self#unselect e ; List.iter (fun e -> self#select e) selected
- end;
- root_selected <- elem;
- begin
- match elem with
- None -> ()
- | Some e -> self#select e
- end ;
- self#thaw
-
- initializer
- ignore
- (self#connect#select_begin
- (fun _ state ->
- if not (List.mem `CONTROL (Gdk.Convert.modifier state)) then
- self#remove_selections)) ;
-
- ignore
- (self#connect#select_over
- (fun _ state ->
- let c =
- function
- `SHIFT -> "shift "
- | `LOCK -> "lock "
- | `CONTROL -> "control "
- | `MOD1 -> "mod1 "
- | _ -> ""
- in
- List.iter (fun x -> print_string (c x)) (Gdk.Convert.modifier state) ;
- print_char '\n' ;
- flush stdout)) ;
-
- ignore
- (self#connect#select_end
- (fun _ state ->
- if not (List.mem `CONTROL (Gdk.Convert.modifier state)) then
- self#remove_selections ;
- match root_selected with
- None -> ()
- | Some e -> self#set_selection None ; self#add_selection e)) ;
-
- ignore
- (self#connect#click
- (fun _ _ -> self#remove_selections))
- end
- ;;
-
-let multi_selection_math_view ?hadjustment ?vadjustment ?font_size ?log_verbosity =
- GtkBase.Container.make_params ~cont:(
- OgtkMathViewProps.pack_return
- (fun p -> OgtkMathViewProps.set_params (new multi_selection_math_view (GtkMathViewProps.MathView.create p)) ~font_size ~log_verbosity)) []
-;;
diff --git a/helm/DEVEL/lablgtkmathview/gMathViewAux.mli b/helm/DEVEL/lablgtkmathview/gMathViewAux.mli
deleted file mode 100644
index d8eb283cc..000000000
--- a/helm/DEVEL/lablgtkmathview/gMathViewAux.mli
+++ /dev/null
@@ -1,78 +0,0 @@
-(* Copyright (C) 2000-2003, Luca Padovani ,
- * Claudio Sacerdoti Coen .
- *
- * This file is part of lablgtkmathview, the Ocaml binding
- * for the GtkMathView widget.
- *
- * lablgtkmathview is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * lablgtkmathview is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with lablgtkmathview; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * For details, send a mail to the author.
- *)
-
-class single_selection_math_view_signals :
- ([> `container | `gtk | `mathview | `widget] as 'b) Gtk.obj ->
- ((Gdome.element option -> unit) -> unit) ->
- object
- inherit GMathView.math_view_signals
- method selection_changed : (Gdome.element_of_node option -> unit) -> unit
- end
-
-class single_selection_math_view :
- Gtk_mathview.math_view Gtk.obj ->
- object
- inherit GMathView.math_view_skel
- method connect : single_selection_math_view_signals
- method get_selection : Gdome.element option
- method set_selection : Gdome.element option -> unit
- method action_toggle : Gdome.element -> bool
- end
-
-val single_selection_math_view :
- ?hadjustment:GData.adjustment ->
- ?vadjustment:GData.adjustment ->
- ?font_size:int ->
- ?log_verbosity:int ->
- ?border_width:int ->
- ?width:int ->
- ?height:int ->
- ?packing:(GObj.widget -> unit) ->
- ?show:bool ->
- unit -> single_selection_math_view
-
- (** EXPERIMENTAL STUFF from now on: use with care and at your own risk! *)
-
-class multi_selection_math_view :
- Gtk_mathview.math_view Gtk.obj ->
- object
- inherit single_selection_math_view
- method remove_selection : Gdome.element -> unit
- method remove_selections : unit
- method add_selection : Gdome.element -> unit
- method get_selections : Gdome.element list
- end
-
-val multi_selection_math_view :
- ?hadjustment:GData.adjustment ->
- ?vadjustment:GData.adjustment ->
- ?font_size:int ->
- ?log_verbosity:int ->
- ?border_width:int ->
- ?width:int ->
- ?height:int ->
- ?packing:(GObj.widget -> unit) ->
- ?show:bool ->
- unit -> multi_selection_math_view
-
-
diff --git a/helm/DEVEL/lablgtkmathview/gtkMathView.ml b/helm/DEVEL/lablgtkmathview/gtkMathView.ml
deleted file mode 100644
index 50de7a72f..000000000
--- a/helm/DEVEL/lablgtkmathview/gtkMathView.ml
+++ /dev/null
@@ -1,86 +0,0 @@
-(* Copyright (C) 2000-2003, Luca Padovani ,
- * Claudio Sacerdoti Coen .
- *
- * This file is part of lablgtkmathview, the Ocaml binding
- * for the GtkMathView widget.
- *
- * lablgtkmathview is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * lablgtkmathview is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with lablgtkmathview; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * For details, send a mail to the author.
- *)
-
-open Gtk_mathview
-open Gaux
-open Gobject
-open Gtk
-open Tags
-open GtkMathViewProps
-open GtkBase
-
-external _gtkmathview_init : unit -> unit = "ml_gtk_mathview_init"
-let () = _gtkmathview_init ()
-
-module MathView = struct
- include MathView
- external freeze : [>`mathview] obj -> unit =
- "ml_gtk_math_view_freeze"
- external thaw : [>`mathview] obj -> unit =
- "ml_gtk_math_view_thaw"
- external load_uri : [>`mathview] obj -> filename:string -> bool =
- "ml_gtk_math_view_load_uri"
- external load_doc : [>`mathview] obj -> dom:[> `Document] GdomeT.t -> bool =
- "ml_gtk_math_view_load_doc"
- external unload : [>`mathview] obj -> unit =
- "ml_gtk_math_view_unload"
- external select :
- [>`mathview] obj -> [> `Element] GdomeT.t -> unit =
- "ml_gtk_math_view_select"
- external unselect :
- [>`mathview] obj -> [> `Element] GdomeT.t -> unit =
- "ml_gtk_math_view_unselect"
- external is_selected :
- [>`mathview] obj -> [> `Element] GdomeT.t -> bool =
- "ml_gtk_math_view_is_selected"
- external get_element_at :
- [> `mathview] obj -> int -> int -> TElement.t option =
- "ml_gtk_math_view_get_element_at"
- (* beginning of prop-like methods *)
- external get_width : [>`mathview] obj -> int =
- "ml_gtk_math_view_get_width"
- external get_height : [>`mathview] obj -> int =
- "ml_gtk_math_view_get_height"
- external get_top : [>`mathview] obj -> (int * int) =
- "ml_gtk_math_view_get_top"
- external set_top : [>`mathview] obj -> int -> int -> unit =
- "ml_gtk_math_view_set_top"
- external set_adjustments : [>`mathview] obj -> Gtk.adjustment obj -> Gtk.adjustment obj -> unit =
- "ml_gtk_math_view_set_adjustments"
- external get_hadjustment : [>`mathview] obj -> Gtk.adjustment obj =
- "ml_gtk_math_view_get_hadjustment"
- external get_vadjustment : [>`mathview] obj -> Gtk.adjustment obj =
- "ml_gtk_math_view_get_vadjustment"
- external get_buffer : [>`mathview] obj -> Gdk.pixmap =
- "ml_gtk_math_view_get_buffer"
- external get_drawing_area : [>`mathview] obj -> Gtk.drawing_area obj =
- "ml_gtk_math_view_get_drawing_area"
- external set_font_size : [>`mathview] obj -> int -> unit =
- "ml_gtk_math_view_set_font_size"
- external get_font_size : [>`mathview] obj -> int =
- "ml_gtk_math_view_get_font_size"
- external set_log_verbosity : [>`mathview] obj -> int -> unit =
- "ml_gtk_math_view_set_log_verbosity"
- external get_log_verbosity : [>`mathview] obj -> int =
- "ml_gtk_math_view_get_log_verbosity"
-end
diff --git a/helm/DEVEL/lablgtkmathview/gtkMathView.props b/helm/DEVEL/lablgtkmathview/gtkMathView.props
deleted file mode 100644
index fba5f3c94..000000000
--- a/helm/DEVEL/lablgtkmathview/gtkMathView.props
+++ /dev/null
@@ -1,92 +0,0 @@
-(* $Id$ *)
-
-prefix "Gtk"
-
-header {
-open Gtk
-open Gtk_mathview
-
-external gdome_element_of_boxed_option :
- Gpointer.boxed option -> TElement.t =
- "ml_gtk_math_view_gdome_element_of_boxed_option"
-;;
-
-external gdome_element_option_of_boxed_option :
- Gpointer.boxed option -> TElement.t option =
- "ml_gtk_math_view_gdome_element_option_of_boxed_option"
-;;
-
-let option_element_of_option =
- function
- None -> None
- | Some v -> Some (new Gdome.element v)
-;;
-
-let option_element_of_boxed_option x =
- option_element_of_option (gdome_element_option_of_boxed_option x)
-;;
-
-let gdome_element_option_conv =
- {Gobject.kind = `POINTER ;
- Gobject.proj =
- (function
- `POINTER element -> option_element_of_boxed_option element
- | _ -> failwith "gdome_element_option_conv") ;
- Gobject.inj =
- (function element -> assert false)
- }
-}
-
-oheader {
-
-let set_params self ~font_size ~log_verbosity =
- begin
- match font_size with
- Some s -> self#set_font_size s
- | None -> ()
- end ;
- begin
- match log_verbosity with
- Some v -> self#set_log_verbosity v
- | None -> ()
- end ;
- self
-;;
-
-let pack_return create p ?packing ?show () =
- GObj.pack_return (create p) ~packing ~show
-;;
-
-}
-
-conversions {
- GdomeElement_option "gdome_element_option_conv"
-}
-
-classes {
- GtkAdjustment "Gtk.adjustment obj"
- GtkDrawingArea "Gtk.drawing_area obj"
-}
-
-
-class MathView type "math_view obj" set wrapsig : EventBox {
-(*
- "width" gint : Read
- "height" gint : Read
- "top-x" gint : Read / Write / NoSet
- "top-y" gint : Read / Write / NoSet
- "hadjustment" GtkAdjustment : Read / Write / Construct
- "vadjustment" GtkAdjustment : Read / Write / Construct
- "buffer" GdkPixmap : Read
- "drawing-area" GtkDrawingArea : Read
- "font-size" guint : Read / Write / Construct
- "log-verbosity" gint : Read / Write / Construct
- "root-element" GdomeElement_option : Read
-*)
- signal click: GdomeElement_option gint
- signal select_begin: GdomeElement_option gint
- signal select_over: GdomeElement_option gint
- signal select_end: GdomeElement_option gint
- signal select_abort
- signal element_over: GdomeElement_option gint
-}
diff --git a/helm/DEVEL/lablgtkmathview/gtk_mathview.ml b/helm/DEVEL/lablgtkmathview/gtk_mathview.ml
deleted file mode 100644
index a5d366194..000000000
--- a/helm/DEVEL/lablgtkmathview/gtk_mathview.ml
+++ /dev/null
@@ -1,24 +0,0 @@
-(* Copyright (C) 2000-2003, Luca Padovani ,
- * Claudio Sacerdoti Coen .
- *
- * This file is part of lablgtkmathview, the Ocaml binding
- * for the GtkMathView widget.
- *
- * lablgtkmathview is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * lablgtkmathview is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with lablgtkmathview; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * For details, send a mail to the author.
- *)
-
-type math_view = [Gtk.event_box|`mathview]
diff --git a/helm/DEVEL/lablgtkmathview/lablgtk/META.lablgtk b/helm/DEVEL/lablgtkmathview/lablgtk/META.lablgtk
deleted file mode 100644
index f70c5bec6..000000000
--- a/helm/DEVEL/lablgtkmathview/lablgtk/META.lablgtk
+++ /dev/null
@@ -1,6 +0,0 @@
-requires=""
-version="1.2.0"
-archive(byte)="lablgtk.cma lablgnome.cma gtkInit.cmo"
-archive(native)="lablgtk.cmxa lablgnome.cmxa gtkInit.cmx"
-linkopts=""
-directory="+lablgtk"
diff --git a/helm/DEVEL/lablgtkmathview/ml_gtk_mathview.c b/helm/DEVEL/lablgtkmathview/ml_gtk_mathview.c
deleted file mode 100644
index 51fded25e..000000000
--- a/helm/DEVEL/lablgtkmathview/ml_gtk_mathview.c
+++ /dev/null
@@ -1,178 +0,0 @@
-/* Copyright (C) 2000-2003, Luca Padovani ,
- * Claudio Sacerdoti Coen .
- *
- * This file is part of lablgtkmathview, the Ocaml binding
- * for the GtkMathView widget.
- *
- * lablgtkmathview is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * lablgtkmathview is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with lablgtkmathview; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * For details, send a mail to the author.
- */
-
-#include
-
-#include
-#include
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include
-
-/* Init all */
-
-CAMLprim value ml_gtk_mathview_init(value unit)
-{
- /* Since these are declared const, must force gcc to call them! */
- GType t = gtk_math_view_get_type();
- return Val_GType(t);
-}
-
-#define GtkMathView_val(val) check_cast(GTK_MATH_VIEW,val)
-
-//#####################################
-//
-//#define FontManagerId_val(val) Int_val(val)
-//#define Val_FontManagerId(val) Val_int(val)
-//
-///* As ML_1, but the result is optional */
-//#define OML_1(cname, conv1, conv) \
-//value ml_##cname (value arg1) { return Val_option_ptr((cname (conv1 (arg1))),conv); }
-///* As ML_3, but the result is optional */
-#define OML_3(cname, conv1, conv2, conv3, conv) \
-value ml_##cname (value arg1, value arg2, value arg3) { return Val_option_ptr((cname (conv1 (arg1), conv2 (arg2), conv3 (arg3))),conv); }
-///* As ML_2, but the second argument is optional */
-//#define ML_2O(cname, conv1, conv2, conv) \
-//value ml_##cname (value arg1, value arg2) \
-//{ return conv (cname (conv1(arg1), ptr_val_option(arg2,conv2))); }
-
-value Val_Element_ref(GdomeElement* elem)
-{
- if (elem != NULL)
- {
- GdomeException exc = 0;
- gdome_el_ref(elem, &exc);
- g_assert(exc == 0);
- }
- return Val_Element(elem);
-}
-
-OML_3 (gtk_math_view_get_element_at, GtkMathView_val, Int_val, Int_val, Val_Element)
-ML_1 (gtk_math_view_freeze, GtkMathView_val, Unit)
-ML_1 (gtk_math_view_thaw, GtkMathView_val, Unit)
-ML_2 (gtk_math_view_load_uri, GtkMathView_val, String_val, Val_bool)
-ML_2 (gtk_math_view_load_doc, GtkMathView_val, Document_val, Val_bool)
-ML_1 (gtk_math_view_unload, GtkMathView_val, Unit)
-ML_2 (gtk_math_view_select, GtkMathView_val, Element_val, Unit)
-ML_2 (gtk_math_view_unselect, GtkMathView_val, Element_val, Unit)
-ML_2 (gtk_math_view_is_selected, GtkMathView_val, Element_val, Val_bool)
-/*
-ML_2 (gtk_math_view_new,GtkAdjustment_val, GtkAdjustment_val, Val_GtkWidget_sink)
-*/
-ML_1 (gtk_math_view_get_width, GtkMathView_val, Val_int)
-ML_1 (gtk_math_view_get_height, GtkMathView_val, Val_int)
-ML_3 (gtk_math_view_set_top, GtkMathView_val, Int_val, Int_val, Unit)
-ML_3 (gtk_math_view_set_adjustments, GtkMathView_val, GtkAdjustment_val, GtkAdjustment_val, Unit)
-ML_1 (gtk_math_view_get_hadjustment, GtkMathView_val, Val_GtkWidget)
-ML_1 (gtk_math_view_get_vadjustment, GtkMathView_val, Val_GtkWidget)
-ML_1 (gtk_math_view_get_buffer, GtkMathView_val, Val_GdkPixmap)
-ML_1 (gtk_math_view_get_drawing_area, GtkMathView_val, Val_GtkWidget)
-ML_2 (gtk_math_view_set_font_size, GtkMathView_val, Int_val, Unit)
-ML_1 (gtk_math_view_get_font_size, GtkMathView_val, Val_int)
-ML_2 (gtk_math_view_set_log_verbosity, GtkMathView_val, Int_val, Unit)
-ML_1 (gtk_math_view_get_log_verbosity, GtkMathView_val, Val_int)
-
-value ml_gtk_math_view_get_top (value arg1)
-{
- CAMLparam1(arg1);
- CAMLlocal1 (result);
- int x, y;
- gtk_math_view_get_top(GtkMathView_val (arg1), &x, &y);
- result = alloc(2, 0);
- Store_field(result, 0, Val_int(x));
- Store_field(result, 1, Val_int(y));
- CAMLreturn (result);
-}
-
-/*
-value ml_gtk_math_view_get_element_coords (value arg1, value arg2)
-{
- CAMLparam2(arg1, arg2);
- CAMLlocal1 (result);
- int x, y;
- gtk_math_view_get_element_coords(GtkMathView_val (arg1), Element_val(arg2), &x, &y);
- result = alloc(2, 0);
- Store_field(result, 0, Val_int(x));
- Store_field(result, 1, Val_int(y));
- CAMLreturn (result);
-}
-*/
-
-value ml_gtk_math_view_gdome_element_of_boxed_option (value arg1)
-{
- CAMLparam1(arg1);
-
- GdomeException exc = 0;
- GdomeElement* nr = NULL;
- CAMLlocal1 (res);
-
- if (arg1==Val_int(0)) {
- assert(0);
- } else {
- nr = (GdomeElement*) Field(Field(arg1,0),1);
- }
-
- res = Val_Element_ref(nr);
- if (res==Val_int(0)) {
- assert(0);
- }
-
- CAMLreturn(res);
-}
-
-value ml_gtk_math_view_gdome_element_option_of_boxed_option (value arg1)
-{
- CAMLparam1(arg1);
-
- GdomeElement* nr;
- CAMLlocal1 (valnr);
- CAMLlocal1 (res);
-
- if (arg1==Val_int(0)) {
- res=Val_unit;
- } else {
- GdomeException exc = 0;
- GdomeElement* elem = (GdomeElement*) Field(Field(arg1,0),1);
- assert(elem != NULL);
- res = Val_option_ptr(elem, Val_Element_ref);
- }
-
- CAMLreturn(res);
-}
diff --git a/helm/DEVEL/lablgtkmathview/test/.cvsignore b/helm/DEVEL/lablgtkmathview/test/.cvsignore
deleted file mode 100644
index b95eb22fb..000000000
--- a/helm/DEVEL/lablgtkmathview/test/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.cmo *.cmi *.cmx t1lib.log test test.opt test.ps test.o Makefile
diff --git a/helm/DEVEL/lablgtkmathview/test/Makefile.in b/helm/DEVEL/lablgtkmathview/test/Makefile.in
deleted file mode 100644
index 29ab71ffc..000000000
--- a/helm/DEVEL/lablgtkmathview/test/Makefile.in
+++ /dev/null
@@ -1,20 +0,0 @@
-PACKAGE = @PACKAGE@
-MLFLAGS = -predicates "init"
-OCAMLC = ocamlfind ocamlc $(MLFLAGS)
-OCAMLOPT = ocamlfind ocamlopt $(MLFLAGS)
-TMPDIR = .test
-
-all: test
-opt: test.opt
-
-test: test.ml
- $(OCAMLC) -package "$(PACKAGE)" -linkpkg -predicates "" -o $@ test.ml
-
-test.opt: test.ml
- $(OCAMLOPT) -package "$(PACKAGE)" -linkpkg -predicates "" -o $@ test.ml
-
-clean:
- rm -f *.cm[iox] *.o test test.opt t1lib.log test.ps
-
-distclean:
- rm Makefile
diff --git a/helm/DEVEL/lablgtkmathview/test/t1.config b/helm/DEVEL/lablgtkmathview/test/t1.config
deleted file mode 100644
index afb669e95..000000000
--- a/helm/DEVEL/lablgtkmathview/test/t1.config
+++ /dev/null
@@ -1,3 +0,0 @@
-ENCODING=.
-AFM=/usr/share/texmf/fonts/afm/
-TYPE1=/usr/share/texmf/fonts/type1/bluesky/cm/:/usr/X11R6/lib/X11/fonts/Type1/:.
diff --git a/helm/DEVEL/lablgtkmathview/test/test.ml b/helm/DEVEL/lablgtkmathview/test/test.ml
deleted file mode 100644
index e6bfc9d1d..000000000
--- a/helm/DEVEL/lablgtkmathview/test/test.ml
+++ /dev/null
@@ -1,384 +0,0 @@
-(* Copyright (C) 2000-2003, Luca Padovani ,
- * Claudio Sacerdoti Coen .
- *
- * This file is part of lablgtkmathview, the Ocaml binding
- * for the GtkMathView widget.
- *
- * lablgtkmathview is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * lablgtkmathview is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with lablgtkmathview; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * For details, send a mail to the author.
- *)
-
-(******************************************************************************)
-(* Claudio Sacerdoti Coen *)
-(* 25/09/2000 *)
-(* *)
-(* This is a simple test for the OCaml (LablGtk indeed) binding of the *)
-(* MathView widget *)
-(******************************************************************************)
-
-let helmns = Gdome.domString "http://www.cs.unibo.it/helm";;
-
-(*
-let choose_selection mmlwidget (element : Gdome.element option) =
- let module G = Gdome in
- let rec aux element =
- if element#hasAttributeNS
- ~namespaceURI:Misc.helmns
- ~localName:(G.domString "xref")
- then
- mmlwidget#set_selection (Some element)
- else
- try
- match element#get_parentNode with
- None -> assert false
- (*CSC: OCAML DIVERGES!
- | Some p -> aux (new G.element_of_node p)
- *)
- | Some p -> aux (new Gdome.element_of_node p)
- with
- GdomeInit.DOMCastException _ ->
- prerr_endline
- "******* trying to select above the document root ********"
- in
- match element with
- Some x -> aux x
- | None -> mmlwidget#set_selection None
-;;
-*)
-
-(* Callbacks *)
-let selection_changed mathview (element : Gdome.element option) =
- let rec aux element =
- if element#hasAttributeNS
- ~namespaceURI:helmns
- ~localName:(Gdome.domString "xref")
- then
- mathview#set_selection (Some element)
- else
- try
- match element#get_parentNode with
- None -> mathview#set_selection None
- | Some p -> aux (new Gdome.element_of_node p)
- with
- GdomeInit.DOMCastException _ ->
- prerr_endline "******* trying to select above the document root ********"
- in
- print_endline ("selection_changed: " ^
- (match element with
- None -> "selection_changed on nothing"
- | Some element -> element#get_tagName#to_string
- )
- ) ;
- match element with
- None -> ()
- | Some el -> aux el;
- flush stdout
-;;
-
-let element_over mathview (element : Gdome.element option) _ =
- print_endline ("element_over: " ^
- (match element with
- None -> "element_over on nothing"
- | Some element -> element#get_tagName#to_string
- )
- ) ;
- flush stdout
-;;
-
-let rec jump (element : Gdome.element) =
- let module G = Gdome in
- let attr = (element#getAttribute ~name:(G.domString "href"))#to_string in
- if attr = "" then
- match element#get_parentNode with
- Some p ->
- begin
- try
- jump (new Gdome.element_of_node p)
- with
- GdomeInit.DOMCastException _ ->
- print_string "jump: NO HREF FOR THIS NODE\n" ;
- flush stdout ;
- false
- end
- | None -> assert false (* every element has a parent *)
- else
- begin
- print_endline ("jump: " ^ attr) ;
- flush stdout ;
- true
- end
-;;
-
-let rec action mathview (element : Gdome.element) =
- let module G = Gdome in
- if element#get_tagName#to_string = "m:maction" then
- let selection =
- if element#hasAttribute ~name:(G.domString "selection") then
- int_of_string (element#getAttribute ~name:(G.domString "selection"))#to_string
- else
- 1
- in
- mathview#freeze ;
- (* the widget will cast the index back into a reasonable range *)
- element#setAttribute ~name:(G.domString "selection") ~value:(G.domString (string_of_int (selection + 1))) ;
- mathview#thaw ;
- true
- else
- match element#get_parentNode with
- Some p ->
- begin
- try
- action mathview (new Gdome.element_of_node p)
- with
- GdomeInit.DOMCastException _ ->
- print_string "action: NO MACTION FOUND\n" ;
- flush stdout ;
- false
- end
- | None -> assert false (* every element has a parent *)
-
-let click mathview (element : Gdome.element option) _ =
- let module G = Gdome in
- match element with
- None -> print_string "CLICKED ON NOTHING\n" ; flush stdout
- | Some element ->
- if not (jump element) then
- if not (mathview#action_toggle element) then
- ()
-;;
-
-
-let load_uri mathview () =
- mathview#load_uri ~filename:"test.xml" ;
- print_string "load: SEEMS TO WORK\n" ;
- flush stdout
-;;
-
-let load_doc mathview () =
- mathview#load_doc ~dom:((Gdome.domImplementation ())#createDocumentFromURI ~uri:"test.xml" ()) ;
- print_string "load from DOM: SEEMS TO WORK\n" ;
- flush stdout
-;;
-
-let test_get_selection mathview () =
- let selection =
- match mathview#get_selection with
- Some element -> element#get_tagName#to_string
- | None -> "no selection!"
- in
- print_string ("selection: " ^ selection ^ "\n") ;
- flush stdout
-;;
-
-let test_set_selection mathview () =
- begin
- match mathview#get_selection with
- Some element ->
- begin
- match element#get_parentNode with
- Some p ->
- begin
- try
- mathview#set_selection (Some (new Gdome.element_of_node p));
- print_string "set selection: SEEMS TO WORK\n"
- with
- GdomeInit.DOMCastException _ ->
- print_string "EXCEPTION: no parent\n"
- end
- | None -> assert false (* every element has a parent *)
- end
- | None ->
- mathview#set_selection None;
- print_string "no selection\n"
- end ;
- flush stdout
-;;
-
-let test_add_selection (mathview : GMathViewAux.multi_selection_math_view) () =
- match mathview#get_selection with
- Some e -> mathview#add_selection e
- | None ->
- begin
- print_string "no selection to add\n" ;
- flush stdout
- end
-;;
-
-let test_reset_selections (mathview : GMathViewAux.multi_selection_math_view) () =
- mathview#set_selection None ;
- mathview#remove_selections
-
-let unload mathview () =
- mathview#unload ;
- print_string "unload: SEEMS TO WORK\n" ;
- flush stdout
-;;
-
-let get_width mathview () =
- print_string ("width: " ^ string_of_int (mathview#get_width) ^ "\n") ;
- flush stdout
-;;
-
-let get_height mathview () =
- print_string ("height: " ^ string_of_int (mathview#get_height) ^ "\n") ;
- flush stdout
-;;
-
-let get_top mathview () =
- let (x,y) = mathview#get_top in
- print_string ("top: ("^ string_of_int x ^ "," ^ string_of_int y ^ ")\n") ;
- flush stdout
-;;
-
-let set_top mathview () =
- mathview#set_top 0 0;
- print_string "set_top: SEEM TO WORK\n" ;
- flush stdout
-;;
-
-let set_adjustments mathview () =
- let adj1 = GData.adjustment () in
- let adj2 = GData.adjustment () in
- mathview#set_adjustments adj1 adj2 ;
- adj1#set_value ((adj1#lower +. adj1#upper) /. 2.0) ;
- adj2#set_value ((adj2#lower +. adj2#upper) /. 2.0) ;
- print_string "set_adjustments: SEEM TO WORK\n" ;
- flush stdout
-;;
-
-let get_hadjustment mathview () =
- let adj = mathview#get_hadjustment in
- adj#set_value ((adj#lower +. adj#upper) /. 2.0) ;
- print_string "hadjustment: SEEM TO WORK\n" ;
- flush stdout
-;;
-
-let get_vadjustment mathview () =
- let adj = mathview#get_vadjustment in
- adj#set_value ((adj#lower +. adj#upper) /. 2.0) ;
- print_string "vadjustment: SEEM TO WORK\n" ;
- flush stdout
-;;
-
-let get_buffer mathview () =
- let buffer = mathview#get_buffer in
- Gdk.Draw.rectangle buffer (Gdk.GC.create buffer) ~x:0 ~y:0
- ~width:50 ~height:50 ~filled:true () ;
- print_string "buffer: SEEMS TO WORK (hint: force the widget redrawing)\n";
- flush stdout
-;;
-
-let set_font_size mathview () =
- mathview#set_font_size 24 ;
- print_string "set_font_size: FONT IS NOW 24\n" ;
- flush stdout
-;;
-
-let get_font_size mathview () =
- print_string ("font_size: " ^ string_of_int (mathview#get_font_size) ^ "\n") ;
- flush stdout
-;;
-
-let set_log_verbosity mathview () =
- mathview#set_log_verbosity 3 ;
- print_string "set_log_verbosity: NOW IS 3\n" ;
- flush stdout
-;;
-
-let get_log_verbosity mathview () =
- print_string ("log_verbosity: " ^
- string_of_int mathview#get_log_verbosity ^
- "\n") ;
- flush stdout
-;;
-
-let x_coord = ref 0
-;;
-
-let get_element_at mathview () =
- begin
- match mathview#get_element_at !x_coord 10 with
- None -> print_string ("there is no element at " ^ (string_of_int !x_coord) ^ " 10\n")
- | Some e -> print_string ("at " ^ (string_of_int !x_coord) ^ " 10 found element " ^ (e#get_nodeName#to_string) ^ "\n")
- end ;
- x_coord := !x_coord + 10 ;
- flush stdout
-;;
-
-let get_drawing_area mathview () =
- begin
- let da = mathview#get_drawing_area in
- print_string ("don't know what to do with the drawing area\n")
- end ;
- flush stdout
-;;
-
-(* Widget creation *)
-let main_window = GWindow.window ~title:"GtkMathView test" () in
-let vbox = GPack.vbox ~packing:main_window#add () in
-let sw = GBin.scrolled_window ~width:50 ~height:50 ~packing:vbox#pack () in
-let mathview= GMathViewAux.multi_selection_math_view ~packing:sw#add ~width:50 ~height:50 () in
-let table = GPack.table ~rows:6 ~columns:5 ~packing:vbox#pack () in
-let button_load = GButton.button ~label:"load" ~packing:(table#attach ~left:1 ~top:0) () in
-let button_unload = GButton.button ~label:"unload" ~packing:(table#attach ~left:2 ~top:0) () in
-let button_selection = GButton.button ~label:"get_selection" ~packing:(table#attach ~left:3 ~top:0) () in
-let button_set_selection = GButton.button ~label:"set_selection" ~packing:(table#attach ~left:4 ~top:0) () in
-let button_add_selection = GButton.button ~label:"add_selection" ~packing:(table#attach ~left:3 ~top:3) () in
-let button_reset_selections = GButton.button ~label:"reset_selections" ~packing:(table#attach ~left:4 ~top:3) () in
-let button_get_width = GButton.button ~label:"get_width" ~packing:(table#attach ~left:0 ~top:1) () in
-let button_get_height = GButton.button ~label:"get_height" ~packing:(table#attach ~left:1 ~top:1) () in
-let button_get_top = GButton.button ~label:"get_top" ~packing:(table#attach ~left:2 ~top:1) () in
-let button_set_top = GButton.button ~label:"set_top" ~packing:(table#attach ~left:3 ~top:1) () in
-let button_set_adjustments = GButton.button ~label:"set_adjustments" ~packing:(table#attach ~left:4 ~top:1) () in
-let button_get_hadjustment = GButton.button ~label:"get_hadjustment" ~packing:(table#attach ~left:0 ~top:2) () in
-let button_get_vadjustment = GButton.button ~label:"get_vadjustment" ~packing:(table#attach ~left:1 ~top:2) () in
-let button_get_buffer = GButton.button ~label:"get_buffer" ~packing:(table#attach ~left:2 ~top:2) () in
-let button_set_font_size = GButton.button ~label:"set_font_size" ~packing:(table#attach ~left:4 ~top:2) () in
-let button_get_font_size = GButton.button ~label:"get_font_size" ~packing:(table#attach ~left:0 ~top:3) () in
-let button_set_log_verbosity = GButton.button ~label:"set_log_verbosity" ~packing:(table#attach ~left:0 ~top:4) () in
-let button_get_log_verbosity = GButton.button ~label:"get_log_verbosity" ~packing:(table#attach ~left:1 ~top:4) () in
-let button_load_dom = GButton.button ~label:"load from DOM" ~packing:(table#attach ~left:2 ~top:5) () in
-let button_get_element_at = GButton.button ~label:"get_element_at" ~packing:(table#attach ~left:3 ~top:5) () in
-let button_get_drawing_area = GButton.button ~label:"get_drawing_area" ~packing:(table#attach ~left:4 ~top:5) () in
-(* Signals connection *)
-ignore(button_load#connect#clicked (load_uri mathview)) ;
-ignore(button_unload#connect#clicked (unload mathview)) ;
-ignore(button_selection#connect#clicked (test_get_selection mathview)) ;
-ignore(button_set_selection#connect#clicked (test_set_selection mathview)) ;
-ignore(button_add_selection#connect#clicked (test_add_selection mathview)) ;
-ignore(button_reset_selections#connect#clicked (test_reset_selections mathview)) ;
-ignore(button_get_width#connect#clicked (get_width mathview)) ;
-ignore(button_get_height#connect#clicked (get_height mathview)) ;
-ignore(button_get_top#connect#clicked (get_top mathview)) ;
-ignore(button_set_top#connect#clicked (set_top mathview)) ;
-ignore(button_set_adjustments#connect#clicked (set_adjustments mathview)) ;
-ignore(button_get_hadjustment#connect#clicked (get_hadjustment mathview)) ;
-ignore(button_get_vadjustment#connect#clicked (get_vadjustment mathview)) ;
-ignore(button_get_buffer#connect#clicked (get_buffer mathview)) ;
-ignore(button_set_font_size#connect#clicked (set_font_size mathview)) ;
-ignore(button_get_font_size#connect#clicked (get_font_size mathview)) ;
-ignore(button_set_log_verbosity#connect#clicked (set_log_verbosity mathview)) ;
-ignore(button_get_log_verbosity#connect#clicked (get_log_verbosity mathview)) ;
-ignore(mathview#connect#click (click mathview)) ;
-ignore(mathview#connect#selection_changed (selection_changed mathview));
-ignore(mathview#connect#element_over (element_over mathview)) ;
-ignore(button_load_dom#connect#clicked (load_doc mathview)) ;
-ignore(button_get_element_at#connect#clicked (get_element_at mathview)) ;
-ignore(button_get_drawing_area#connect#clicked (get_drawing_area mathview)) ;
-(* Main Loop *)
-main_window#show () ;
-GMain.Main.main ()
-;;
diff --git a/helm/DEVEL/lablgtkmathview/test/test.xml b/helm/DEVEL/lablgtkmathview/test/test.xml
deleted file mode 100644
index a29bcdac0..000000000
--- a/helm/DEVEL/lablgtkmathview/test/test.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-
-
-
-
-
-]>
-
-
-
- ∫
- ⁡
-
-
- It's a secret!
-
-
- a
- ⁢
- x
-
- +
- b
-
-
-
-
- x
- 2
-
- +
-
- p
- ⁢
- x
-
- +
- q
-
-
-
- d
- x
- =
-
-
- a2
- ⁢
-
- ln
- ⁡
-
- (
-
- x2
- +
-
- p
- ⁢
- x
-
- +
- q
-
- )
-
-
-
- +
-
-
-
-
- 2
- ⁢
- b
-
- -
-
- a
- ⁢
- p
-
-
-
-
-
- 4
- ⁢
- q
-
- -
-
- p
- 2
-
-
-
-
- ⁢
-
- arctg
- ⁡
-
-
-
- 2
- ⁢
- x
-
- +
- p
-
-
-
-
- 4
- ⁢
- q
-
- -
-
- p
- 2
-
-
-
-
-
-
- +
- c
-
-
diff --git a/helm/DEVEL/mathml_editor/Makefile.in b/helm/DEVEL/mathml_editor/Makefile.in
deleted file mode 100644
index b66feab8e..000000000
--- a/helm/DEVEL/mathml_editor/Makefile.in
+++ /dev/null
@@ -1,438 +0,0 @@
-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = .
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AS = @AS@
-CC = @CC@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
-EDITEX_VERSION_INFO = @EDITEX_VERSION_INFO@
-EXEEXT = @EXEEXT@
-GDOMEXSLT_CFLAGS = @GDOMEXSLT_CFLAGS@
-GDOMEXSLT_LIBS = @GDOMEXSLT_LIBS@
-GMETADOM_CFLAGS = @GMETADOM_CFLAGS@
-GMETADOM_LIBS = @GMETADOM_LIBS@
-GTKMATHVIEW_CFLAGS = @GTKMATHVIEW_CFLAGS@
-GTKMATHVIEW_LIBS = @GTKMATHVIEW_LIBS@
-HAVE_OCAMLC = @HAVE_OCAMLC@
-HAVE_OCAMLDEP = @HAVE_OCAMLDEP@
-HAVE_OCAMLFIND = @HAVE_OCAMLFIND@
-HAVE_OCAMLMKLIB = @HAVE_OCAMLMKLIB@
-HAVE_OCAMLOPT = @HAVE_OCAMLOPT@
-LDFLAGS = @LDFLAGS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-MLGDOME_CFLAGS = @MLGDOME_CFLAGS@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OCAMLC = @OCAMLC@
-OCAMLDEP = @OCAMLDEP@
-OCAMLFIND = @OCAMLFIND@
-OCAMLMKLIB = @OCAMLMKLIB@
-OCAMLOPT = @OCAMLOPT@
-OCAMLSTDLIBDIR = @OCAMLSTDLIBDIR@
-OCAMLSTUBDIR = @OCAMLSTUBDIR@
-OCAML_INCLUDE_DIR = @OCAML_INCLUDE_DIR@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-STRIP = @STRIP@
-VERSION = @VERSION@
-
-EXTRA_DIST = BUGS LICENSE aclocal.m4
-SUBDIRS = src test ocaml textomml
-CLEANFILES = core
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = editex.pc
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = editex.pc
-DATA = $(pkgconfig_DATA)
-
-DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \
-Makefile.am Makefile.in NEWS TODO aclocal.m4 config.guess config.h.in \
-config.sub configure configure.ac editex.pc.in install-sh ltmain.sh \
-missing mkinstalldirs
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = tar
-GZIP_ENV = --best
-all: all-redirect
-.SUFFIXES:
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
- cd $(top_builddir) \
- && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-$(ACLOCAL_M4): configure.ac
- cd $(srcdir) && $(ACLOCAL)
-
-config.status: $(srcdir)/configure.ac $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-$(srcdir)/configure: $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
- cd $(srcdir) && $(AUTOCONF)
-
-config.h: stamp-h
- @if test ! -f $@; then \
- rm -f stamp-h; \
- $(MAKE) stamp-h; \
- else :; fi
-stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES= CONFIG_HEADERS=config.h \
- $(SHELL) ./config.status
- @echo timestamp > stamp-h 2> /dev/null
-$(srcdir)/config.h.in: $(srcdir)/stamp-h.in
- @if test ! -f $@; then \
- rm -f $(srcdir)/stamp-h.in; \
- $(MAKE) $(srcdir)/stamp-h.in; \
- else :; fi
-$(srcdir)/stamp-h.in: $(top_srcdir)/configure.ac $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOHEADER)
- @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null
-
-mostlyclean-hdr:
-
-clean-hdr:
-
-distclean-hdr:
- -rm -f config.h
-
-maintainer-clean-hdr:
-editex.pc: $(top_builddir)/config.status editex.pc.in
- cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-install-pkgconfigDATA: $(pkgconfig_DATA)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(pkgconfigdir)
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
- if test -f $(srcdir)/$$p; then \
- echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgconfigdir)/$$p"; \
- $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgconfigdir)/$$p; \
- else if test -f $$p; then \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgconfigdir)/$$p"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(pkgconfigdir)/$$p; \
- fi; fi; \
- done
-
-uninstall-pkgconfigDATA:
- @$(NORMAL_UNINSTALL)
- list='$(pkgconfig_DATA)'; for p in $$list; do \
- rm -f $(DESTDIR)$(pkgconfigdir)/$$p; \
- done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-
-@SET_MAKE@
-
-all-recursive install-data-recursive install-exec-recursive \
-installdirs-recursive install-recursive uninstall-recursive \
-check-recursive installcheck-recursive info-recursive dvi-recursive:
- @set fnord $(MAKEFLAGS); amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $(MAKEFLAGS); amf=$$2; \
- dot_seen=no; \
- rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
- rev="$$subdir $$rev"; \
- test "$$subdir" = "." && dot_seen=yes; \
- done; \
- test "$$dot_seen" = "no" && rev=". $$rev"; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- -rm -rf $(distdir)
- GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
- mkdir $(distdir)/=build
- mkdir $(distdir)/=inst
- dc_install_base=`cd $(distdir)/=inst && pwd`; \
- cd $(distdir)/=build \
- && ../configure --srcdir=.. --prefix=$$dc_install_base \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) dist
- -rm -rf $(distdir)
- @banner="$(distdir).tar.gz is ready for distribution"; \
- dashes=`echo "$$banner" | sed s/./=/g`; \
- echo "$$dashes"; \
- echo "$$banner"; \
- echo "$$dashes"
-dist: distdir
- -chmod -R a+r $(distdir)
- GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
- -rm -rf $(distdir)
-dist-all: distdir
- -chmod -R a+r $(distdir)
- GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
- -rm -rf $(distdir)
-distdir: $(DISTFILES)
- -rm -rf $(distdir)
- mkdir $(distdir)
- -chmod 777 $(distdir)
- here=`cd $(top_builddir) && pwd`; \
- top_distdir=`cd $(distdir) && pwd`; \
- distdir=`cd $(distdir) && pwd`; \
- cd $(top_srcdir) \
- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
- for subdir in $(SUBDIRS); do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- chmod 777 $(distdir)/$$subdir; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
- || exit 1; \
- fi; \
- done
-info-am:
-info: info-recursive
-dvi-am:
-dvi: dvi-recursive
-check-am: all-am
-check: check-recursive
-installcheck-am:
-installcheck: installcheck-recursive
-all-recursive-am: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-install-exec-am:
-install-exec: install-exec-recursive
-
-install-data-am: install-pkgconfigDATA
-install-data: install-data-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-recursive
-uninstall-am: uninstall-pkgconfigDATA
-uninstall: uninstall-recursive
-all-am: Makefile $(DATA) config.h
-all-redirect: all-recursive-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs: installdirs-recursive
-installdirs-am:
- $(mkinstalldirs) $(DESTDIR)$(pkgconfigdir)
-
-
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic
-
-mostlyclean: mostlyclean-recursive
-
-clean-am: clean-hdr clean-tags clean-generic mostlyclean-am
-
-clean: clean-recursive
-
-distclean-am: distclean-hdr distclean-tags distclean-generic clean-am
- -rm -f libtool
-
-distclean: distclean-recursive
- -rm -f config.status
-
-maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \
- maintainer-clean-generic distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f config.status
-
-.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
-uninstall-pkgconfigDATA install-pkgconfigDATA install-data-recursive \
-uninstall-data-recursive install-exec-recursive \
-uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
-all-recursive check-recursive installcheck-recursive info-recursive \
-dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \
-install-exec-am install-exec install-data-am install-data install-am \
-install uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-backup:
- cd ..; tar cvfz @PACKAGE@-@VERSION@-`date|tr ' ' '_'|tr ':' '_'`.tar.gz @PACKAGE@
-
-cleanbak:
- -rm -f `find . -name "*~"`
-
-lc:
- @( \
- CFILES=`find . -name "*.c"`; \
- HFILES=`find . -name "*.h"`; \
- CCFILES=`find . -name "*.cc"`; \
- HHFILES=`find . -name "*.hh"`; \
- ICCFILES=`find . -name "*.icc"`; \
- wc -l $$CFILES $$HFILES $$CCFILES $$HHFILES $$ICCFILES | tail -n 1 \
- )
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/helm/DEVEL/mathml_editor/src/Makefile.in b/helm/DEVEL/mathml_editor/src/Makefile.in
deleted file mode 100644
index 0863b0101..000000000
--- a/helm/DEVEL/mathml_editor/src/Makefile.in
+++ /dev/null
@@ -1,431 +0,0 @@
-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AS = @AS@
-CC = @CC@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
-EDITEX_VERSION_INFO = @EDITEX_VERSION_INFO@
-EXEEXT = @EXEEXT@
-GDOMEXSLT_CFLAGS = @GDOMEXSLT_CFLAGS@
-GDOMEXSLT_LIBS = @GDOMEXSLT_LIBS@
-GMETADOM_CFLAGS = @GMETADOM_CFLAGS@
-GMETADOM_LIBS = @GMETADOM_LIBS@
-GTKMATHVIEW_CFLAGS = @GTKMATHVIEW_CFLAGS@
-GTKMATHVIEW_LIBS = @GTKMATHVIEW_LIBS@
-HAVE_OCAMLC = @HAVE_OCAMLC@
-HAVE_OCAMLDEP = @HAVE_OCAMLDEP@
-HAVE_OCAMLFIND = @HAVE_OCAMLFIND@
-HAVE_OCAMLMKLIB = @HAVE_OCAMLMKLIB@
-HAVE_OCAMLOPT = @HAVE_OCAMLOPT@
-LDFLAGS = @LDFLAGS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-MLGDOME_CFLAGS = @MLGDOME_CFLAGS@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OCAMLC = @OCAMLC@
-OCAMLDEP = @OCAMLDEP@
-OCAMLFIND = @OCAMLFIND@
-OCAMLMKLIB = @OCAMLMKLIB@
-OCAMLOPT = @OCAMLOPT@
-OCAMLSTDLIBDIR = @OCAMLSTDLIBDIR@
-OCAMLSTUBDIR = @OCAMLSTUBDIR@
-OCAML_INCLUDE_DIR = @OCAML_INCLUDE_DIR@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-STRIP = @STRIP@
-VERSION = @VERSION@
-
-lib_LTLIBRARIES = libeditex.la
-
-libeditex_la_LDFLAGS = -version-info @EDITEX_VERSION_INFO@
-
-libeditex_la_LDADDS = $(GMETADOM_LIBS) $(GDOMEXSLT_LIBS)
-
-
-libeditex_la_SOURCES = Diff.cc CLoggerConsole.cc ITPushLexer.cc ILPushLexer.cc TPushLexer.cc LPushLexer.cc APushParser.cc TPushParser.cc CMathMLFactoryXSLT.cc CMathMLFactoryXSLTDiff.cc TDictionary.cc TDocument.cc TNode.cc TTokenizer.cc
-
-
-pkginclude_HEADERS = Diff.hh ALogger.hh CLoggerConsole.hh APushLexer.hh APushParser.hh AMathMLFactory.hh AMathMLConsumer.hh CMathMLFactoryXSLT.hh CMathMLFactoryXSLTDiff.hh TPushLexer.hh LPushLexer.hh ITPushLexer.hh ILPushLexer.hh TPushParser.hh TTokenizer.hh TDictionary.hh TDocument.hh TNode.hh TListener.hh TToken.hh globals.hh dom.hh
-
-
-INCLUDES = $(GMETADOM_CFLAGS) $(GDOMEXSLT_CFLAGS)
-
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../config.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(lib_LTLIBRARIES)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I..
-LIBS = @LIBS@
-libeditex_la_LIBADD =
-libeditex_la_OBJECTS = Diff.lo CLoggerConsole.lo ITPushLexer.lo \
-ILPushLexer.lo TPushLexer.lo LPushLexer.lo APushParser.lo \
-TPushParser.lo CMathMLFactoryXSLT.lo CMathMLFactoryXSLTDiff.lo \
-TDictionary.lo TDocument.lo TNode.lo TTokenizer.lo
-CXXFLAGS = @CXXFLAGS@
-CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
-HEADERS = $(pkginclude_HEADERS)
-
-DIST_COMMON = Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = tar
-GZIP_ENV = --best
-DEP_FILES = .deps/APushParser.P .deps/CLoggerConsole.P \
-.deps/CMathMLFactoryXSLT.P .deps/CMathMLFactoryXSLTDiff.P .deps/Diff.P \
-.deps/ILPushLexer.P .deps/ITPushLexer.P .deps/LPushLexer.P \
-.deps/TDictionary.P .deps/TDocument.P .deps/TNode.P .deps/TPushLexer.P \
-.deps/TPushParser.P .deps/TTokenizer.P
-SOURCES = $(libeditex_la_SOURCES)
-OBJECTS = $(libeditex_la_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .cc .lo .o .obj .s
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-mostlyclean-libLTLIBRARIES:
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-
-distclean-libLTLIBRARIES:
-
-maintainer-clean-libLTLIBRARIES:
-
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(libdir)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \
- $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \
- else :; fi; \
- done
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
- done
-
-# FIXME: We should only use cygpath when building on Windows,
-# and only if it is available.
-.c.obj:
- $(COMPILE) -c `cygpath -w $<`
-
-.s.o:
- $(COMPILE) -c $<
-
-.S.o:
- $(COMPILE) -c $<
-
-mostlyclean-compile:
- -rm -f *.o core *.core
- -rm -f *.$(OBJEXT)
-
-clean-compile:
-
-distclean-compile:
- -rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.s.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-libeditex.la: $(libeditex_la_OBJECTS) $(libeditex_la_DEPENDENCIES)
- $(CXXLINK) -rpath $(libdir) $(libeditex_la_LDFLAGS) $(libeditex_la_OBJECTS) $(libeditex_la_LIBADD) $(LIBS)
-.cc.o:
- $(CXXCOMPILE) -c $<
-.cc.obj:
- $(CXXCOMPILE) -c `cygpath -w $<`
-.cc.lo:
- $(LTCXXCOMPILE) -c $<
-
-install-pkgincludeHEADERS: $(pkginclude_HEADERS)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(pkgincludedir)
- @list='$(pkginclude_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
- echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgincludedir)/$$p"; \
- $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgincludedir)/$$p; \
- done
-
-uninstall-pkgincludeHEADERS:
- @$(NORMAL_UNINSTALL)
- list='$(pkginclude_HEADERS)'; for p in $$list; do \
- rm -f $(DESTDIR)$(pkgincludedir)/$$p; \
- done
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = src
-
-distdir: $(DISTFILES)
- here=`cd $(top_builddir) && pwd`; \
- top_distdir=`cd $(top_distdir) && pwd`; \
- distdir=`cd $(distdir) && pwd`; \
- cd $(top_srcdir) \
- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/Makefile
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
-
-DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
-
--include $(DEP_FILES)
-
-mostlyclean-depend:
-
-clean-depend:
-
-distclean-depend:
- -rm -rf .deps
-
-maintainer-clean-depend:
-
-%.o: %.c
- @echo '$(COMPILE) -c $<'; \
- $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-cp .deps/$(*F).pp .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm .deps/$(*F).pp
-
-%.lo: %.c
- @echo '$(LTCOMPILE) -c $<'; \
- $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
- < .deps/$(*F).pp > .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm -f .deps/$(*F).pp
-
-%.o: %.cc
- @echo '$(CXXCOMPILE) -c $<'; \
- $(CXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-cp .deps/$(*F).pp .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm .deps/$(*F).pp
-
-%.lo: %.cc
- @echo '$(LTCXXCOMPILE) -c $<'; \
- $(LTCXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
- < .deps/$(*F).pp > .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm -f .deps/$(*F).pp
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am: install-libLTLIBRARIES
-install-exec: install-exec-am
-
-install-data-am: install-pkgincludeHEADERS
-install-data: install-data-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am: uninstall-libLTLIBRARIES uninstall-pkgincludeHEADERS
-uninstall: uninstall-am
-all-am: Makefile $(LTLIBRARIES) $(HEADERS)
-all-redirect: all-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
- $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(pkgincludedir)
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-libLTLIBRARIES mostlyclean-compile \
- mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
- mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am: clean-libLTLIBRARIES clean-compile clean-libtool clean-tags \
- clean-depend clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am: distclean-libLTLIBRARIES distclean-compile \
- distclean-libtool distclean-tags distclean-depend \
- distclean-generic clean-am
- -rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am: maintainer-clean-libLTLIBRARIES \
- maintainer-clean-compile maintainer-clean-libtool \
- maintainer-clean-tags maintainer-clean-depend \
- maintainer-clean-generic distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: mostlyclean-libLTLIBRARIES distclean-libLTLIBRARIES \
-clean-libLTLIBRARIES maintainer-clean-libLTLIBRARIES \
-uninstall-libLTLIBRARIES install-libLTLIBRARIES mostlyclean-compile \
-distclean-compile clean-compile maintainer-clean-compile \
-mostlyclean-libtool distclean-libtool clean-libtool \
-maintainer-clean-libtool uninstall-pkgincludeHEADERS \
-install-pkgincludeHEADERS tags mostlyclean-tags distclean-tags \
-clean-tags maintainer-clean-tags distdir mostlyclean-depend \
-distclean-depend clean-depend maintainer-clean-depend info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/helm/DEVEL/mathml_editor/test/Makefile.in b/helm/DEVEL/mathml_editor/test/Makefile.in
deleted file mode 100644
index df6bac536..000000000
--- a/helm/DEVEL/mathml_editor/test/Makefile.in
+++ /dev/null
@@ -1,396 +0,0 @@
-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AS = @AS@
-CC = @CC@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
-EDITEX_VERSION_INFO = @EDITEX_VERSION_INFO@
-EXEEXT = @EXEEXT@
-GDOMEXSLT_CFLAGS = @GDOMEXSLT_CFLAGS@
-GDOMEXSLT_LIBS = @GDOMEXSLT_LIBS@
-GMETADOM_CFLAGS = @GMETADOM_CFLAGS@
-GMETADOM_LIBS = @GMETADOM_LIBS@
-GTKMATHVIEW_CFLAGS = @GTKMATHVIEW_CFLAGS@
-GTKMATHVIEW_LIBS = @GTKMATHVIEW_LIBS@
-HAVE_OCAMLC = @HAVE_OCAMLC@
-HAVE_OCAMLDEP = @HAVE_OCAMLDEP@
-HAVE_OCAMLFIND = @HAVE_OCAMLFIND@
-HAVE_OCAMLMKLIB = @HAVE_OCAMLMKLIB@
-HAVE_OCAMLOPT = @HAVE_OCAMLOPT@
-LDFLAGS = @LDFLAGS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-MLGDOME_CFLAGS = @MLGDOME_CFLAGS@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OCAMLC = @OCAMLC@
-OCAMLDEP = @OCAMLDEP@
-OCAMLFIND = @OCAMLFIND@
-OCAMLMKLIB = @OCAMLMKLIB@
-OCAMLOPT = @OCAMLOPT@
-OCAMLSTDLIBDIR = @OCAMLSTDLIBDIR@
-OCAMLSTUBDIR = @OCAMLSTUBDIR@
-OCAML_INCLUDE_DIR = @OCAML_INCLUDE_DIR@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-STRIP = @STRIP@
-VERSION = @VERSION@
-
-noinst_PROGRAMS = editor
-
-editor_SOURCES = editor.cc guiGTK.c aux.cc
-
-noinst_HEADERS = guiGTK.h
-
-LDADDS = $(GMETADOM_LIBS) $(GDOMEXSLT_LIBS) $(GTKMATHVIEW_LIBS) $(top_builddir)/src/.libs/libeditex.a
-
-
-editor_LDADD = $(LDADDS)
-
-INCLUDES = $(GMETADOM_CFLAGS) $(GDOMEXSLT_CFLAGS) $(GTKMATHVIEW_CFLAGS) -I$(top_srcdir)/src
-
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../config.h
-CONFIG_CLEAN_FILES =
-noinst_PROGRAMS = editor$(EXEEXT)
-PROGRAMS = $(noinst_PROGRAMS)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I..
-LIBS = @LIBS@
-editor_OBJECTS = editor.$(OBJEXT) guiGTK.$(OBJEXT) aux.$(OBJEXT)
-editor_DEPENDENCIES = $(top_builddir)/src/.libs/libeditex.a
-editor_LDFLAGS =
-CXXFLAGS = @CXXFLAGS@
-CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-HEADERS = $(noinst_HEADERS)
-
-DIST_COMMON = Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = tar
-GZIP_ENV = --best
-DEP_FILES = .deps/aux.P .deps/editor.P .deps/guiGTK.P
-SOURCES = $(editor_SOURCES)
-OBJECTS = $(editor_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .cc .lo .o .obj .s
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-mostlyclean-noinstPROGRAMS:
-
-clean-noinstPROGRAMS:
- -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-
-distclean-noinstPROGRAMS:
-
-maintainer-clean-noinstPROGRAMS:
-
-# FIXME: We should only use cygpath when building on Windows,
-# and only if it is available.
-.c.obj:
- $(COMPILE) -c `cygpath -w $<`
-
-.s.o:
- $(COMPILE) -c $<
-
-.S.o:
- $(COMPILE) -c $<
-
-mostlyclean-compile:
- -rm -f *.o core *.core
- -rm -f *.$(OBJEXT)
-
-clean-compile:
-
-distclean-compile:
- -rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.s.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-editor$(EXEEXT): $(editor_OBJECTS) $(editor_DEPENDENCIES)
- @rm -f editor$(EXEEXT)
- $(CXXLINK) $(editor_LDFLAGS) $(editor_OBJECTS) $(editor_LDADD) $(LIBS)
-.cc.o:
- $(CXXCOMPILE) -c $<
-.cc.obj:
- $(CXXCOMPILE) -c `cygpath -w $<`
-.cc.lo:
- $(LTCXXCOMPILE) -c $<
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = test
-
-distdir: $(DISTFILES)
- here=`cd $(top_builddir) && pwd`; \
- top_distdir=`cd $(top_distdir) && pwd`; \
- distdir=`cd $(distdir) && pwd`; \
- cd $(top_srcdir) \
- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu test/Makefile
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
-
-DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
-
--include $(DEP_FILES)
-
-mostlyclean-depend:
-
-clean-depend:
-
-distclean-depend:
- -rm -rf .deps
-
-maintainer-clean-depend:
-
-%.o: %.c
- @echo '$(COMPILE) -c $<'; \
- $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-cp .deps/$(*F).pp .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm .deps/$(*F).pp
-
-%.lo: %.c
- @echo '$(LTCOMPILE) -c $<'; \
- $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
- < .deps/$(*F).pp > .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm -f .deps/$(*F).pp
-
-%.o: %.cc
- @echo '$(CXXCOMPILE) -c $<'; \
- $(CXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-cp .deps/$(*F).pp .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm .deps/$(*F).pp
-
-%.lo: %.cc
- @echo '$(LTCXXCOMPILE) -c $<'; \
- $(LTCXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
- < .deps/$(*F).pp > .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm -f .deps/$(*F).pp
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am:
-uninstall: uninstall-am
-all-am: Makefile $(PROGRAMS) $(HEADERS)
-all-redirect: all-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-noinstPROGRAMS mostlyclean-compile \
- mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
- mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am: clean-noinstPROGRAMS clean-compile clean-libtool clean-tags \
- clean-depend clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am: distclean-noinstPROGRAMS distclean-compile \
- distclean-libtool distclean-tags distclean-depend \
- distclean-generic clean-am
- -rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am: maintainer-clean-noinstPROGRAMS \
- maintainer-clean-compile maintainer-clean-libtool \
- maintainer-clean-tags maintainer-clean-depend \
- maintainer-clean-generic distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \
-clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir \
-mostlyclean-depend distclean-depend clean-depend \
-maintainer-clean-depend info-am info dvi-am dvi check check-am \
-installcheck-am installcheck install-exec-am install-exec \
-install-data-am install-data install-am install uninstall-am uninstall \
-all-redirect all-am all installdirs mostlyclean-generic \
-distclean-generic clean-generic maintainer-clean-generic clean \
-mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/helm/DEVEL/ocaml-http/.cvsignore b/helm/DEVEL/ocaml-http/.cvsignore
deleted file mode 100644
index 391f4f58e..000000000
--- a/helm/DEVEL/ocaml-http/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-*.cmi
-*.cmo
-*.cmx
-*.cma
-*.cmxa
-*.o
-*.a
-*.deb
diff --git a/helm/DEVEL/ocaml-http/.depend b/helm/DEVEL/ocaml-http/.depend
deleted file mode 100644
index ab21af903..000000000
--- a/helm/DEVEL/ocaml-http/.depend
+++ /dev/null
@@ -1,46 +0,0 @@
-http_client.cmo: http_common.cmi http_misc.cmi http_parser.cmi \
- http_client.cmi
-http_client.cmx: http_common.cmx http_misc.cmx http_parser.cmx \
- http_client.cmi
-http_common.cmo: http_constants.cmi http_types.cmo http_common.cmi
-http_common.cmx: http_constants.cmx http_types.cmx http_common.cmi
-http_constants.cmo: http_constants.cmi
-http_constants.cmx: http_constants.cmi
-http_daemon.cmo: http_common.cmi http_constants.cmi http_misc.cmi \
- http_parser.cmi http_parser_sanity.cmi http_request.cmi \
- http_tcp_server.cmi http_types.cmo http_daemon.cmi
-http_daemon.cmx: http_common.cmx http_constants.cmx http_misc.cmx \
- http_parser.cmx http_parser_sanity.cmx http_request.cmx \
- http_tcp_server.cmx http_types.cmx http_daemon.cmi
-http_message.cmo: http_common.cmi http_constants.cmi http_misc.cmi \
- http_parser_sanity.cmi http_types.cmo http_message.cmi
-http_message.cmx: http_common.cmx http_constants.cmx http_misc.cmx \
- http_parser_sanity.cmx http_types.cmx http_message.cmi
-http_misc.cmo: http_types.cmo http_misc.cmi
-http_misc.cmx: http_types.cmx http_misc.cmi
-http_parser.cmo: http_common.cmi http_constants.cmi http_parser_sanity.cmi \
- http_types.cmo http_parser.cmi
-http_parser.cmx: http_common.cmx http_constants.cmx http_parser_sanity.cmx \
- http_types.cmx http_parser.cmi
-http_parser_sanity.cmo: http_constants.cmi http_types.cmo \
- http_parser_sanity.cmi
-http_parser_sanity.cmx: http_constants.cmx http_types.cmx \
- http_parser_sanity.cmi
-http_request.cmo: http_common.cmi http_message.cmi http_misc.cmi \
- http_parser.cmi http_types.cmo http_request.cmi
-http_request.cmx: http_common.cmx http_message.cmx http_misc.cmx \
- http_parser.cmx http_types.cmx http_request.cmi
-http_response.cmo: http_common.cmi http_constants.cmi http_daemon.cmi \
- http_message.cmi http_misc.cmi http_types.cmo http_response.cmi
-http_response.cmx: http_common.cmx http_constants.cmx http_daemon.cmx \
- http_message.cmx http_misc.cmx http_types.cmx http_response.cmi
-http_tcp_server.cmo: http_threaded_tcp_server.cmi http_tcp_server.cmi
-http_tcp_server.cmx: http_threaded_tcp_server.cmi http_tcp_server.cmi
-http_common.cmi: http_types.cmo
-http_constants.cmi: http_types.cmo
-http_daemon.cmi: http_types.cmo
-http_message.cmi: http_types.cmo
-http_parser.cmi: http_types.cmo
-http_request.cmi: http_types.cmo
-http_response.cmi: http_types.cmo
-http_tcp_server.cmi: http_types.cmo
diff --git a/helm/DEVEL/ocaml-http/.ocamlinit b/helm/DEVEL/ocaml-http/.ocamlinit
deleted file mode 100644
index 64694a213..000000000
--- a/helm/DEVEL/ocaml-http/.ocamlinit
+++ /dev/null
@@ -1,5 +0,0 @@
-#use "topfind";;
-#require "unix";;
-#require "pcre";;
-#require "netstring";;
-#load "http.cma";;
diff --git a/helm/DEVEL/ocaml-http/INSTALL b/helm/DEVEL/ocaml-http/INSTALL
deleted file mode 100644
index c98cdb44a..000000000
--- a/helm/DEVEL/ocaml-http/INSTALL
+++ /dev/null
@@ -1,37 +0,0 @@
-
-In order to build ocaml-http you will need:
-
- - the ocaml compiler (>= 3.06)
- [ http://caml.inria.fr ]
-
- - findlib (>= 0.8)
- [ http://www.ocaml-programming.de/packages/documentation/findlib/ ]
-
- - ocamlnet (>= 0.94)
- [ http://sourceforge.net/projects/ocamlnet ]
-
- - pcre-ocaml (>= 4.28.2)
- [ http://www.ai.univie.ac.at/~markus/home/ocaml_sources.html ]
-
-To build the bytecode library:
-
- $ make all
-
-To build the nativecode library (only if you have an ocaml native code
-compiler):
-
- $ make opt
-
-To install the built stuff in the OCaml standard library directory (as root):
-
- # make install
-
-To install the built stuff in another directory:
-
- $ make install DESTDIR=another_directory
-
-To build a debian package of the library (please note that to build a debian
-package you will also need some additional stuff like debhelper, fakeroot, ...):
-
- $ fakeroot debian/rules binary
-
diff --git a/helm/DEVEL/ocaml-http/LICENSE b/helm/DEVEL/ocaml-http/LICENSE
deleted file mode 100644
index baff777d2..000000000
--- a/helm/DEVEL/ocaml-http/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
diff --git a/helm/DEVEL/ocaml-http/META.in b/helm/DEVEL/ocaml-http/META.in
deleted file mode 100644
index 8c325462e..000000000
--- a/helm/DEVEL/ocaml-http/META.in
+++ /dev/null
@@ -1,8 +0,0 @@
-description = "OCaml HTTP daemon library"
-version = "@DISTVERSION@"
-requires = "unix,pcre,netstring"
-requires(mt) = "unix,pcre,netstring,threads"
-archive(byte) = "http.cma"
-archive(native) = "http.cmxa"
-archive(mt,byte) = "http_mt.cma"
-archive(mt,native) = "http_mt.cmxa"
diff --git a/helm/DEVEL/ocaml-http/Makefile b/helm/DEVEL/ocaml-http/Makefile
deleted file mode 100644
index 943174225..000000000
--- a/helm/DEVEL/ocaml-http/Makefile
+++ /dev/null
@@ -1,126 +0,0 @@
-include Makefile.defs
-
-MODULES = \
- http_types http_constants http_parser_sanity http_misc http_common \
- http_tcp_server http_parser http_message http_request http_daemon \
- http_response http_client
-
-THREADED_SRV = http_threaded_tcp_server
-MODULES_MT = $(patsubst http_tcp_server, mt/$(THREADED_SRV) http_tcp_server, $(MODULES))
-MODULES_NON_MT = $(patsubst http_tcp_server, non_mt/$(THREADED_SRV) http_tcp_server, $(MODULES))
-PUBLIC_MODULES = \
- http_common http_message http_request http_daemon http_response \
- http_client
-PUBLIC_IMPL = http_types
-OCAMLDOC_STUFF = *.mli $(patsubst %, %.ml, $(PUBLIC_IMPL))
-DOCDIR = doc/html
-DOTDIR = doc/dot
-TEXDIR = doc/latex
-DESTDIR = $(shell $(OCAMLFIND) printconf destdir)
-
-all: all_non_mt all_mt
-opt: opt_non_mt opt_mt
-all_non_mt: http.cma
-opt_non_mt: http.cmxa
-all_mt: http_mt.cma
-opt_mt: http_mt.cmxa
-world: all opt
-doc: $(DOTDIR)/ocaml-http.ps $(TEXDIR)/ocaml-http.tex $(OCAMLDOC_STUFF)
- $(OCAMLDOC) -html -d $(DOCDIR) $(OCAMLDOC_STUFF)
-$(TEXDIR)/ocaml-http.tex: $(OCAMLDOC_STUFF)
- $(OCAMLDOC) -latex -o $@ $^
-$(DOTDIR)/ocaml-http.ps: $(DOTDIR)/ocaml-http.dot
- $(DOT) -Tps $< > $@
-$(DOTDIR)/ocaml-http.dot: *.ml *.mli
- $(OCAMLDOC) -dot -o $(DOTDIR)/ocaml-http.dot *.ml *.mli
-
-examples:
- $(MAKE) -C examples/
-examples.opt:
- $(MAKE) -C examples/ opt
-
-include .depend
-
-depend:
- $(OCAMLDEP) *.ml *.mli > .depend
-
-%.cmi: %.mli
- $(OCAMLC) -c $<
-%.cmo: %.ml %.cmi
- $(OCAMLC) -c $<
-%.cmx: %.ml %.cmi
- $(OCAMLOPT) -c $<
-include Makefile.overrides
-
-non_mt/$(THREADED_SRV).cmo: non_mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi
- cp $(THREADED_SRV).{cmi,mli} non_mt/
- $(OCAMLC) -c $<
-non_mt/$(THREADED_SRV).cmx: non_mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi
- cp $(THREADED_SRV).{cmi,mli} non_mt/
- $(OCAMLOPT) -c $<
-
-mt/$(THREADED_SRV).cmo: mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi
- cp $(THREADED_SRV).{cmi,mli} mt/
- $(OCAMLC) $(THREADS_FLAGS) -c $<
-mt/$(THREADED_SRV).cmx: mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi
- cp $(THREADED_SRV).{cmi,mli} mt/
- $(OCAMLOPT) $(THREADS_FLAGS) -c $<
-
-http.cma: $(patsubst %,%.cmo,$(MODULES_NON_MT))
- $(OCAMLC) -a -o $@ $^
-http.cmxa: $(patsubst %,%.cmx,$(MODULES_NON_MT))
- $(OCAMLOPT) -a -o $@ $^
-http_mt.cma: $(patsubst %,%.cmo,$(MODULES_MT))
- $(OCAMLC) -a -o $@ $^
-http_mt.cmxa: $(patsubst %,%.cmx,$(MODULES_MT))
- $(OCAMLOPT) -a -o $@ $^
-
-meta: META
-META: META.in
- cat META.in | sed -e 's/@DISTVERSION@/$(DISTVERSION)/' > META
-
-clean:
- $(MAKE) -C examples/ clean
- for d in . mt non_mt; do \
- rm -f $$d/*.cm[ioax] $$d/*.cmxa $$d/*.[ao] $$d/test{,.opt}; \
- done
- rm -f {mt,non_mt}/$(THREADED_SRV).mli
-docclean:
- rm -f \
- $(DOCDIR)/*.html $(DOCDIR)/*.css \
- $(DOTDIR)/*.dot $(DOTDIR)/*.ps \
- $(TEXDIR)/*.tex
-distclean: clean
- $(MAKE) -C examples/ distclean
- rm -f META
-dist: distreal distrm
-distreal: distclean depend
- if [ -d $(DISTDIR) ]; then rm -rf $(DISTDIR); else true; fi
- mkdir $(DISTDIR)
- for f in \
- $(patsubst %, %.ml, $(MODULES)) \
- $(patsubst %, %.mli, $(MODULES) $(THREADED_SRV)) \
- mt/ non_mt/ $(EXTRA_DIST) examples/ debian/; \
- do \
- cp -r $$f $(DISTDIR)/; \
- done
- -find $(DISTDIR)/ -type d -name CVS -exec rm -rf {} \;
- -find $(DISTDIR)/ -type f -name ".cvs*" -exec rm -f {} \;
- tar cvzf $(DISTDIR).tar.gz $(DISTDIR)/
-distrm:
- rm -rf $(DISTDIR)/
-deb: docclean distreal
- (cd $(DISTDIR)/ && debuild)
- rm -rf $(DISTDIR)/
-install: META
- $(OCAMLFIND) install -destdir $(DESTDIR) $(PKGNAME) \
- $(patsubst %, %.mli, $(PUBLIC_MODULES)) \
- $(patsubst %, %.ml, $(PUBLIC_IMPL)) \
- $(patsubst %, %.cmi, $(PUBLIC_MODULES)) \
- $(patsubst %, %.cmi, $(PUBLIC_IMPL)) \
- http{,_mt}.cm{,x}a http{,_mt}.a META
-
-.PHONY: \
- all opt world all_non_mt all_mt opt_non_mt opt_mt \
- examples examples.opt depend clean distclean dist \
- install meta doc deb distreal distrm
diff --git a/helm/DEVEL/ocaml-http/Makefile.defs b/helm/DEVEL/ocaml-http/Makefile.defs
deleted file mode 100644
index 6fd4b75f8..000000000
--- a/helm/DEVEL/ocaml-http/Makefile.defs
+++ /dev/null
@@ -1,25 +0,0 @@
-PKGNAME = http
-DISTVERSION = $(shell dpkg-parsechangelog | egrep '^Version: ' | sed 's/^Version: //')
-
-DEBUG_FLAGS =
-REQUIRES = unix pcre netstring
-COMMON_FLAGS = $(DEBUG_FLAGS) -pp camlp4o -package "$(REQUIRES)"
-THREADS_FLAGS = -package threads -thread
-OCAMLFIND = ocamlfind
-OCAMLC = $(OCAMLFIND) ocamlc $(COMMON_FLAGS)
-OCAMLOPT = $(OCAMLFIND) ocamlopt $(COMMON_FLAGS)
-OCAMLDEP = $(OCAMLFIND) ocamldep $(COMMON_FLAGS)
-OCAMLDOC := \
- ocamldoc \
- $(shell $(OCAMLFIND) query -i-format unix) \
- $(shell $(OCAMLFIND) query -i-format pcre) \
- $(shell $(OCAMLFIND) query -i-format netstring)
-DOT = dot
-
-DISTNAME = ocaml-http
-DISTDIR = $(DISTNAME)-$(DISTVERSION)
-EXTRA_DIST = \
- INSTALL LICENSE README META.in Makefile Makefile.defs Makefile.overrides \
- .depend tophttp doc
-
-
diff --git a/helm/DEVEL/ocaml-http/Makefile.overrides b/helm/DEVEL/ocaml-http/Makefile.overrides
deleted file mode 100644
index 62a81b549..000000000
--- a/helm/DEVEL/ocaml-http/Makefile.overrides
+++ /dev/null
@@ -1,2 +0,0 @@
-http_types.cmi http_types.cmo: http_types.ml
- $(OCAMLC) -c $<
diff --git a/helm/DEVEL/ocaml-http/README b/helm/DEVEL/ocaml-http/README
deleted file mode 100644
index 1566b8e8b..000000000
--- a/helm/DEVEL/ocaml-http/README
+++ /dev/null
@@ -1,4 +0,0 @@
-
-OCaml HTTP is a simple OCaml library for creating HTTP daemons, it is largely
-inspired to the Perl's HTTP:: modules family.
-
diff --git a/helm/DEVEL/ocaml-http/TODO b/helm/DEVEL/ocaml-http/TODO
deleted file mode 100644
index e69de29bb..000000000
diff --git a/helm/DEVEL/ocaml-http/debian/changelog b/helm/DEVEL/ocaml-http/debian/changelog
deleted file mode 100644
index bcd147b09..000000000
--- a/helm/DEVEL/ocaml-http/debian/changelog
+++ /dev/null
@@ -1,78 +0,0 @@
-ocaml-http (0.0.9) unstable; urgency=low
-
- * Added support for HTTP Basic authentication
- * Restyled Http_daemon API so that correct invocations of them are
- statically typechecked
- * Added support for HEAD requests to Http_client
- * ~addr parameter now support not only ip addresses but also hostnames
- * debian/control
- - bumped Standards-Version to 3.6.1.0
- * debian/rules
- - moved debhelper compatibility level to debian/compat
-
- -- Stefano Zacchiroli Tue, 16 Dec 2003 18:01:41 +0100
-
-ocaml-http (0.0.8) unstable; urgency=low
-
- * Added support for "ancient" HTTP requests which specify no HTTP
- version
- - 'version' method on message now has type 'version option'
- * Http_daemon now use debugging prints from Http_common like other
- modules
- * Added debugging print of requests parse error
- * Shutdown server socket on abnormal exit (actually: uncaught
- exceptions or SIGTERM received)
- * Added a lot of ocamldoc documentation
- * Added minimal HTTP 1.0/1.1 client support
-
- -- Stefano Zacchiroli Fri, 10 Jan 2003 10:36:53 +0100
-
-ocaml-http (0.0.7) unstable; urgency=low
-
- * Added support for POST requests
- * Implemented a commont 'message' class from which 'request' and
- 'response' inherit
- * Changed constructor of 'request' objects, requests are now buildable
- directly (and only) from an input channel
- * Added client IP address information to Http_request.request class
- * Added OO daemon interfaces ("daemon" and "connection" classes)
- * Use Pcre to perform sanity test on headers instead of home made
- parsing
- * Callback functions can raise Http_types.Quit to have main daemon
- quit
- * Case-insensitive handling of header names
-
- -- Stefano Zacchiroli Wed, 25 Dec 2002 16:22:31 +0100
-
-ocaml-http (0.0.6) unstable; urgency=low
-
- * Ship multithreaded and non multithreaded cm{x,}aS
- * Added support for multiple binding of the same parameter in request
- objects (new method 'paramAll')
- * Added support for 'empty' bindings in query arguments (e.g.
- "/foo?b=" or "/foo?b")
- * Added some sanity checks
- * Bumped Standards-Version to 3.5.8
- * Use versioned dependencies lib{pcre,ocamlnet}-ocaml-dev-
- * Added 'Provides libhttp-ocaml-dev-'
- * Removed GPL from debian/copyright, added reference to
- /usr/share/common-licenses/GPL
-
- -- Stefano Zacchiroli Mon, 25 Nov 2002 11:04:49 +0100
-
-ocaml-http (0.0.5) unstable; urgency=low
-
- * Fixed bug for HTTP encoded GET parameters which contain '?' or '&'
- characters
- * Added support for chdir in a given document root before starting
- * Added support for multi threaded daemons
- * Added a generic 'Http_daemon.respond' function
- * Added 'toString' method to response objects
-
- -- Stefano Zacchiroli Fri, 22 Nov 2002 11:29:37 +0100
-
-ocaml-http (0.0.3) unstable; urgency=low
-
- * First release.
-
- -- Stefano Zacchiroli Sun, 17 Nov 2002 17:41:41 +0100
diff --git a/helm/DEVEL/ocaml-http/debian/compat b/helm/DEVEL/ocaml-http/debian/compat
deleted file mode 100644
index b8626c4cf..000000000
--- a/helm/DEVEL/ocaml-http/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-4
diff --git a/helm/DEVEL/ocaml-http/debian/control b/helm/DEVEL/ocaml-http/debian/control
deleted file mode 100644
index 0c021f1ff..000000000
--- a/helm/DEVEL/ocaml-http/debian/control
+++ /dev/null
@@ -1,19 +0,0 @@
-Source: ocaml-http
-Section: devel
-Priority: optional
-Maintainer: Stefano Zacchiroli
-Build-Depends: debhelper (>> 4.0.0), ocaml-3.07, ocaml-findlib, libpcre-ocaml-dev (>= 4.30.0), libocamlnet-ocaml-dev (>= 0.94), graphviz
-Standards-Version: 3.6.1.0
-
-Package: libhttp-ocaml-dev
-Architecture: any
-Depends: ocaml-3.07, libpcre-ocaml-dev (>= 4.30.0), libocamlnet-ocaml-dev (>= 0.94)
-Description: OCaml module to build simple HTTP servers
- OCaml module to build simple HTTP server, largely inspired to Perl's
- HTTP::Daemon module.
- .
- Contains an Http.Daemon module which allow you to create simple HTTP
- servers, and a set of facility functions to handle HTTP request and
- responses.
- .
- Contains also classes that enclose HTTP request and responses.
diff --git a/helm/DEVEL/ocaml-http/debian/copyright b/helm/DEVEL/ocaml-http/debian/copyright
deleted file mode 100644
index 0771df334..000000000
--- a/helm/DEVEL/ocaml-http/debian/copyright
+++ /dev/null
@@ -1,13 +0,0 @@
-Author: Stefano Zacchiroli
-
-Copyright:
-
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- OCaml HTTP is distributed under the term of the GNU General Public
- License, you can find a copy of the license in:
-
- /usr/share/common-licenses/GPL
-
diff --git a/helm/DEVEL/ocaml-http/debian/dirs b/helm/DEVEL/ocaml-http/debian/dirs
deleted file mode 100644
index f2e6e9096..000000000
--- a/helm/DEVEL/ocaml-http/debian/dirs
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib/ocaml/3.07
diff --git a/helm/DEVEL/ocaml-http/debian/docs b/helm/DEVEL/ocaml-http/debian/docs
deleted file mode 100644
index 2e098492d..000000000
--- a/helm/DEVEL/ocaml-http/debian/docs
+++ /dev/null
@@ -1,2 +0,0 @@
-README
-doc/*
diff --git a/helm/DEVEL/ocaml-http/debian/examples b/helm/DEVEL/ocaml-http/debian/examples
deleted file mode 100644
index 6e72ae207..000000000
--- a/helm/DEVEL/ocaml-http/debian/examples
+++ /dev/null
@@ -1 +0,0 @@
-examples/*.ml
diff --git a/helm/DEVEL/ocaml-http/debian/rules b/helm/DEVEL/ocaml-http/debian/rules
deleted file mode 100755
index d7f5ed8a2..000000000
--- a/helm/DEVEL/ocaml-http/debian/rules
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/make -f
-
-#export DH_VERBOSE=1
-
-TARGETDIR = $(CURDIR)/debian/libhttp-ocaml-dev
-OCAML_LIB_DIR = $(shell ocamlc -where)
-
-build: build-stamp
-build-stamp:
- dh_testdir
- $(MAKE) all
- if [ -x /usr/bin/ocamlopt ]; then $(MAKE) opt; else true; fi
- touch build-stamp
-
-clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp
- -$(MAKE) distclean
- dh_clean
-
-install: build
- dh_testdir
- dh_testroot
- dh_clean -k
- dh_installdirs
- $(MAKE) install DESTDIR=$(TARGETDIR)$(OCAML_LIB_DIR)
- $(MAKE) doc
-
-binary-arch: build install
- dh_testdir
- dh_testroot
- dh_installdocs
- dh_installexamples
- dh_installchangelogs
- dh_link
- dh_strip
- dh_compress
- dh_fixperms
- dh_installdeb
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
-
-binary: binary-arch
-.PHONY: build clean binary-arch binary install
diff --git a/helm/DEVEL/ocaml-http/doc/dot/.cvsignore b/helm/DEVEL/ocaml-http/doc/dot/.cvsignore
deleted file mode 100644
index 269c66077..000000000
--- a/helm/DEVEL/ocaml-http/doc/dot/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.dot
-*.ps
diff --git a/helm/DEVEL/ocaml-http/doc/html/.cvsignore b/helm/DEVEL/ocaml-http/doc/html/.cvsignore
deleted file mode 100644
index d0098b437..000000000
--- a/helm/DEVEL/ocaml-http/doc/html/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.css
-*.html
diff --git a/helm/DEVEL/ocaml-http/doc/latex/.cvsignore b/helm/DEVEL/ocaml-http/doc/latex/.cvsignore
deleted file mode 100644
index 01564af35..000000000
--- a/helm/DEVEL/ocaml-http/doc/latex/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.tex
diff --git a/helm/DEVEL/ocaml-http/examples/.cvsignore b/helm/DEVEL/ocaml-http/examples/.cvsignore
deleted file mode 100644
index c0404dd2a..000000000
--- a/helm/DEVEL/ocaml-http/examples/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-*.cmi
-*.cmo
-*.cmx
-*.cma
-*.cmxa
diff --git a/helm/DEVEL/ocaml-http/examples/Makefile b/helm/DEVEL/ocaml-http/examples/Makefile
deleted file mode 100644
index 453776c61..000000000
--- a/helm/DEVEL/ocaml-http/examples/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-include ../Makefile.defs
-OBJS_NON_MT = ../http.cma
-OBJS_NON_MT_OPT = ../http.cmxa
-OBJS_MT = ../http_mt.cma
-OBJS_MT_OPT = ../http_mt.cmxa
-EXAMPLES_FLAGS = -I .. -linkpkg
-
-EXAMPLES := \
- always_ok_daemon.ml \
- basic_auth.ml \
- chdir.ml \
- client_address.ml \
- damned_recursion.ml \
- dont_fork.ml \
- dump_args.ml \
- highlander.ml \
- obj_foo.ml \
- oo_daemon.ml \
- threads.ml \
- timeout.ml \
- webfsd.ml
-EXAMPLES := $(patsubst %.ml,%,$(EXAMPLES))
-
-all: $(EXAMPLES)
-opt: $(patsubst %,%.opt,$(EXAMPLES))
-%: %.ml $(OBJS_NON_MT)
- $(OCAMLC) $(EXAMPLES_FLAGS) $(OBJS_NON_MT) -o $@ $<
-%.opt: %.ml $(OBJS_NON_MT_OPT)
- $(OCAMLOPT) $(EXAMPLES_FLAGS) $(OBJS_NON_MT_OPT) -o $@ $<
-
-threads: threads.ml $(OBJS_MT)
- $(OCAMLC) $(EXAMPLES_FLAGS) $(OBJS_MT) $(THREADS_FLAGS) -o $@ $<
-threads.opt: threads.ml $(OBJS_MT_OPT)
- $(OCAMLOPT) $(EXAMPLES_FLAGS) $(OBJS_MT_OPT) $(THREADS_FLAGS) -o $@ $<
-
-damned_recursion: damned_recursion.ml $(OBJS_MT)
- $(OCAMLC) $(EXAMPLES_FLAGS) $(OBJS_MT) $(THREADS_FLAGS) -o $@ $<
-damned_recursion.opt: damned_recursion.ml $(OBJS_MT_OPT)
- $(OCAMLOPT) $(EXAMPLES_FLAGS) $(OBJS_MT_OPT) $(THREADS_FLAGS) -o $@ $<
-
-distclean: clean
-clean:
- -rm -f *.cm[ioax] *.o $(EXAMPLES) $(patsubst %,%.opt,$(EXAMPLES))
diff --git a/helm/DEVEL/ocaml-http/examples/always_ok_daemon.ml b/helm/DEVEL/ocaml-http/examples/always_ok_daemon.ml
deleted file mode 100644
index d5d456d74..000000000
--- a/helm/DEVEL/ocaml-http/examples/always_ok_daemon.ml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-open Http_daemon;;
- (* start an http daemon that alway respond with a 200 status code and an empty
- content *)
-start ~port:9999 ~addr:"localhost" (fun _ _ outchan -> respond outchan)
-
diff --git a/helm/DEVEL/ocaml-http/examples/basic_auth.ml b/helm/DEVEL/ocaml-http/examples/basic_auth.ml
deleted file mode 100644
index c3e4e6f91..000000000
--- a/helm/DEVEL/ocaml-http/examples/basic_auth.ml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-let callback (req: Http_types.request) outchan =
- match req#authorization with
- | Some (`Basic (username, password))
- when username = "foo" && password = "bar" ->
- Http_daemon.respond ~code:(`Code 200) ~body:"secret page!" outchan
- | _ -> raise (Http_types.Unauthorized "my secret site")
-
-let _ = Http_daemon.start' ~port:9999 callback
-
diff --git a/helm/DEVEL/ocaml-http/examples/chdir.ml b/helm/DEVEL/ocaml-http/examples/chdir.ml
deleted file mode 100644
index 183b3ca00..000000000
--- a/helm/DEVEL/ocaml-http/examples/chdir.ml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-open Http_daemon;;
-open Printf;;
-start
- ~port:9999
- ~root:"/etc"
- (fun _ _ outchan -> respond ~body:(sprintf "%s\n" (Sys.getcwd ())) outchan)
diff --git a/helm/DEVEL/ocaml-http/examples/client_address.ml b/helm/DEVEL/ocaml-http/examples/client_address.ml
deleted file mode 100644
index 0f5c68d2c..000000000
--- a/helm/DEVEL/ocaml-http/examples/client_address.ml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-open Printf;;
-
-let callback req outchan =
- let body =
- sprintf
- "Hi, this is your personal assistant, you are connected from %s:%d\n"
- req#clientAddr
- req#clientPort
- in
- let res = new Http_response.response ~body () in
- Http_daemon.respond_with res outchan
-in
-Http_daemon.start' ~port:9999 callback
diff --git a/helm/DEVEL/ocaml-http/examples/damned_recursion.ml b/helm/DEVEL/ocaml-http/examples/damned_recursion.ml
deleted file mode 100644
index 8c7efd91e..000000000
--- a/helm/DEVEL/ocaml-http/examples/damned_recursion.ml
+++ /dev/null
@@ -1,58 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-open Http_types;;
-open Printf;;
-
-let wget addr port path =
- let rec wget' inchan buf =
- Buffer.add_string buf (input_line inchan ^ "\n");
- wget' inchan buf
- in
- prerr_endline (sprintf "DEBUG: wgetting url '%s:%d%s'" addr port path);
- let sockaddr = Unix.ADDR_INET (Unix.inet_addr_of_string addr, port) in
- let suck = Unix.socket Unix.PF_INET Unix.SOCK_STREAM 0 in
- Unix.connect suck sockaddr;
- let outchan = Unix.out_channel_of_descr suck in
- output_string outchan (sprintf "GET %s HTTP/1.0\r\n\r\n" path);
- flush outchan;
- let inchan = Unix.in_channel_of_descr suck in
- let buf = Buffer.create 1023 in
- try
- wget' inchan buf
- with End_of_file -> Buffer.contents buf
-in
-let callback (req: request) outchan =
- let i = int_of_string (req#param "x") in
- prerr_endline (string_of_int i);
- match i with
- | 0 -> output_string outchan "1"
- | x when x>0 ->
- let data =
- wget "127.0.0.1" 9999 (sprintf "/foo?x=%d" (x-1))
-(* wget "127.0.0.1" 80 "/index.html" *)
- in
- output_string outchan (sprintf "%s %d" data x)
- | _ -> assert false
-in
-let mode = `Thread in
-Http_daemon.start' ~port:9999 ~mode callback
-
diff --git a/helm/DEVEL/ocaml-http/examples/dont_fork.ml b/helm/DEVEL/ocaml-http/examples/dont_fork.ml
deleted file mode 100644
index f05355496..000000000
--- a/helm/DEVEL/ocaml-http/examples/dont_fork.ml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-let callback req outchan =
- Http_daemon.respond_error ~body:"AH AH AH :-P\n" outchan
-in
-Http_daemon.start' ~port:9999 ~mode:`Single ~timeout:(Some 5) callback
diff --git a/helm/DEVEL/ocaml-http/examples/dump_args.ml b/helm/DEVEL/ocaml-http/examples/dump_args.ml
deleted file mode 100644
index a6dcdda0e..000000000
--- a/helm/DEVEL/ocaml-http/examples/dump_args.ml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-open Printf;;
-
-let callback req outchan =
- Http_daemon.send_basic_headers ~code:(`Code 200) outchan;
- Http_daemon.send_CRLF outchan;
- let str =
- (sprintf "request path = %s\n" req#path) ^
- (sprintf "request GET params = %s\n"
- (String.concat ";"
- (List.map (fun (h,v) -> String.concat "=" [h;v]) req#params_GET))) ^
- (sprintf "request POST params = %s\n"
- (String.concat ";"
- (List.map (fun (h,v) -> String.concat "=" [h;v]) req#params_POST))) ^
- (sprintf "request ALL params = %s\n"
- (String.concat ";"
- (List.map (fun (h,v) -> String.concat "=" [h;v]) req#params))) ^
- (sprintf "request BODY = '%s'\n" req#body)
- in
- output_string outchan str;
- prerr_endline str
-in
-print_endline "Starting custom Http_daemon ...";
-flush stdout;
-Http_daemon.start' ~port:9999 callback
-
diff --git a/helm/DEVEL/ocaml-http/examples/highlander.ml b/helm/DEVEL/ocaml-http/examples/highlander.ml
deleted file mode 100644
index 24a4abd84..000000000
--- a/helm/DEVEL/ocaml-http/examples/highlander.ml
+++ /dev/null
@@ -1,54 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-(* almost the same as dump_args.ml, but used to test fast rebinding of the same
-port *)
-
-open Printf;;
-
-let callback req outchan =
- Http_daemon.send_basic_headers ~code:(`Code 200) outchan;
- Http_daemon.send_CRLF outchan;
- let str =
- (sprintf "request path = %s\n" req#path) ^
- (sprintf "request GET params = %s\n"
- (String.concat ";"
- (List.map (fun (h,v) -> String.concat "=" [h;v]) req#params_GET))) ^
- (sprintf "request POST params = %s\n"
- (String.concat ";"
- (List.map (fun (h,v) -> String.concat "=" [h;v]) req#params_POST))) ^
- (sprintf "request ALL params = %s\n"
- (String.concat ";"
- (List.map (fun (h,v) -> String.concat "=" [h;v]) req#params))) ^
- (sprintf "request BODY = '%s'\n" req#body)
- in
- output_string outchan str;
- prerr_endline str
-in
-print_endline "Starting custom Http_daemon ...";
-flush stdout;
-(* Sys.catch_break true; *)
-while true do
-(* try *)
- Http_daemon.start' ~mode:`Single ~port:9999 callback
-(* with Sys.Break -> prerr_endline "RESURRECTION!!!!" *)
-done
-
diff --git a/helm/DEVEL/ocaml-http/examples/obj_foo.ml b/helm/DEVEL/ocaml-http/examples/obj_foo.ml
deleted file mode 100644
index 3a6911019..000000000
--- a/helm/DEVEL/ocaml-http/examples/obj_foo.ml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-open Http_types;;
-
-let callback (req: request) outchan =
- Http_daemon.respond_error ~body:(req#param "foo") outchan
-in
-Http_daemon.start' ~port:9999 callback
diff --git a/helm/DEVEL/ocaml-http/examples/oo_daemon.ml b/helm/DEVEL/ocaml-http/examples/oo_daemon.ml
deleted file mode 100644
index 528f2b246..000000000
--- a/helm/DEVEL/ocaml-http/examples/oo_daemon.ml
+++ /dev/null
@@ -1,44 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-open Http_daemon;;
-open Http_response;;
-
- (* the simple way *)
-let d = new daemon ~addr:"127.0.0.1" ~port:9999 () in
-while true do
- let (req, conn) = d#getRequest in (* wait for valid request *)
- conn#respond_with (new response ~body:"foo\n" ());
- conn#close
-done
-
-(*
- (* the hard way *)
-let d = new daemon ~addr:"127.0.0.1" ~port:9999 () in
-while true do
- let conn = d#accept in (* wait for client connection *)
- (match conn#getRequest with
- | None -> () (* invalid request received *)
- | Some req -> conn#respond_with (new response ~body:"foo\n" ()));
- conn#close (* close socket *)
-done
-*)
-
diff --git a/helm/DEVEL/ocaml-http/examples/threads.ml b/helm/DEVEL/ocaml-http/examples/threads.ml
deleted file mode 100644
index a73f422d8..000000000
--- a/helm/DEVEL/ocaml-http/examples/threads.ml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-let m = Mutex.create () in
-let i = ref 10 in
-let dump_i outchan =
- Http_daemon.respond ~body:(Printf.sprintf "i = %d\n" !i) outchan
-in
-let callback req outchan =
- match req#path with
- | "/incr" ->
- Mutex.lock m;
- incr i;
- dump_i outchan;
- Unix.sleep 5;
- Mutex.unlock m
- | "/decr" ->
- Mutex.lock m;
- decr i;
- dump_i outchan;
- Unix.sleep 5;
- Mutex.unlock m
- | "/get" ->
- Mutex.lock m;
- dump_i outchan;
- Mutex.unlock m
- | bad_request -> Http_daemon.respond_error outchan
-in
-Http_daemon.start' ~port:9999 ~mode:`Thread callback
diff --git a/helm/DEVEL/ocaml-http/examples/timeout.ml b/helm/DEVEL/ocaml-http/examples/timeout.ml
deleted file mode 100644
index 84e989b94..000000000
--- a/helm/DEVEL/ocaml-http/examples/timeout.ml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-let callback _ _ outchan =
- output_string outchan "Here you are!\n";
- flush outchan
-in
-Http_daemon.start ~port:9999 ~timeout:(Some 10) callback
diff --git a/helm/DEVEL/ocaml-http/examples/webfsd.ml b/helm/DEVEL/ocaml-http/examples/webfsd.ml
deleted file mode 100644
index c41443e87..000000000
--- a/helm/DEVEL/ocaml-http/examples/webfsd.ml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-let def_port = 80 in
-let def_addr = "0.0.0.0" in
-let def_root = Sys.getcwd () in
-
-let port = ref def_port in
-let addr = ref def_addr in
-let root = ref def_root in
-let argspec =
- [ "-p", Arg.Int (fun p -> port := p),
- "TCP port on which listen, default: " ^ string_of_int !port;
- "-a", Arg.String (fun a -> addr := a),
- "IP address on which listen, default: " ^ !addr;
- "-r", Arg.String (fun r -> root := r),
- "DocumentRoot, default: current working directory" ]
-in
-Arg.parse argspec (fun _ -> ()) "";
-Sys.chdir !root;
-Http_daemon.Trivial.start ~addr:!addr ~port:!port ()
-
diff --git a/helm/DEVEL/ocaml-http/http_client.ml b/helm/DEVEL/ocaml-http/http_client.ml
deleted file mode 100644
index 1a89bba8a..000000000
--- a/helm/DEVEL/ocaml-http/http_client.ml
+++ /dev/null
@@ -1,100 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-open Printf
-
-open Http_common
-
-exception Http_error of (int * string) (* code, body *)
-
-let http_scheme_RE = Pcre.regexp ~flags:[`CASELESS] "^http://"
-let url_RE = Pcre.regexp "^([\\w.-]+)(:(\\d+))?(/.*)?$"
-
-let tcp_bufsiz = 4096 (* for TCP I/O *)
-
-let parse_url url =
- try
- let subs =
- Pcre.extract ~rex:url_RE (Pcre.replace ~rex:http_scheme_RE url)
- in
- (subs.(1),
- (if subs.(2) = "" then 80 else int_of_string subs.(3)),
- (if subs.(4) = "" then "/" else subs.(4)))
- with exc ->
- failwith
- (sprintf "Can't parse url: %s (exception: %s)"
- url (Printexc.to_string exc))
-
-let init_socket addr port =
- let inet_addr = (Unix.gethostbyname addr).Unix.h_addr_list.(0) in
- let sockaddr = Unix.ADDR_INET (inet_addr, port) in
- let suck = Unix.socket Unix.PF_INET Unix.SOCK_STREAM 0 in
- Unix.connect suck sockaddr;
- let outchan = Unix.out_channel_of_descr suck in
- let inchan = Unix.in_channel_of_descr suck in
- (inchan, outchan)
-
-let submit_request kind url =
- let (address, port, path) = parse_url url in
- let (inchan, outchan) = init_socket address port in
- let req_string = match kind with `GET -> "GET" | `HEAD -> "HEAD" in
- output_string outchan (sprintf "%s %s HTTP/1.0\r\n" req_string path);
- output_string outchan (sprintf "Host: %s\r\n\r\n" address);
- flush outchan;
- (inchan, outchan)
-
-let http_head url =
- let (inchan, outchan) = submit_request `HEAD url in
- let (_, status) = Http_parser.parse_response_fst_line inchan in
- (match code_of_status status with
- | 200 -> ()
- | code -> raise (Http_error (code, "")));
- let buf = Http_misc.buf_of_inchan inchan in
- close_in inchan; (* close also outchan, same fd *)
- Buffer.contents buf
-
-let http_get_iter callback url =
- let (inchan, outchan) = submit_request `GET url in
- let buf = String.create tcp_bufsiz in
- let (_, status) = Http_parser.parse_response_fst_line inchan in
- (match code_of_status status with
- | 200 -> ()
- | code -> raise (Http_error (code, "")));
- ignore (Http_parser.parse_headers inchan);
- (try
- while true do
- match input inchan buf 0 tcp_bufsiz with
- | 0 -> raise End_of_file
- | bytes when bytes = tcp_bufsiz -> (* buffer full, no need to slice it *)
- callback buf
- | bytes when bytes < tcp_bufsiz -> (* buffer not full, slice it *)
- callback (String.sub buf 0 bytes)
- | _ -> (* ( bytes < 0 ) || ( bytes > tcp_bufsiz ) *)
- assert false
- done
- with End_of_file -> ());
- close_in inchan (* close also outchan, same fd *)
-
-let http_get url =
- let buf = Buffer.create 10240 in
- http_get_iter (Buffer.add_string buf) url;
- Buffer.contents buf
-
diff --git a/helm/DEVEL/ocaml-http/http_client.mli b/helm/DEVEL/ocaml-http/http_client.mli
deleted file mode 100644
index 3b66f2ebf..000000000
--- a/helm/DEVEL/ocaml-http/http_client.mli
+++ /dev/null
@@ -1,43 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-(** Minimal implementation of an HTTP 1.0/1.1 client. Interface is similar to
- * Gerd Stoplmann's Http_client module. Implementation is simpler and doesn't
- * handle HTTP redirection, proxies, ecc. The only reason for the existence of
- * this module is for performances and incremental elaboration of response's
- * bodies *)
-
-exception Http_error of (int * string) (* code, body *)
-
- (** @param url an HTTP url
- * @return HTTP response's body
- * @raise Http_error when response code <> 200 *)
-val http_get: string -> string
-
- (** as above but iter callback function on HTTP response's body instead of
- * returning it as a string *)
-val http_get_iter: (string -> unit) -> string -> unit
-
- (** @param url an HTTP url
- * @return HTTP HEAD raw response
- * @raise Http_error when response code <> 200 *)
-val http_head: string -> string
-
diff --git a/helm/DEVEL/ocaml-http/http_common.ml b/helm/DEVEL/ocaml-http/http_common.ml
deleted file mode 100644
index 9155e95eb..000000000
--- a/helm/DEVEL/ocaml-http/http_common.ml
+++ /dev/null
@@ -1,162 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-open Http_types;;
-open Printf;;
-
-let debug = ref false
-let debug_print s =
- if !debug then
- prerr_endline (sprintf "[OCaml HTTP] DEBUG: %s" s)
-
-let http_version = Http_constants.version
-let server_string = Http_constants.server_string
-
-let string_of_version = function
- | `HTTP_1_0 -> "HTTP/1.0"
- | `HTTP_1_1 -> "HTTP/1.1"
-
-let version_of_string = function
- | "HTTP/1.0" -> `HTTP_1_0
- | "HTTP/1.1" -> `HTTP_1_1
- | invalid_version -> raise (Invalid_HTTP_version invalid_version)
-
-let string_of_method = function
- | `GET -> "GET"
- | `POST -> "POST"
-
-let method_of_string = function
- | "GET" -> `GET
- | "POST" -> `POST
- | invalid_method -> raise (Invalid_HTTP_method invalid_method)
-
-let status_of_code = function
- | 100 -> `Informational `Continue
- | 101 -> `Informational `Switching_protocols
- | 200 -> `Success `OK
- | 201 -> `Success `Created
- | 202 -> `Success `Accepted
- | 203 -> `Success `Non_authoritative_information
- | 204 -> `Success `No_content
- | 205 -> `Success `Reset_content
- | 206 -> `Success `Partial_content
- | 300 -> `Redirection `Multiple_choices
- | 301 -> `Redirection `Moved_permanently
- | 302 -> `Redirection `Found
- | 303 -> `Redirection `See_other
- | 304 -> `Redirection `Not_modified
- | 305 -> `Redirection `Use_proxy
- | 307 -> `Redirection `Temporary_redirect
- | 400 -> `Client_error `Bad_request
- | 401 -> `Client_error `Unauthorized
- | 402 -> `Client_error `Payment_required
- | 403 -> `Client_error `Forbidden
- | 404 -> `Client_error `Not_found
- | 405 -> `Client_error `Method_not_allowed
- | 406 -> `Client_error `Not_acceptable
- | 407 -> `Client_error `Proxy_authentication_required
- | 408 -> `Client_error `Request_time_out
- | 409 -> `Client_error `Conflict
- | 410 -> `Client_error `Gone
- | 411 -> `Client_error `Length_required
- | 412 -> `Client_error `Precondition_failed
- | 413 -> `Client_error `Request_entity_too_large
- | 414 -> `Client_error `Request_URI_too_large
- | 415 -> `Client_error `Unsupported_media_type
- | 416 -> `Client_error `Requested_range_not_satisfiable
- | 417 -> `Client_error `Expectation_failed
- | 500 -> `Server_error `Internal_server_error
- | 501 -> `Server_error `Not_implemented
- | 502 -> `Server_error `Bad_gateway
- | 503 -> `Server_error `Service_unavailable
- | 504 -> `Server_error `Gateway_time_out
- | 505 -> `Server_error `HTTP_version_not_supported
- | invalid_code -> raise (Invalid_code invalid_code)
-
-let code_of_status = function
- | `Informational `Continue -> 100
- | `Informational `Switching_protocols -> 101
- | `Success `OK -> 200
- | `Success `Created -> 201
- | `Success `Accepted -> 202
- | `Success `Non_authoritative_information -> 203
- | `Success `No_content -> 204
- | `Success `Reset_content -> 205
- | `Success `Partial_content -> 206
- | `Redirection `Multiple_choices -> 300
- | `Redirection `Moved_permanently -> 301
- | `Redirection `Found -> 302
- | `Redirection `See_other -> 303
- | `Redirection `Not_modified -> 304
- | `Redirection `Use_proxy -> 305
- | `Redirection `Temporary_redirect -> 307
- | `Client_error `Bad_request -> 400
- | `Client_error `Unauthorized -> 401
- | `Client_error `Payment_required -> 402
- | `Client_error `Forbidden -> 403
- | `Client_error `Not_found -> 404
- | `Client_error `Method_not_allowed -> 405
- | `Client_error `Not_acceptable -> 406
- | `Client_error `Proxy_authentication_required -> 407
- | `Client_error `Request_time_out -> 408
- | `Client_error `Conflict -> 409
- | `Client_error `Gone -> 410
- | `Client_error `Length_required -> 411
- | `Client_error `Precondition_failed -> 412
- | `Client_error `Request_entity_too_large -> 413
- | `Client_error `Request_URI_too_large -> 414
- | `Client_error `Unsupported_media_type -> 415
- | `Client_error `Requested_range_not_satisfiable -> 416
- | `Client_error `Expectation_failed -> 417
- | `Server_error `Internal_server_error -> 500
- | `Server_error `Not_implemented -> 501
- | `Server_error `Bad_gateway -> 502
- | `Server_error `Service_unavailable -> 503
- | `Server_error `Gateway_time_out -> 504
- | `Server_error `HTTP_version_not_supported -> 505
-
-let is_informational code =
- match status_of_code code with
- | `Informational _ -> true
- | _ -> false
-
-let is_success code =
- match status_of_code code with
- | `Success _ -> true
- | _ -> false
-
-let is_redirection code =
- match status_of_code code with
- | `Redirection _ -> true
- | _ -> false
-
-let is_client_error code =
- match status_of_code code with
- | `Client_error _ -> true
- | _ -> false
-
-let is_server_error code =
- match status_of_code code with
- | `Server_error _ -> true
- | _ -> false
-
-let is_error code = is_client_error code || is_server_error code
-
diff --git a/helm/DEVEL/ocaml-http/http_common.mli b/helm/DEVEL/ocaml-http/http_common.mli
deleted file mode 100644
index f99dd7224..000000000
--- a/helm/DEVEL/ocaml-http/http_common.mli
+++ /dev/null
@@ -1,80 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-(** Common functionalities shared by other OCaml HTTP modules *)
-
-open Http_types;;
-
- (** whether debugging messages are enabled or not, can be changed at runtime
- *)
-val debug: bool ref
-
- (** print a string on stderr only if debugging is enabled *)
-val debug_print: string -> unit
-
- (** see {! Http_constants.version} *)
-val http_version: version
-
- (** see {! Http_constants.server_string} *)
-val server_string: string
-
- (** pretty print an HTTP version *)
-val string_of_version: version -> string
-
- (** parse an HTTP version from a string
- @raise Invalid_HTTP_version if given string doesn't represent a supported HTTP
- version *)
-val version_of_string: string -> version
-
- (** pretty print an HTTP method *)
-val string_of_method: meth -> string
-
- (** parse an HTTP method from a string
- @raise Invalid_HTTP_method if given string doesn't represent a supported
- method *)
-val method_of_string: string -> meth
-
- (** converts an integer HTTP status to the corresponding status value
- @raise Invalid_code if given integer isn't a valid HTTP status code *)
-val status_of_code: int -> status
-
- (** converts an HTTP status to the corresponding integer value *)
-val code_of_status: [< status] -> int
-
- (** @return true on "informational" status codes, false elsewhere *)
-val is_informational: int -> bool
-
- (** @return true on "success" status codes, false elsewhere *)
-val is_success: int -> bool
-
- (** @return true on "redirection" status codes, false elsewhere *)
-val is_redirection: int -> bool
-
- (** @return true on "client error" status codes, false elsewhere *)
-val is_client_error: int -> bool
-
- (** @return true on "server error" status codes, false elsewhere *)
-val is_server_error: int -> bool
-
- (** @return true on "client error" and "server error" status code, false
- elsewhere *)
-val is_error: int -> bool
-
diff --git a/helm/DEVEL/ocaml-http/http_constants.ml b/helm/DEVEL/ocaml-http/http_constants.ml
deleted file mode 100644
index 674e2a863..000000000
--- a/helm/DEVEL/ocaml-http/http_constants.ml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-let version = `HTTP_1_1 ;;
-let server_string = "OCaml HTTP Daemon" ;;
-let crlf = "\r\n" ;;
-
-let default_addr = "0.0.0.0" ;;
-let default_port = 80 ;;
-let default_timeout = 300 ;;
-let default_mode = `Fork ;;
-
diff --git a/helm/DEVEL/ocaml-http/http_constants.mli b/helm/DEVEL/ocaml-http/http_constants.mli
deleted file mode 100644
index c00edebb6..000000000
--- a/helm/DEVEL/ocaml-http/http_constants.mli
+++ /dev/null
@@ -1,41 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-(** Constants *)
-
-open Http_types
-
- (** default HTTP version *)
-val version: Http_types.version
-
- (** string returned as value of "Server:" response header *)
-val server_string: string
-
- (** "\r\n" string *)
-val crlf: string
-
- (** {2 daemon default values} *)
-
-val default_addr: string (** default listen address *)
-val default_port: int (** default listen port *)
-val default_timeout: int (** default callbacks timeout *)
-val default_mode: daemon_mode (** default request handling mode *)
-
diff --git a/helm/DEVEL/ocaml-http/http_daemon.ml b/helm/DEVEL/ocaml-http/http_daemon.ml
deleted file mode 100644
index f29b4c1d1..000000000
--- a/helm/DEVEL/ocaml-http/http_daemon.ml
+++ /dev/null
@@ -1,414 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-open Printf;;
-
-open Http_common;;
-open Http_types;;
-open Http_constants;;
-open Http_parser;;
-
- (** send raw data on outchan, flushing it afterwards *)
-let send_raw ~data outchan =
- output_string outchan data;
- flush outchan
-
-let send_CRLF = send_raw ~data:crlf
-
-let send_header ~header ~value =
- Http_parser_sanity.heal_header (header, value);
- send_raw ~data:(header ^ ": " ^ value ^ crlf)
-
-let send_headers ~headers outchan =
- List.iter (fun (header, value) -> send_header ~header ~value outchan) headers
-
- (** internal: low level for send_status_line *)
-let send_status_line' ~version code =
- let status_line =
- String.concat
- " "
- [ string_of_version version;
- string_of_int code;
- Http_misc.reason_phrase_of_code code ]
- in
- send_raw ~data:(status_line ^ crlf)
-
-let int_of_code = function
- | `Code code -> code
- | `Status status -> code_of_status status
-
-let send_status_line ?(version = http_version) ~(code: status_code) outchan =
- send_status_line' ~version (int_of_code code) outchan
-
- (* FIXME duplication of code between this and response#addBasicHeaders *)
-let send_basic_headers ?(version = http_version) ~(code: status_code) outchan =
- send_status_line' ~version (int_of_code code) outchan;
- send_headers
- ~headers:["Date", Http_misc.date_822 (); "Server", server_string]
- outchan
-
- (** internal: given a status code and an additional body return a string
- representing an HTML document that explains the meaning of given status code.
- Additional data can be added to the body via 'body' argument *)
-let foo_body code body =
- let reason_phrase = Http_misc.reason_phrase_of_code code in
- sprintf
-"
-
-%d %s
-
-
%d - %s
%s
-"
- code reason_phrase code reason_phrase body
-
- (** internal: send a fooish body explaining in HTML form the 'reason phrase'
- of an HTTP response; body, if given, will be appended to the body *)
-let send_foo_body code body = send_raw ~data:(foo_body code body)
-
- (* Warning: keep default values in sync with Http_response.response class *)
-let respond ?(body = "") ?(headers = []) ?version ?(code = `Code 200) outchan =
- send_basic_headers ?version ~code outchan;
- send_headers ~headers outchan;
- send_header "Content-Length" (string_of_int (String.length body)) outchan;
- send_CRLF outchan;
- send_raw ~data:body outchan
-
- (** internal: low level for respond_redirect, respond_error, ...
- This function send a status line corresponding to a given code, some basic
- headers, the additional headers (if given) and an HTML page containing the
- reason phrase; if body is given it will be included in the body of the HTML
- page *)
-let send_empty_response
- func_name ?(is_valid_status = fun _ -> true) ?(headers=[]) ?(body="") () =
- fun ?version code outchan ->
- if not (is_valid_status (int_of_code code)) then
- failwith
- (sprintf "'%d' isn't a valid status code for %s"
- (int_of_code code) func_name)
- else begin (* status code suitable for answering *)
- let headers =
- [ "Connection", "close";
- "Content-Type", "text/html; charset=iso-8859-1" ] @ headers
- in
- let body = (foo_body (int_of_code code) body) ^ body in
- respond ?version ~code ~headers ~body outchan
- end
-
-let respond_redirect
- ~location ?body ?version ?(code = `Code 301) outchan
- =
- send_empty_response "Daemon.respond_redirect" ~is_valid_status:is_redirection
- ~headers:["Location", location] ?body () ?version code outchan
-
-let respond_error ?body ?version ?(code = `Code 400) outchan =
- send_empty_response "Daemon.respond_error" ~is_valid_status:is_error
- ?body () ?version code outchan
-
-let respond_not_found ~url ?version outchan =
- send_empty_response "Daemon.respond_not_found" () ?version (`Code 404) outchan
-
-let respond_forbidden ~url ?version outchan =
- send_empty_response "Daemon.respond_permission_denied" () ?version
- (`Code 403) outchan
-
-let respond_unauthorized ?version ?(realm = server_string) outchan =
- respond ~headers:["WWW-Authenticate", sprintf "Basic realm=\"%s\"" realm]
- ~code:(`Code 401) outchan
-
-let send_file ~src outchan =
- let buflen = 1024 in
- let buf = String.make buflen ' ' in
-
- let (file, cleanup) =
- match src with
- | FileSrc fname -> (* if we open the file, we close it before returning *)
- let f = open_in fname in
- f, (fun () -> close_in f)
- | InChanSrc inchan -> inchan, ignore
- in
- try
- while true do
- let bytes = input file buf 0 buflen in
- if bytes = 0 then
- raise End_of_file
- else
- output outchan buf 0 bytes
- done;
- assert false
- with End_of_file ->
- begin
- flush outchan;
- cleanup ()
- end
-
- (* TODO interface is too ugly to advertise this function in .mli *)
- (** create a minimal HTML directory listing of a given directory and send it
- over an out_channel, directory is passed as a dir_handle; name is the
- directory name, used for pretty printing purposes; path is the opened dir
- path, used to test its contents with stat *)
-let send_dir_listing ~dir ~name ~path outchan =
- fprintf outchan "\n%s\n\n" name;
- let (dirs, files) =
- List.partition (fun e -> Http_misc.is_directory (path ^ e)) (Http_misc.ls dir)
- in
- List.iter
- (fun d -> fprintf outchan "%s/ \n" d d)
- (List.sort compare dirs);
- List.iter
- (fun f -> fprintf outchan "%s \n" f f)
- (List.sort compare files);
- fprintf outchan "\n";
- flush outchan
-
-let respond_file ~fname ?(version = http_version) outchan =
- (** ASSUMPTION: 'fname' doesn't begin with a "/"; it's relative to the current
- document root (usually the daemon's cwd) *)
- let droot = Sys.getcwd () in (* document root *)
- let path = droot ^ "/" ^ fname in (* full path to the desired file *)
- if not (Sys.file_exists path) then (* file not found *)
- respond_not_found ~url:fname outchan
- else begin
- try
- if Http_misc.is_directory path then begin (* file found, is a dir *)
- let dir = Unix.opendir path in
- send_basic_headers ~version ~code:(`Code 200) outchan;
- send_header "Content-Type" "text/html" outchan;
- send_CRLF outchan;
- send_dir_listing ~dir ~name:fname ~path outchan;
- Unix.closedir dir
- end else begin (* file found, is something else *)
- let file = open_in fname in
- send_basic_headers ~version ~code:(`Code 200) outchan;
- send_header
- ~header:"Content-Length"
- ~value:(string_of_int (Http_misc.filesize fname))
- outchan;
- send_CRLF outchan;
- send_file ~src:(InChanSrc file) outchan;
- close_in file
- end
- with
- | Unix.Unix_error (Unix.EACCES, s, _) when (s = fname) ->
- respond_forbidden ~url:fname ~version outchan
- | Sys_error s when
- (Pcre.pmatch ~rex:(Pcre.regexp (fname ^ ": Permission denied")) s) ->
- respond_forbidden ~url:fname ~version outchan
- end
-
-let respond_with (res: Http_types.response) outchan =
- res#serialize outchan;
- flush outchan
-
- (** internal: this exception is raised after a malformed request has been read
- by a serving process to signal main server (or itself if mode = `Single) to
- skip to next request *)
-exception Again;;
-
-let pp_parse_exc e =
- sprintf "HTTP request parse error: %s" (Printexc.to_string e)
-
- (* given a Http_parser.parse_request like function, wrap it in a function that
- do the same and additionally catch parsing exception sending HTTP error
- messages back to client as needed. Returned function raises Again when it
- encounter a parse error (name 'Again' is intended for future versions that
- will support http keep alive signaling that a new request has to be parsed
- from client) *)
-let rec wrap_parse_request_w_safety parse_function inchan outchan =
-(* try *)
- (try
- parse_function inchan
- with
- | (End_of_file) as e ->
- debug_print (pp_parse_exc e);
- respond_error ~code:(`Code 400) ~body:"Unexpected End Of File" outchan;
- raise Again
- | (Malformed_request req) as e ->
- debug_print (pp_parse_exc e);
- respond_error ~code:(`Code 400)
- ~body:("request 1st line format should be: ''" ^
- " \nwhile received request 1st line was: \n" ^ req)
- outchan;
- raise Again
- | (Invalid_HTTP_method meth) as e ->
- debug_print (pp_parse_exc e);
- respond_error ~code:(`Code 501)
- ~body:("Method '" ^ meth ^ "' isn't supported (yet)")
- outchan;
- raise Again
- | (Malformed_request_URI uri) as e ->
- debug_print (pp_parse_exc e);
- respond_error ~code:(`Code 400) ~body:("Malformed URL: '" ^ uri ^ "'")
- outchan;
- raise Again
- | (Invalid_HTTP_version version) as e ->
- debug_print (pp_parse_exc e);
- respond_error ~code:(`Code 505)
- ~body:("HTTP version '" ^ version ^ "' isn't supported (yet)")
- outchan;
- raise Again
- | (Malformed_query query) as e ->
- debug_print (pp_parse_exc e);
- respond_error ~code:(`Code 400)
- ~body:(sprintf "Malformed query string '%s'" query) outchan;
- raise Again
- | (Malformed_query_part (binding, query)) as e ->
- debug_print (pp_parse_exc e);
- respond_error ~code:(`Code 400)
- ~body:(sprintf "Malformed query part '%s' in query '%s'" binding query)
- outchan;
- raise Again)
-(* (* preliminary support for HTTP keep alive connections ... *)
- with Again ->
- wrap_parse_request_w_safety parse_function inchan outchan
-*)
-
- (* wrapper around Http_parser.parse_request which catch parsing exceptions and
- return error messages to client as needed
- @param inchan in_channel from which read incoming requests
- @param outchan out_channl on which respond with error messages if needed
- *)
-let safe_parse_request = wrap_parse_request_w_safety parse_request
-
- (* as above but for OO version (Http_parser.parse_request') *)
-let safe_parse_request' = wrap_parse_request_w_safety (new Http_request.request)
-
-let chdir_to_document_root = function (* chdir to document root *)
- | Some dir -> Sys.chdir dir
- | None -> ()
-
-let server_of_mode = function
- | `Single -> Http_tcp_server.simple
- | `Fork -> Http_tcp_server.fork
- | `Thread -> Http_tcp_server.thread
-
- (* TODO what happens when a Quit exception is raised by a callback? Do other
- callbacks keep on living until the end or are them all killed immediatly?
- The right semantics should obviously be the first one *)
-
- (* TODO support also chroot to 'root', not only chdir *)
- (* curried request *)
-let start
- ?(addr = default_addr) ?(port = default_port)
- ?(timeout = Some default_timeout) ?(mode = default_mode) ?root callback
- =
- chdir_to_document_root root;
- let sockaddr = Http_misc.build_sockaddr (addr, port) in
- let daemon_callback inchan outchan =
- try
- let (path, parameters) = safe_parse_request inchan outchan in
- callback path parameters outchan;
- flush outchan
- with
- | Unauthorized realm -> respond_unauthorized ~realm outchan
- | Again -> ()
- in
- try
- (server_of_mode mode) ~sockaddr ~timeout daemon_callback
- with Quit -> ()
-
- (* OO request *)
-let start'
- ?(addr = default_addr) ?(port = default_port)
- ?(timeout = Some default_timeout) ?(mode = default_mode) ?root callback
- =
- chdir_to_document_root root;
- let sockaddr = Http_misc.build_sockaddr (addr, port) in
- let daemon_callback inchan outchan =
- try
- let req = safe_parse_request' inchan outchan in
- callback req outchan;
- flush outchan
- with
- | Unauthorized realm -> respond_unauthorized ~realm outchan
- | Again -> ()
- in
- try
- (server_of_mode mode) ~sockaddr ~timeout daemon_callback
- with Quit -> ()
-
-module Trivial =
- struct
- let callback path _ outchan =
- if not (Pcre.pmatch ~rex:(Pcre.regexp "^/") path) then
- respond_error ~code:(`Code 400) outchan
- else
- respond_file ~fname:(Http_misc.strip_heading_slash path) outchan
- let start ?(addr = default_addr) ?(port = default_port) () =
- start ~addr ~port callback
- end
-
- (* @param inchan input channel connected to client
- @param outchan output channel connected to client
- @param sockaddr client socket address *)
-class connection inchan outchan sockaddr =
- (* ASSUMPTION: inchan and outchan are channels built on top of the same
- Unix.file_descr thus closing one of them will close also the other *)
- let close' o = o#close in
- object (self)
-
- initializer Gc.finalise close' self
-
- val mutable closed = false
-
- method private assertNotClosed =
- if closed then
- failwith "Http_daemon.connection: connection is closed"
-
- method getRequest =
- self#assertNotClosed;
- try
- Some (safe_parse_request' inchan outchan)
- with Again -> None
-
- method respond_with res =
- self#assertNotClosed;
- respond_with res outchan
-
- method close =
- self#assertNotClosed;
- close_in inchan; (* this close also outchan *)
- closed <- true
-
- end
-
-class daemon ?(addr = "0.0.0.0") ?(port = 80) () =
- object (self)
-
- val suck =
- Http_tcp_server.init_socket (Http_misc.build_sockaddr (addr, port))
-
- method accept =
- let (cli_suck, cli_sockaddr) = Unix.accept suck in (* may block *)
- let (inchan, outchan) =
- (Unix.in_channel_of_descr cli_suck, Unix.out_channel_of_descr cli_suck)
- in
- new connection inchan outchan cli_sockaddr
-
- method getRequest =
- let conn = self#accept in
- match conn#getRequest with
- | None ->
- conn#close;
- self#getRequest
- | Some req -> (req, conn)
-
- end
-
diff --git a/helm/DEVEL/ocaml-http/http_daemon.mli b/helm/DEVEL/ocaml-http/http_daemon.mli
deleted file mode 100644
index ba20a0b42..000000000
--- a/helm/DEVEL/ocaml-http/http_daemon.mli
+++ /dev/null
@@ -1,169 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-(** Main OCaml HTTP module.
- Here you can find two set of functions:
- - functions which let you start an HTTP Daemon (start* functions)
- - facility functions which let you sent responses back to clients *)
-
- (** send a CRLF sequence on the given output channel, this is mandatory after
- the last header was sent and before start sending the response body *)
-val send_CRLF: out_channel -> unit
-
- (** send response status line, version is the http version used in response,
- either code or status must be given (not both, not none) which represent the
- HTTP response code, outchan is the output channel to which send status line *)
-val send_status_line:
- ?version:Http_types.version -> code:Http_types.status_code ->
- out_channel ->
- unit
-
- (** like send_status_line but additionally will also send "Date" and "Server"
- standard headers *)
-val send_basic_headers:
- ?version: Http_types.version -> code:Http_types.status_code ->
- out_channel ->
- unit
-
- (** send an HTTP header on outchan *)
-val send_header: header: string -> value: string -> out_channel -> unit
-
- (** as send_header, but for a list of pairs *)
-val send_headers: headers:(string * string) list -> out_channel -> unit
-
-(*
- (** send a file through an out_channel, file can be passed as an in_channel
- (if 'file' is given) or as a file name (if 'name' is given) *)
-val send_file: ?name:string -> ?file:in_channel -> out_channel -> unit
-*)
- (** send a file through an out_channel *)
-val send_file: src:Http_types.file_source -> out_channel -> unit
-
- (** high level response function, respond on outchan sending: basic headers
- (including Content-Length computed using 'body' argument), headers probided
- via 'headers' argument, body given via 'body' argument. Default response
- status is 200, default response HTTP version is Http_common.http_version *)
-val respond:
- ?body:string -> ?headers:(string * string) list ->
- ?version:Http_types.version -> ?code:Http_types.status_code ->
- out_channel ->
- unit
-
- (** send a 404 (not found) HTTP response *)
-val respond_not_found:
- url:string -> ?version: Http_types.version -> out_channel -> unit
-
- (** send a 403 (forbidden) HTTP response *)
-val respond_forbidden:
- url:string -> ?version: Http_types.version -> out_channel -> unit
-
- (** send a "redirection" class response, optional body argument contains data
- that will be displayed in the body of the response, default response status is
- 301 (moved permanently), only redirection status are accepted by this
- function, other values will raise Failure *)
-val respond_redirect:
- location:string -> ?body:string ->
- ?version: Http_types.version -> ?code:Http_types.status_code ->
- out_channel ->
- unit
-
- (** respond with a 401 (Unauthorized) response asking for authentication
- * against given realm (default is the server name) *)
-val respond_unauthorized:
- ?version: Http_types.version -> ?realm:string -> out_channel -> unit
-
- (** send an "error" response (i.e. 400 <= status < 600), optional body
- argument as per send_redirect, default response status is 400 (bad request),
- only error status are accepted by this function, other values will
- raise Failure *)
-val respond_error:
- ?body:string ->
- ?version: Http_types.version -> ?code:Http_types.status_code ->
- out_channel ->
- unit
-
- (** tipical static pages http daemon behaviour, if requested url is a file,
- return it, it it is a directory return a directory listing of it *)
-val respond_file:
- fname:string -> ?version: Http_types.version -> out_channel -> unit
-
- (** respond using a prebuilt Http_types.response object *)
-val respond_with: Http_types.response -> out_channel -> unit
-
- (** starts an HTTP daemon listening
- * @param addr adress on which daemon will be listening, can be both a numeric
- * address (e.g. "127.0.0.1") and an hostname (e.g. "localhost"). Default is
- * the wildcard address "0.0.0.0"
- * @param port TCP port on which the daemon will be listening. Default is the
- * HTTP port 80
- * @param timeout timeout in seconds after which an incoming HTTP request will
- * be terminated closing the corresponding TCP connection. Passing None will
- * disable the timeout. Default is 5 minutes (300 seconds)
- * @param mode requests handling mode, it can have three different values.
- * `Single -> all requests will be handled by the same process,
- * `Fork -> each request will be handled by a separate process
- * `Thread -> each request will be handled by a separate thread
- * Default is `Fork
- * @param root document root (i.e. directory to which ocaml http will chdir
- * before starting handling requests). Default is current working directory
- * @param callback function which will be called each time a correct HTTP
- * request will be received. 1st callback argument is the path requested by
- * the HTTP client; 2nd argument is a list of pairs
- * representing decoded query string; 3rd argument is an output channel
- * connected with the client
- *)
-val start:
- ?addr: string -> ?port: int ->
- ?timeout: int option -> ?mode: Http_types.daemon_mode -> ?root: string ->
- (string -> (string * string) list -> out_channel -> unit) ->
- unit
-
- (** identical to 'start' above but callback receive two arguments, the second
- one is an out_channel as per 'start', but the secondo one is a Request.request
- object *)
-val start':
- ?addr: string -> ?port: int ->
- ?timeout: int option -> ?mode: Http_types.daemon_mode -> ?root: string ->
- (Http_types.request -> out_channel -> unit) ->
- unit
-
- (** Object oriented interface to HTTP daemons.
- @param addr address on which daemon will listen for connections
- @param port port which daemon will bind
- see {! Http_types.daemon} *)
-class daemon:
- ?addr: string -> ?port: int ->
- unit ->
- Http_types.daemon
-
- (** Trivial static pages HTTP daemon.
- Daemons created using this module will serve directory indexes and files found
- starting from the working directory *)
-module Trivial :
- sig
- (** callback function, exposed if you like to use it as a basis to define
- a more powerful daemon *)
- val callback : string -> 'a -> out_channel -> unit
-
- (** start the "trivial" HTTP daemon *)
- val start : ?addr:string -> ?port:int -> unit -> unit
- end
-
diff --git a/helm/DEVEL/ocaml-http/http_message.ml b/helm/DEVEL/ocaml-http/http_message.ml
deleted file mode 100644
index 56a9e8dc7..000000000
--- a/helm/DEVEL/ocaml-http/http_message.ml
+++ /dev/null
@@ -1,118 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-open Http_common;;
-open Http_constants;;
-open Http_types;;
-open Printf;;
-
- (* remove all bindings of 'name' from hashtbl 'tbl' *)
-let rec hashtbl_remove_all tbl name =
- if not (Hashtbl.mem tbl name) then
- raise (Header_not_found name);
- Hashtbl.remove tbl name;
- if Hashtbl.mem tbl name then hashtbl_remove_all tbl name
-;;
-
-class virtual message ~body ~headers ~version ~clisockaddr ~srvsockaddr =
-
- let ((cliaddr, cliport), (srvaddr, srvport)) =
- (Http_misc.explode_sockaddr clisockaddr,
- Http_misc.explode_sockaddr srvsockaddr)
- in
-
- object (self)
-
- val _contentsBuf = Buffer.create 1024
- val _headers = Hashtbl.create 11
- val mutable _version: version option = version
-
- initializer
- self#setBody body;
- self#addHeaders headers
-
- method version = _version
- method setVersion v = _version <- Some v
-
- method body = Buffer.contents _contentsBuf
- method setBody c =
- Buffer.clear _contentsBuf;
- Buffer.add_string _contentsBuf c
- method bodyBuf = _contentsBuf
- method setBodyBuf b =
- Buffer.clear _contentsBuf;
- Buffer.add_buffer _contentsBuf b
- method addBody s = Buffer.add_string _contentsBuf s
- method addBodyBuf b = Buffer.add_buffer _contentsBuf b
-
- method addHeader ~name ~value =
- let name = String.lowercase name in
- Http_parser_sanity.heal_header (name, value);
- Hashtbl.add _headers name value
- method addHeaders =
- List.iter (fun (name, value) -> self#addHeader ~name ~value)
- method replaceHeader ~name ~value =
- let name = String.lowercase name in
- Http_parser_sanity.heal_header (name, value);
- Hashtbl.replace _headers name value
- method replaceHeaders =
- List.iter (fun (name, value) -> self#replaceHeader ~name ~value)
- method removeHeader ~name =
- let name = String.lowercase name in
- hashtbl_remove_all _headers name
- method hasHeader ~name =
- let name = String.lowercase name in
- Hashtbl.mem _headers name
- method header ~name =
- if not (self#hasHeader name) then raise (Header_not_found name);
- let name = String.lowercase name in
- String.concat ", " (List.rev (Hashtbl.find_all _headers name))
- method headers =
- List.rev
- (Hashtbl.fold
- (fun name _ headers -> (name, self#header ~name)::headers)
- _headers
- [])
-
- method clientSockaddr = clisockaddr
- method clientAddr = cliaddr
- method clientPort = cliport
-
- method serverSockaddr = srvsockaddr
- method serverAddr = srvaddr
- method serverPort = srvport
-
- method private virtual fstLineToString: string
- method toString =
- self#fstLineToString ^ (* {request,status} line *)
- crlf ^
- (String.concat (* headers, crlf terminated *)
- ""
- (List.map (fun (h,v) -> h ^ ": " ^ v ^ crlf) self#headers)) ^
- (sprintf "Content-Length: %d" (String.length self#body)) ^ crlf ^
- crlf ^
- self#body (* body *)
- method serialize outchan =
- output_string outchan self#toString;
- flush outchan
-
- end
-
diff --git a/helm/DEVEL/ocaml-http/http_message.mli b/helm/DEVEL/ocaml-http/http_message.mli
deleted file mode 100644
index 6c78c0c0e..000000000
--- a/helm/DEVEL/ocaml-http/http_message.mli
+++ /dev/null
@@ -1,130 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-(** Object Oriented representation of HTTP messages *)
-
-open Http_types;;
-
- (** OO representation of an HTTP message
- @param entity body included in the message
- @param headers message headers shipped with the message *)
-class virtual message:
- body: string -> headers: (string * string) list -> version: version option ->
- clisockaddr: Unix.sockaddr -> srvsockaddr: Unix.sockaddr ->
- object
-
- (** @return message HTTP version, it can be None because older version
- of the HTTP protocol don't require HTTP version to be told between
- message source and destination *)
- method version: version option
-
- (** set message HTTP version *)
- method setVersion: version -> unit
-
- (** @return message body *)
- method body: string
-
- (** set message body *)
- method setBody: string -> unit
-
- (** @return a Buffer.t connected to message body (Warning: changing this
- buffer will change message body too) *)
- method bodyBuf: Buffer.t
-
- (** set a new Buffer.t used to keep message body *)
- method setBodyBuf: Buffer.t -> unit
-
- (** append a string to message body *)
- method addBody: string -> unit
-
- (** append a whole buffer to message body *)
- method addBodyBuf: Buffer.t -> unit
-
- (** {i header name comparison are performed in a case-insensitive manner
- as required by RFC2616, actually the implementation works converting all
- header names in lowercase} *)
-
- (** add an HTTP header
- @param name header's name
- @param value header's value *)
- method addHeader: name:string -> value:string -> unit
-
- (** add a list of HTTP headers
- @param headers a list of pairs: header_name, header_value *)
- method addHeaders: (string * string) list -> unit
-
- (** like addHeader but replace previous definition of the same header *)
- method replaceHeader: name:string -> value:string -> unit
-
- (** like addHeaders but replace previous definition of headers that were
- already defined *)
- method replaceHeaders: (string * string) list -> unit
-
- (** remove _all_ occurences of an HTTP header from the message
- @param name name of the header to be removed *)
- method removeHeader: name:string -> unit
-
- (** @return true if given header exists in message, false otherwise *)
- method hasHeader: name:string -> bool
-
- (** @return value associated to a given header
- @param name name of the header to lookup
- @raise Header_not_found if given header wasn't defined in message *)
- method header: name:string -> string
-
- (** @return the full set of headers defined for this message, the value
- returned is an association list from headers name to headers value, an
- header may occurs more that once in the list *)
- method headers: (string * string) list
-
-
- (** @return client Unix.sockaddr *)
- method clientSockaddr: Unix.sockaddr
-
- (** @return client address pretty printed *)
- method clientAddr: string
-
- (** @return client port *)
- method clientPort: int
-
- (** @return server Unix.sockaddr *)
- method serverSockaddr: Unix.sockaddr
-
- (** @return server address pretty printed *)
- method serverAddr: string
-
- (** @return server port *)
- method serverPort: int
-
-
- (** @return for requests first request line, for responses first
- response line.
- User by derived requests and responses to implement toString method *)
- method private virtual fstLineToString: string
-
- (** @return a string representation of the message *)
- method toString: string
-
- (** serialize the message over an output channel *)
- method serialize: out_channel -> unit
-
- end
-
diff --git a/helm/DEVEL/ocaml-http/http_misc.ml b/helm/DEVEL/ocaml-http/http_misc.ml
deleted file mode 100644
index fcec70ca5..000000000
--- a/helm/DEVEL/ocaml-http/http_misc.ml
+++ /dev/null
@@ -1,141 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-open Http_types;;
-
-let date_822 () =
- Netdate.mk_mail_date ~zone:Netdate.localzone (Unix.time ())
-
-let is_directory name =
- match Unix.lstat name with
- | { Unix.st_kind = Unix.S_DIR } -> true
- | _ -> false
-
-let filesize fname = (Unix.stat fname).Unix.st_size
-
-let strip_trailing_slash =
- let rex = Pcre.regexp "/$" in
- fun s -> Pcre.replace ~rex ~templ:"" s
-
-let strip_heading_slash =
- let rex = Pcre.regexp "^/" in
- fun s -> Pcre.replace ~rex ~templ:"" s
-
-let ls dir =
- let rec ls' entries =
- try ls' ((Unix.readdir dir)::entries) with End_of_file -> entries
- in
- ls' []
-
-let string_explode s =
- let rec string_explode' acc = function
- | "" -> acc
- | s -> string_explode' (s.[0] :: acc) (String.sub s 1 (String.length s - 1))
- in
- List.rev (string_explode' [] s)
-
-let string_implode = List.fold_left (fun s c -> s ^ (String.make 1 c)) ""
-
-let reason_phrase_of_code = function
- | 100 -> "Continue"
- | 101 -> "Switching protocols"
- | 200 -> "OK"
- | 201 -> "Created"
- | 202 -> "Accepted"
- | 203 -> "Non authoritative information"
- | 204 -> "No content"
- | 205 -> "Reset content"
- | 206 -> "Partial content"
- | 300 -> "Multiple choices"
- | 301 -> "Moved permanently"
- | 302 -> "Found"
- | 303 -> "See other"
- | 304 -> "Not modified"
- | 305 -> "Use proxy"
- | 307 -> "Temporary redirect"
- | 400 -> "Bad request"
- | 401 -> "Unauthorized"
- | 402 -> "Payment required"
- | 403 -> "Forbidden"
- | 404 -> "Not found"
- | 405 -> "Method not allowed"
- | 406 -> "Not acceptable"
- | 407 -> "Proxy authentication required"
- | 408 -> "Request time out"
- | 409 -> "Conflict"
- | 410 -> "Gone"
- | 411 -> "Length required"
- | 412 -> "Precondition failed"
- | 413 -> "Request entity too large"
- | 414 -> "Request URI too large"
- | 415 -> "Unsupported media type"
- | 416 -> "Requested range not satisfiable"
- | 417 -> "Expectation failed"
- | 500 -> "Internal server error"
- | 501 -> "Not implemented"
- | 502 -> "Bad gateway"
- | 503 -> "Service unavailable"
- | 504 -> "Gateway time out"
- | 505 -> "HTTP version not supported"
- | invalid_code -> raise (Invalid_code invalid_code)
-
-let build_sockaddr (addr, port) =
- try
- Unix.ADDR_INET ((Unix.gethostbyname addr).Unix.h_addr_list.(0), port)
- with Not_found -> failwith ("OCaml-HTTP, can't resolve hostname: " ^ addr)
-
-let explode_sockaddr = function
- | Unix.ADDR_INET (addr, port) -> (Unix.string_of_inet_addr addr, port)
- | _ -> assert false (* can explode only inet address *)
-
-let peername_of_out_channel outchan =
- Unix.getpeername (Unix.descr_of_out_channel outchan)
-let peername_of_in_channel inchan =
- Unix.getpeername (Unix.descr_of_in_channel inchan)
-let sockname_of_out_channel outchan =
- Unix.getsockname (Unix.descr_of_out_channel outchan)
-let sockname_of_in_channel inchan =
- Unix.getsockname (Unix.descr_of_in_channel inchan)
-
-let buf_of_inchan ?limit ic =
- let buf = Buffer.create 10240 in
- let tmp = String.make 1024 '\000' in
- let rec buf_of_inchan' limit =
- (match limit with
- | None ->
- let bytes = input ic tmp 0 1024 in
- if bytes > 0 then begin
- Buffer.add_substring buf tmp 0 bytes;
- buf_of_inchan' None
- end
- | Some lim -> (* TODO what about using a single really_input call? *)
- let bytes = input ic tmp 0 (min lim 1024) in
- if bytes > 0 then begin
- Buffer.add_substring buf tmp 0 bytes;
- buf_of_inchan' (Some (lim - bytes))
- end)
- in
- (try buf_of_inchan' limit with End_of_file -> ());
- buf
-
-let list_assoc_all key pairs =
- snd (List.split (List.filter (fun (k, v) -> k = key) pairs))
-
diff --git a/helm/DEVEL/ocaml-http/http_misc.mli b/helm/DEVEL/ocaml-http/http_misc.mli
deleted file mode 100644
index b5972f830..000000000
--- a/helm/DEVEL/ocaml-http/http_misc.mli
+++ /dev/null
@@ -1,85 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-(** Helpers and other not better classified functions which should not be
-exposed in the final API *)
-
- (** @return the current date compliant to RFC 1123, which updates RFC 822
- zone info are retrieved from UTC *)
-val date_822: unit -> string
-
- (** @return true if 'name' is a directory on the file system, false otherwise
- *)
-val is_directory: string -> bool
-
- (** @return the filesize of fname *)
-val filesize: string -> int
-
- (** strip trailing '/', if any, from a string and @return the new string *)
-val strip_trailing_slash: string -> string
-
- (** strip heading '/', if any, from a string and @return the new string *)
-val strip_heading_slash: string -> string
-
- (** given a dir handle @return a list of entries contained *)
-val ls: Unix.dir_handle -> string list
-
- (** explode a string in a char list *)
-val string_explode: string -> char list
-
- (** implode a char list in a string *)
-val string_implode: char list -> string
-
- (** given an HTTP response code return the corresponding reason phrase *)
-val reason_phrase_of_code: int -> string
-
- (** build a Unix.sockaddr inet address from a string representation of an IP
- address and a port number *)
-val build_sockaddr: string * int -> Unix.sockaddr
-
- (** explode an _inet_ Unix.sockaddr address in a string representation of an
- IP address and a port number *)
-val explode_sockaddr: Unix.sockaddr -> string * int
-
- (** given an out_channel build on top of a socket, return peername related to
- that socket *)
-val peername_of_out_channel: out_channel -> Unix.sockaddr
-
- (** as above but works on in_channels *)
-val peername_of_in_channel: in_channel -> Unix.sockaddr
-
- (** given an out_channel build on top of a socket, return sockname related to
- that socket *)
-val sockname_of_out_channel: out_channel -> Unix.sockaddr
-
- (** as above but works on in_channels *)
-val sockname_of_in_channel: in_channel -> Unix.sockaddr
-
- (* TODO replace with Buffer.add_channel which does almost the same :-((( *)
- (** reads from an input channel till it End_of_file and returns what has been
- read; if limit is given returned buffer will contains at most first 'limit'
- bytes read from input channel *)
-val buf_of_inchan: ?limit: int -> in_channel -> Buffer.t
-
- (** like List.assoc but return all bindings of a given key instead of the
- leftmost one only *)
-val list_assoc_all: 'a -> ('a * 'b) list -> 'b list
-
diff --git a/helm/DEVEL/ocaml-http/http_parser.ml b/helm/DEVEL/ocaml-http/http_parser.ml
deleted file mode 100644
index 1660da3fe..000000000
--- a/helm/DEVEL/ocaml-http/http_parser.ml
+++ /dev/null
@@ -1,160 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-open Printf;;
-
-open Http_common;;
-open Http_types;;
-open Http_constants;;
-
-let (bindings_sep, binding_sep, pieces_sep, header_sep) =
- (Pcre.regexp "&", Pcre.regexp "=", Pcre.regexp " ", Pcre.regexp ":")
-let header_RE = Pcre.regexp "([^:]*):(.*)"
-
-let url_decode url = Netencoding.Url.decode ~plus:true url
-
-let split_query_params query =
- let bindings = Pcre.split ~rex:bindings_sep query in
- match bindings with
- | [] -> raise (Malformed_query query)
- | bindings ->
- List.map
- (fun binding ->
- match Pcre.split ~rex:binding_sep binding with
- | [ ""; b ] -> (* '=b' *)
- raise (Malformed_query_part (binding, query))
- | [ a; b ] -> (* 'a=b' *) (url_decode a, url_decode b)
- | [ a ] -> (* 'a=' || 'a' *) (url_decode a, "")
- | _ -> raise (Malformed_query_part (binding, query)))
- bindings
-
- (** internal, used by generic_input_line *)
-exception Line_completed;;
-
- (** given an input channel and a separator
- @return a line read from it (like Pervasives.input_line)
- line is returned only after reading a separator string; separator string isn't
- included in the returned value
- TODO what about efficiency?, input is performed char-by-char
- *)
-let generic_input_line ~sep ~ic =
- let sep_len = String.length sep in
- if sep_len < 1 then
- failwith ("Separator '" ^ sep ^ "' is too short!")
- else (* valid separator *)
- let line = ref "" in
- let sep_pointer = ref 0 in
- try
- while true do
- if !sep_pointer >= String.length sep then (* line completed *)
- raise Line_completed
- else begin (* incomplete line: need to read more *)
- let ch = input_char ic in
- if ch = String.get sep !sep_pointer then (* next piece of sep *)
- incr sep_pointer
- else begin (* useful char *)
- for i = 0 to !sep_pointer - 1 do
- line := !line ^ (String.make 1 (String.get sep i))
- done;
- sep_pointer := 0;
- line := !line ^ (String.make 1 ch)
- end
- end
- done;
- assert false (* unreacheable statement *)
- with Line_completed -> !line
-
-let patch_empty_path = function "" -> "/" | s -> s
-let debug_dump_request path params =
- debug_print
- (sprintf
- "recevied request; path: %s; params: %s"
- path
- (String.concat ", " (List.map (fun (n, v) -> n ^ "=" ^ v) params)))
-
-let parse_request_fst_line ic =
- let request_line = generic_input_line ~sep:crlf ~ic in
- debug_print (sprintf "HTTP request line (not yet parsed): %s" request_line);
- try
- (match Pcre.split ~rex:pieces_sep request_line with
- | [ meth_raw; uri_raw ] -> (* ancient HTTP request line *)
- (method_of_string meth_raw, (* method *)
- Http_parser_sanity.url_of_string uri_raw, (* uri *)
- None) (* no version given *)
- | [ meth_raw; uri_raw; http_version_raw ] -> (* HTTP 1.{0,1} *)
- (method_of_string meth_raw, (* method *)
- Http_parser_sanity.url_of_string uri_raw, (* uri *)
- Some (version_of_string http_version_raw)) (* version *)
- | _ -> raise (Malformed_request request_line))
- with Malformed_URL url -> raise (Malformed_request_URI url)
-
-let parse_response_fst_line ic =
- let response_line = generic_input_line ~sep:crlf ~ic in
- debug_print (sprintf "HTTP response line (not yet parsed): %s" response_line);
- try
- (match Pcre.split ~rex:pieces_sep response_line with
- | [ version_raw; code_raw; _ ] ->
- (version_of_string version_raw, (* method *)
- status_of_code (int_of_string code_raw)) (* status *)
- | _ -> raise (Malformed_response response_line))
- with
- | Malformed_URL _ | Invalid_code _ | Failure "int_of_string" ->
- raise (Malformed_response response_line)
-
-let parse_path uri = patch_empty_path (String.concat "/" (Neturl.url_path uri))
-let parse_query_get_params uri =
- try (* act on HTTP encoded URIs *)
- split_query_params (Neturl.url_query ~encoded:true uri)
- with Not_found -> []
-
-let parse_headers ic =
- (* consume also trailing "^\r\n$" line *)
- let rec parse_headers' headers =
- match generic_input_line ~sep:crlf ~ic with
- | "" -> List.rev headers
- | line ->
- (let subs =
- try
- Pcre.extract ~rex:header_RE line
- with Not_found -> raise (Invalid_header line)
- in
- let header =
- try
- subs.(1)
- with Invalid_argument "Array.get" -> raise (Invalid_header line)
- in
- let value =
- try
- Http_parser_sanity.normalize_header_value subs.(2)
- with Invalid_argument "Array.get" -> ""
- in
- Http_parser_sanity.heal_header (header, value);
- parse_headers' ((header, value) :: headers))
- in
- parse_headers' []
-
-let parse_request ic =
- let (meth, uri, version) = parse_request_fst_line ic in
- let path = parse_path uri in
- let query_get_params = parse_query_get_params uri in
- debug_dump_request path query_get_params;
- (path, query_get_params)
-
diff --git a/helm/DEVEL/ocaml-http/http_parser.mli b/helm/DEVEL/ocaml-http/http_parser.mli
deleted file mode 100644
index a49a8fe89..000000000
--- a/helm/DEVEL/ocaml-http/http_parser.mli
+++ /dev/null
@@ -1,68 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-(** HTTP messages parsing *)
-
-open Http_types;;
-
- (** given an HTTP like query string (e.g. "name1=value1&name2=value2&...")
- @return a list of pairs [("name1", "value1"); ("name2", "value2")]
- @raise Malformed_query if the string isn't a valid query string
- @raise Malformed_query_part if some piece of the query isn't valid
- *)
-val split_query_params: string -> (string * string) list
-
- (** parse 1st line of an HTTP request
- @param inchan input channel from which parse request
- @return a triple meth * url * version, meth is the HTTP method invoked, url is
- the requested url, version is the HTTP version specified or None if no version
- was specified
- @raise Malformed_request if request 1st linst isn't well formed
- @raise Malformed_request_URI if requested URI isn't well formed *)
-val parse_request_fst_line: in_channel -> meth * Neturl.url * version option
-
- (** parse 1st line of an HTTP response
- * @param inchan input channel from which parse response
- * @raise Malformed_response if first line isn't well formed
- *)
-val parse_response_fst_line: in_channel -> version * status
-
- (** parse HTTP GET parameters from an URL; paramater which were passed with no
- value (like 'x' in "/foo.cgi?a=10&x=&c=9") are returned associated with the
- empty ("") string.
- @return a list of pairs param_name * param_value *)
-val parse_query_get_params: Neturl.url -> (string * string) list
-
- (** parse the base path (removing query string, fragment, ....) from an URL *)
-val parse_path: Neturl.url -> string
-
- (** parse HTTP headers. Consumes also trailing CRLF at the end of header list
- @param inchan input channel from which parse headers
- @return a list of pairs header_name * header_value
- @raise Invalid_header if a not well formed header is encountered *)
-val parse_headers: in_channel -> (string * string) list
-
- (** given an input channel, reads from it a GET HTTP request and
- @return a pair where path is a string representing the
- requested path and query_params is a list of pairs (the GET
- parameters) *)
-val parse_request: in_channel -> string * (string * string) list
-
diff --git a/helm/DEVEL/ocaml-http/http_parser_sanity.ml b/helm/DEVEL/ocaml-http/http_parser_sanity.ml
deleted file mode 100644
index d66be8a61..000000000
--- a/helm/DEVEL/ocaml-http/http_parser_sanity.ml
+++ /dev/null
@@ -1,112 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-open Neturl;;
-open Printf;;
-
-open Http_types;;
-open Http_constants;;
-
-(*
-type url_syntax_option =
- Url_part_not_recognized
- | Url_part_allowed
- | Url_part_required
-
-* (1) scheme://user:password@host:port/path;params?query#fragment
-*)
-
-let request_uri_syntax = {
- url_enable_scheme = Url_part_not_recognized;
- url_enable_user = Url_part_not_recognized;
- url_enable_password = Url_part_not_recognized;
- url_enable_host = Url_part_not_recognized;
- url_enable_port = Url_part_not_recognized;
- url_enable_path = Url_part_required;
- url_enable_param = Url_part_not_recognized;
- url_enable_query = Url_part_allowed;
- url_enable_fragment = Url_part_not_recognized;
- url_enable_other = Url_part_not_recognized;
- url_accepts_8bits = false;
- url_is_valid = (fun _ -> true);
-}
-
- (* convention:
- foo_RE_raw is the uncompiled regexp matching foo
- foo_RE is the compiled regexp matching foo
- is_foo is the predicate over string matching foo
- *)
-
-let separators_RE_raw = "()<>@,;:\\\\\"/\\[\\]?={} \t"
-let ctls_RE_raw = "\\x00-\\x1F\\x7F"
-let token_RE_raw = "[^" ^ separators_RE_raw ^ ctls_RE_raw ^ "]+"
-let lws_RE_raw = "(\r\n)?[ \t]"
-let quoted_string_RE_raw = "\"(([^\"])|(\\\\\"))*\""
-let text_RE_raw = "(([^" ^ ctls_RE_raw ^ "])|(" ^ lws_RE_raw ^ "))+"
-let field_content_RE_raw =
- sprintf
- "^(((%s)|(%s)|(%s))|(%s))*$"
- token_RE_raw
- separators_RE_raw
- quoted_string_RE_raw
- text_RE_raw
-(*
- (* following RFC 2616 specifications *)
-let field_value_RE_raw = "((" ^ field_content_RE_raw ^ ")|(" ^ lws_RE_raw^ "))*"
-*)
- (* smarter implementation: TEXT production is included in the regexp below *)
-let field_value_RE_raw =
- sprintf
- "^((%s)|(%s)|(%s)|(%s))*$"
- token_RE_raw
- separators_RE_raw
- quoted_string_RE_raw
- lws_RE_raw
-
-let token_RE = Pcre.regexp ("^" ^ token_RE_raw ^ "$")
-let field_value_RE = Pcre.regexp ("^" ^ field_value_RE_raw ^ "$")
-let heading_lws_RE = Pcre.regexp (sprintf "^%s*" lws_RE_raw)
-let trailing_lws_RE = Pcre.regexp (sprintf "%s*$" lws_RE_raw)
-
-let is_token s = Pcre.pmatch ~rex:token_RE s
-let is_field_name = is_token
-let is_field_value s = Pcre.pmatch ~rex:field_value_RE s
-
-let heal_header_name s =
- if not (is_field_name s) then raise (Invalid_header_name s) else ()
-
-let heal_header_value s =
- if not (is_field_value s) then raise (Invalid_header_value s) else ()
-
-let normalize_header_value s =
- Pcre.replace ~rex:trailing_lws_RE
- (Pcre.replace ~rex:heading_lws_RE s)
-
-let heal_header (name, value) =
- heal_header_name name;
- heal_header_value name
-
-let url_of_string s =
- try
- url_of_string request_uri_syntax s
- with Neturl.Malformed_URL -> raise (Malformed_URL s)
-let string_of_url = Neturl.string_of_url
-
diff --git a/helm/DEVEL/ocaml-http/http_parser_sanity.mli b/helm/DEVEL/ocaml-http/http_parser_sanity.mli
deleted file mode 100644
index f8dd220df..000000000
--- a/helm/DEVEL/ocaml-http/http_parser_sanity.mli
+++ /dev/null
@@ -1,46 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-(** Sanity test functions related to HTTP message parsing *)
-
- (** @param name an HTTP header name
- @raise Invalid_header_name if name isn't a valid HTTP header name *)
-val heal_header_name: string -> unit
-
- (** @param value an HTTP header value
- @raise Invalid_header_value if value isn't a valid HTTP header value *)
-val heal_header_value: string -> unit
-
- (** @param header a pair header_name * header_value
- @raise Invalid_header_name if name isn't a valid HTTP header name
- @raise Invalid_header_value if value isn't a valid HTTP header value *)
-val heal_header: string * string -> unit
-
- (** remove heading and/or trailing LWS sequences as per RFC2616 *)
-val normalize_header_value: string -> string
-
- (** parse an URL from a string.
- @raise Malformed_URL if an invalid URL is encountered *)
-val url_of_string: string -> Neturl.url
-
- (** pretty print an URL *)
-val string_of_url: Neturl.url -> string
-
diff --git a/helm/DEVEL/ocaml-http/http_request.ml b/helm/DEVEL/ocaml-http/http_request.ml
deleted file mode 100644
index c2f2a9f48..000000000
--- a/helm/DEVEL/ocaml-http/http_request.ml
+++ /dev/null
@@ -1,143 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-open Printf;;
-
-open Http_common;;
-open Http_types;;
-
-let debug_dump_request path params =
- debug_print ("request path = " ^ path);
- debug_print (
- sprintf"request params = %s"
- (String.concat ";"
- (List.map (fun (h,v) -> String.concat "=" [h;v]) params)))
-
-let auth_sep_RE = Pcre.regexp ":"
-let basic_auth_RE = Pcre.regexp "^Basic\\s+"
-
-exception Fallback;; (* used internally by request class *)
-
-class request ic =
- let (meth, uri, version) = Http_parser.parse_request_fst_line ic in
- let uri_str = Neturl.string_of_url uri in
- let path = Http_parser.parse_path uri in
- let query_get_params = Http_parser.parse_query_get_params uri in
- let (headers, body) =
- (match version with
- | None -> [], "" (* No version given, use request's 1st line only *)
- | Some version -> (* Version specified, parse also headers and body *)
- let headers =
- List.map (* lowercase header names to ease lookups before having a
- request object *)
- (fun (h,v) -> (String.lowercase h, v))
- (Http_parser.parse_headers ic) (* trailing \r\n consumed! *)
- in
- let body =
- (* TODO fallback on size defined in Transfer-Encoding if
- Content-Length isn't defined *)
- if meth = `POST then
- Buffer.contents
- (try (* read only Content-Length bytes *)
- let limit_raw =
- (try
- List.assoc "content-length" headers
- with Not_found -> raise Fallback)
- in
- let limit =
- (try (* TODO supports only a maximum content-length of 1Gb *)
- int_of_string limit_raw
- with Failure "int_of_string" ->
- raise (Invalid_header ("content-length: " ^ limit_raw)))
- in
- Http_misc.buf_of_inchan ~limit ic
- with Fallback -> Http_misc.buf_of_inchan ic) (* read until EOF *)
- else (* TODO empty body for methods other than POST, is ok? *)
- ""
- in
- (headers, body))
- in
- let query_post_params =
- match meth with
- | `POST ->
- let ct = try List.assoc "content-type" headers with Not_found -> "" in
- if ct = "application/x-www-form-urlencoded" then
- Http_parser.split_query_params body
- else []
- | _ -> []
- in
- let params = query_post_params @ query_get_params in (* prefers POST params *)
- let _ = debug_dump_request path params in
- let (clisockaddr, srvsockaddr) =
- (Http_misc.peername_of_in_channel ic, Http_misc.sockname_of_in_channel ic)
- in
-
- object (self)
-
- inherit
- Http_message.message ~body ~headers ~version ~clisockaddr ~srvsockaddr
-
- val params_tbl =
- let tbl = Hashtbl.create (List.length params) in
- List.iter (fun (n,v) -> Hashtbl.add tbl n v) params;
- tbl
-
- method meth = meth
- method uri = uri_str
- method path = path
- method param ?meth name =
- (match (meth: meth option) with
- | None ->
- (try
- Hashtbl.find params_tbl name
- with Not_found -> raise (Param_not_found name))
- | Some `GET -> List.assoc name query_get_params
- | Some `POST -> List.assoc name query_post_params)
- method paramAll ?meth name =
- (match (meth: meth option) with
- | None -> List.rev (Hashtbl.find_all params_tbl name)
- | Some `GET -> Http_misc.list_assoc_all name query_get_params
- | Some `POST -> Http_misc.list_assoc_all name query_post_params)
- method params = params
- method params_GET = query_get_params
- method params_POST = query_post_params
-
- method private fstLineToString =
- let method_string = string_of_method self#meth in
- match self#version with
- | Some version ->
- sprintf "%s %s %s" method_string self#uri (string_of_version version)
- | None -> sprintf "%s %s" method_string self#uri
-
- method authorization: auth_info option =
- try
- let credentials =
- Netencoding.Base64.decode
- (Pcre.replace ~rex:basic_auth_RE (self#header "authorization"))
- in
- debug_print ("HTTP Basic auth credentials: " ^ credentials);
- (match Pcre.split ~rex:auth_sep_RE credentials with
- | [username; password] -> Some (`Basic (username, password))
- | l -> raise Exit)
- with Header_not_found _ | Invalid_argument _ | Exit -> None
-
- end
-
diff --git a/helm/DEVEL/ocaml-http/http_request.mli b/helm/DEVEL/ocaml-http/http_request.mli
deleted file mode 100644
index 9127032bd..000000000
--- a/helm/DEVEL/ocaml-http/http_request.mli
+++ /dev/null
@@ -1,29 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-(** Object Oriented representation of HTTP requests *)
-
-open Http_types;;
-
- (** OO representation of an HTTP request
- @param inchan input channel from which parse an HTTP request *)
-class request: in_channel -> Http_types.request
-
diff --git a/helm/DEVEL/ocaml-http/http_response.ml b/helm/DEVEL/ocaml-http/http_response.ml
deleted file mode 100644
index 6b2351999..000000000
--- a/helm/DEVEL/ocaml-http/http_response.ml
+++ /dev/null
@@ -1,118 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-open Http_types;;
-open Http_constants;;
-open Http_common;;
-open Http_daemon;;
-open Printf;;
-
-let status_line_RE = Pcre.regexp "^(HTTP/\\d\\.\\d) (\\d{3}) (.*)$"
-
-let anyize = function
- | Some addr -> addr
- | None -> Unix.ADDR_INET (Unix.inet_addr_any, -1)
-
-class response
- (* Warning: keep default values in sync with Http_daemon.respond function *)
- ?(body = "") ?(headers = []) ?(version = http_version)
- ?clisockaddr ?srvsockaddr (* optional because response have to be easily
- buildable in callback functions *)
- ?(code = 200) ?status
- ()
- =
-
- (** if no address were supplied for client and/or server, use a foo address
- instead *)
- let (clisockaddr, srvsockaddr) = (anyize clisockaddr, anyize srvsockaddr) in
-
- (* "version code reason_phrase" *)
- object (self)
-
- (* note that response objects can't be created with a None version *)
- inherit
- Http_message.message
- ~body ~headers ~version:(Some version) ~clisockaddr ~srvsockaddr
-
- val mutable _code =
- match status with
- | None -> code
- | Some (s: Http_types.status) -> code_of_status s
- val mutable _reason: string option = None
-
- method private getRealVersion =
- match self#version with
- | None ->
- failwith ("Http_response.fstLineToString: " ^
- "can't serialize an HTTP response with no HTTP version defined")
- | Some v -> string_of_version v
-
- method code = _code
- method setCode c =
- ignore (status_of_code c); (* sanity check on c *)
- _code <- c
- method status = status_of_code _code
- method setStatus (s: Http_types.status) = _code <- code_of_status s
- method reason =
- match _reason with
- | None -> Http_misc.reason_phrase_of_code _code
- | Some r -> r
- method setReason r = _reason <- Some r
- method statusLine =
- String.concat " "
- [self#getRealVersion; string_of_int self#code; self#reason]
- method setStatusLine s =
- try
- let subs = Pcre.extract ~rex:status_line_RE s in
- self#setVersion (version_of_string subs.(1));
- self#setCode (int_of_string subs.(2));
- self#setReason subs.(3)
- with Not_found ->
- raise (Invalid_status_line s)
-
- method isInformational = is_informational _code
- method isSuccess = is_success _code
- method isRedirection = is_redirection _code
- method isClientError = is_client_error _code
- method isServerError = is_server_error _code
- method isError = is_error _code
-
- (* FIXME duplication of code between this and send_basic_headers *)
- method addBasicHeaders =
- self#addHeader ~name:"Date" ~value:(Http_misc.date_822 ());
- self#addHeader ~name:"Server" ~value:server_string
-
- method contentType = self#header "Content-Type"
- method setContentType t = self#replaceHeader "Content-Type" t
- method contentEncoding = self#header "Content-Encoding"
- method setContentEncoding e = self#replaceHeader "Content-Encoding" e
- method date = self#header "Date"
- method setDate d = self#replaceHeader "Date" d
- method expires = self#header "Expires"
- method setExpires t = self#replaceHeader "Expires" t
- method server = self#header "Server"
- method setServer s = self#replaceHeader "Server" s
-
- method private fstLineToString =
- sprintf "%s %d %s" self#getRealVersion self#code self#reason
-
- end
-
diff --git a/helm/DEVEL/ocaml-http/http_response.mli b/helm/DEVEL/ocaml-http/http_response.mli
deleted file mode 100644
index d1baa5e9e..000000000
--- a/helm/DEVEL/ocaml-http/http_response.mli
+++ /dev/null
@@ -1,33 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-(** Object Oriented representation of HTTP responses *)
-
-open Http_types;;
-
- (** OO representation of an HTTP response. *)
-class response:
- ?body:string -> ?headers:(string * string) list -> ?version: version ->
- ?clisockaddr: Unix.sockaddr -> ?srvsockaddr: Unix.sockaddr ->
- ?code:int -> ?status:Http_types.status ->
- unit ->
- Http_types.response
-
diff --git a/helm/DEVEL/ocaml-http/http_tcp_server.ml b/helm/DEVEL/ocaml-http/http_tcp_server.ml
deleted file mode 100644
index 699e8cfdc..000000000
--- a/helm/DEVEL/ocaml-http/http_tcp_server.ml
+++ /dev/null
@@ -1,169 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-
- (** raised when a client timeouts *)
-exception Timeout;;
-
-let backlog = 10;;
-
- (** if timeout is given (Some _) @return a new callback which establish
- timeout_callback as callback for signal Sys.sigalrm and register an alarm
- (expiring after timeout seconds) before invoking the real callback given. If
- timeout is None, callback is returned unchanged. *)
-let wrap_callback_w_timeout ~callback ~timeout ~timeout_callback =
- match timeout with
- | None -> callback
- | Some timeout -> (* wrap callback setting an handler for ALRM signal and an
- alarm that ring after timeout seconds *)
- (fun inchan outchan ->
- ignore (Sys.signal Sys.sigalrm (Sys.Signal_handle timeout_callback));
- ignore (Unix.alarm timeout);
- callback inchan outchan)
-
- (* try to close nicely a socket *)
-let shutdown_socket suck =
- try
- Unix.shutdown suck Unix.SHUTDOWN_ALL
- with Unix.Unix_error(_, "shutdown", "") -> ()
-
-let nice_unix_accept suck =
- try
- Unix.accept suck
- with e -> (* clean up socket before exit *)
- shutdown_socket suck;
- raise e
-
-let init_socket sockaddr =
- let suck = Unix.socket Unix.PF_INET Unix.SOCK_STREAM 0 in
- (* shutdown socket on SIGTERM *)
- ignore (Sys.signal Sys.sigterm
- (Sys.Signal_handle
- (fun _ -> shutdown_socket suck; exit 17)));
- Unix.setsockopt suck Unix.SO_REUSEADDR true;
- Unix.bind suck sockaddr;
- Unix.listen suck backlog;
- suck
-
-let init_callback callback timeout =
- let timeout_callback signo =
- if signo = Sys.sigalrm then
- raise Timeout
- in
- wrap_callback_w_timeout ~callback ~timeout ~timeout_callback
-
- (** DEPRECATED and no longer visibile in .mli interface, this server has been
- replaced by 'fork'!
- tcp_server which use Unix.establish_server which in turn forks a child for
- each request *)
-let ocaml_builtin ~sockaddr ~timeout callback =
- let timeout_callback signo =
- if signo = Sys.sigalrm then
- exit 2
- in
- Unix.establish_server
- (wrap_callback_w_timeout ~callback ~timeout ~timeout_callback)
- sockaddr
-
- (** like Unix.establish_server, but shutdown sockets when receiving SIGTERM
- and before exiting for an uncaught exception *)
-let my_establish_server server_fun sockaddr =
- let suck = init_socket sockaddr in
- while true do
- let (s, caller) = nice_unix_accept suck in
- (* "double fork" trick, see Unix.establish_server implementation *)
- match Unix.fork() with
- | 0 -> (* parent *)
- (try
- if Unix.fork () <> 0 then
- exit 0; (* The son exits, the grandson works *)
- let inchan = Unix.in_channel_of_descr s in
- let outchan = Unix.out_channel_of_descr s in
- server_fun inchan outchan;
- close_out outchan;
- (* The file descriptor was already closed by close_out. close_in
- inchan; *)
- exit 0
- with e ->
- shutdown_socket suck; (* clean up socket before exit *)
- raise e)
- | child when (child > 0) -> (* child *)
- Unix.close s;
- ignore (Unix.waitpid [] child) (* Reclaim the son *)
- | _ (* < 0 *) ->
- failwith "Can't fork"
- done
-
-let fork ~sockaddr ~timeout callback =
- let timeout_callback signo =
- if signo = Sys.sigalrm then
- exit 2
- in
- my_establish_server
- (wrap_callback_w_timeout ~callback ~timeout ~timeout_callback)
- sockaddr
-
-
- (** tcp_server which doesn't fork, requests are server sequentially and in the
- same address space of the calling process *)
-let simple ~sockaddr ~timeout callback =
- let suck = init_socket sockaddr in
- let callback = init_callback callback timeout in
- try
- while true do
- let (client, _) = Unix.accept suck in
- (* client is now connected *)
- let (inchan, outchan) =
- (Unix.in_channel_of_descr client, Unix.out_channel_of_descr client)
- in
- (try
- callback inchan outchan;
- ignore (Unix.alarm 0) (* reset alarm *)
- with Timeout -> ());
- close_out outchan (* this close also inchan: socket is the same *)
- done
- with e -> (* clean up socket before exit *)
- shutdown_socket suck;
- raise e
-
- (** tcp_server which creates a new thread for each request to be served *)
-let thread ~sockaddr ~timeout callback =
- let suck = init_socket sockaddr in
- let callback = init_callback callback timeout in
- let callback (i, o) =
- try
- callback i o;
- close_out o
- with
- | Timeout -> close_out o
- | e ->
- close_out o;
- raise e
- in
- while true do
- let (client, _) = nice_unix_accept suck in
- (* client is now connected *)
- let (inchan, outchan) =
- (Unix.in_channel_of_descr client, Unix.out_channel_of_descr client)
- in
- Http_threaded_tcp_server.serve callback (inchan, outchan)
- done
-
diff --git a/helm/DEVEL/ocaml-http/http_tcp_server.mli b/helm/DEVEL/ocaml-http/http_tcp_server.mli
deleted file mode 100644
index 6aaad3cbf..000000000
--- a/helm/DEVEL/ocaml-http/http_tcp_server.mli
+++ /dev/null
@@ -1,39 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-(** TCP servers used as low-levels for HTTP daemons *)
-
-(** {2 servers} *)
-
- (** single process server *)
-val simple: Http_types.tcp_server
-
- (** multi threaded server *)
-val thread: Http_types.tcp_server
-
- (** multi process server *)
-val fork: Http_types.tcp_server
-
-(** {2 low level functions} *)
-
- (** initialize a passive socket listening on given Unix.sockaddr *)
-val init_socket: Unix.sockaddr -> Unix.file_descr
-
diff --git a/helm/DEVEL/ocaml-http/http_threaded_tcp_server.mli b/helm/DEVEL/ocaml-http/http_threaded_tcp_server.mli
deleted file mode 100644
index fecdea50c..000000000
--- a/helm/DEVEL/ocaml-http/http_threaded_tcp_server.mli
+++ /dev/null
@@ -1,26 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-(** Multithreaded part of Http_tcp_server *)
-
- (** serve an HTTP request for a multi threaded TCP server *)
-val serve : ('a -> 'b) -> 'a -> unit
-
diff --git a/helm/DEVEL/ocaml-http/http_types.ml b/helm/DEVEL/ocaml-http/http_types.ml
deleted file mode 100644
index 2175576b7..000000000
--- a/helm/DEVEL/ocaml-http/http_types.ml
+++ /dev/null
@@ -1,405 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002-2004> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-(** Type definitions *)
-
- (** HTTP version, actually only 1.0 and 1.1 are supported. Note that
- 'supported' here means only 'accepted inside a HTTP request line', no
- different behaviours are actually implemented depending on HTTP version *)
-type version =
- [ `HTTP_1_0
- | `HTTP_1_1
- ]
-
- (** HTTP method, actually only GET and POST methods are supported *)
-type meth =
- [ `GET
- | `POST
- ]
-
- (** Daemon behaviour wrt request handling. `Single mode use a single process
- to handle all requests, no request is served until a previous one has been
- fully served. `Fork mode fork a new process for each request, the new process
- will execute the callback function and then exit. `Thread mode create a new
- thread for each request, the new thread will execute the callback function and
- then exit, threads can communicate using standard OCaml Thread library. *)
-type daemon_mode = [ `Single | `Fork | `Thread ]
-
- (** A TCP server is a function taking an address on which bind and listen for
- connections, an optional timeout after which abort client connections and a
- callback function which in turn takes an input and an output channel as
- arguments. After receiving this argument a TCP server sits and waits for
- connection, on each connection it apply the callback function to channels
- connected to client. *)
-type tcp_server =
- sockaddr:Unix.sockaddr -> timeout:int option ->
- (in_channel -> out_channel -> unit) ->
- unit
-
- (** authentication information *)
-type auth_info =
- [ `Basic of string * string (* username, password *)
-(* | `Digest of ... (* TODO digest authentication *) *)
- ]
-
- (** informational HTTP status, see RFC2616 *)
-type informational_substatus =
- [ `Continue
- | `Switching_protocols
- ]
-
- (** success HTTP status, see RFC2616 *)
-type success_substatus =
- [ `OK
- | `Created
- | `Accepted
- | `Non_authoritative_information
- | `No_content
- | `Reset_content
- | `Partial_content
- ]
-
- (** redirection HTTP status, see RFC2616 *)
-type redirection_substatus =
- [ `Multiple_choices
- | `Moved_permanently
- | `Found
- | `See_other
- | `Not_modified
- | `Use_proxy
- | `Temporary_redirect
- ]
-
- (** client error HTTP status, see RFC2616 *)
-type client_error_substatus =
- [ `Bad_request
- | `Unauthorized
- | `Payment_required
- | `Forbidden
- | `Not_found
- | `Method_not_allowed
- | `Not_acceptable
- | `Proxy_authentication_required
- | `Request_time_out
- | `Conflict
- | `Gone
- | `Length_required
- | `Precondition_failed
- | `Request_entity_too_large
- | `Request_URI_too_large
- | `Unsupported_media_type
- | `Requested_range_not_satisfiable
- | `Expectation_failed
- ]
-
- (** server error HTTP status, see RFC2616 *)
-type server_error_substatus =
- [ `Internal_server_error
- | `Not_implemented
- | `Bad_gateway
- | `Service_unavailable
- | `Gateway_time_out
- | `HTTP_version_not_supported
- ]
-
-type informational_status = [ `Informational of informational_substatus ]
-type success_status = [ `Success of success_substatus ]
-type redirection_status = [ `Redirection of redirection_substatus ]
-type client_error_status = [ `Client_error of client_error_substatus ]
-type server_error_status = [ `Server_error of server_error_substatus ]
-
-type error_status =
- [ client_error_status
- | server_error_status
- ]
-
- (** HTTP status *)
-type status =
- [ informational_status
- | success_status
- | redirection_status
- | client_error_status
- | server_error_status
- ]
-
-type status_code = [ `Code of int | `Status of status ]
-
- (** File sources *)
-type file_source =
- | FileSrc of string (** filename *)
- | InChanSrc of in_channel (** input channel *)
-
- (** {2 Exceptions} *)
-
- (** invalid header encountered *)
-exception Invalid_header of string
-
- (** invalid header name encountered *)
-exception Invalid_header_name of string
-
- (** invalid header value encountered *)
-exception Invalid_header_value of string
-
- (** unsupported or invalid HTTP version encountered *)
-exception Invalid_HTTP_version of string
-
- (** unsupported or invalid HTTP method encountered *)
-exception Invalid_HTTP_method of string
-
- (** invalid HTTP status code integer representation encountered *)
-exception Invalid_code of int
-
- (** invalid URL encountered *)
-exception Malformed_URL of string
-
- (** invalid query string encountered *)
-exception Malformed_query of string
-
- (** invalid query string part encountered, arguments are parameter name and
- parameter value *)
-exception Malformed_query_part of string * string
-
- (** invalid request URI encountered *)
-exception Malformed_request_URI of string
-
- (** malformed request received *)
-exception Malformed_request of string
-
- (** malformed response received, argument is response's first line *)
-exception Malformed_response of string
-
- (** a parameter you were looking for was not found *)
-exception Param_not_found of string
-
- (** invalid HTTP status line encountered *)
-exception Invalid_status_line of string
-
- (** an header you were looking for was not found *)
-exception Header_not_found of string
-
- (** raisable by callbacks to make main daemon quit, this is the only
- 'clean' way to make start functions return *)
-exception Quit
-
- (** raisable by callbacks to force a 401 (unauthorized) HTTP answer.
- * This exception should be raised _before_ sending any data over given out
- * channel.
- * @param realm authentication realm (usually needed to prompt user) *)
-exception Unauthorized of string
-
- (** {2 OO representation of HTTP messages} *)
-
- (** HTTP generic messages. See {! Http_message.message} *)
-class type message = object
-
- method version: version option
- method setVersion: version -> unit
-
- method body: string
- method setBody: string -> unit
- method bodyBuf: Buffer.t
- method setBodyBuf: Buffer.t -> unit
- method addBody: string -> unit
- method addBodyBuf: Buffer.t -> unit
-
- method addHeader: name:string -> value:string -> unit
- method addHeaders: (string * string) list -> unit
- method replaceHeader: name:string -> value:string -> unit
- method replaceHeaders: (string * string) list -> unit
- method removeHeader: name:string -> unit
- method hasHeader: name:string -> bool
- method header: name:string -> string
- method headers: (string * string) list
-
- method clientSockaddr: Unix.sockaddr
- method clientAddr: string
- method clientPort: int
-
- method serverSockaddr: Unix.sockaddr
- method serverAddr: string
- method serverPort: int
-
- method toString: string
- method serialize: out_channel -> unit
-
- end
-
- (** HTTP requests *)
-class type request = object
-
- (** an HTTP request is a flavour of HTTP message *)
- inherit message
-
- (** @return request method *)
- method meth: meth
-
- (** @return requested URI (including query string, fragment, ...) *)
- method uri: string
-
- (** @return requested path *)
- method path: string
-
- (** lookup a given parameter
- @param meth if given restrict the lookup area (e.g. if meth = POST than
- only parameters received via POST are searched), if not given both GET and
- POST parameter are searched in an unspecified order (actually the
- implementation prefers POST parameters but this is not granted, you've
- been warned)
- @param name name of the parameter to lookup
- @return value associated to parameter name
- @raise Param_not_found if parameter name was not found *)
- method param: ?meth:meth -> string -> string
-
- (** like param above but return a list of values associated to given
- parameter (a parameter could be defined indeed more than once: passed more
- than once in a query string or passed both insider the url (the GET way)
- and inside message body (the POST way)) *)
- method paramAll: ?meth:meth -> string -> string list
-
- (** @return the list of all received parameters *)
- method params: (string * string) list
-
- (** @return the list of all parameters received via GET *)
- method params_GET: (string * string) list
-
- (** @return the list of all parameter received via POST *)
- method params_POST: (string * string) list
-
- (** @return authorization information, if given by the client *)
- method authorization: auth_info option
-
- end
-
- (** HTTP responses *)
-class type response = object
-
- inherit message
-
- (** @return response code *)
- method code: int
-
- (** set response code *)
- method setCode: int -> unit
-
- (** @return response status, see {! Http_types.status} *)
- method status: status
-
- (** set response status *)
- method setStatus: status -> unit
-
- (** @return reason string *)
- method reason: string
-
- (** set reason string *)
- method setReason: string -> unit
-
- (** @return status line *)
- method statusLine: string
-
- (** set status line
- @raise Invalid_status_line if an invalid HTTP status line was passed *)
- method setStatusLine: string -> unit
-
- (** response is an informational one *)
- method isInformational: bool
-
- (** response is a success one *)
- method isSuccess: bool
-
- (** response is a redirection one *)
- method isRedirection: bool
-
- (** response is a client error one *)
- method isClientError: bool
-
- (** response is a server error one *)
- method isServerError: bool
-
- (** response is either a client error or a server error response *)
- method isError: bool
-
- (** add basic headers to response, see {! Http_daemon.send_basic_headers}
- *)
- method addBasicHeaders: unit
-
- (** facilities to access some frequently used headers *)
-
- (** @return Content-Type header value *)
- method contentType: string
-
- (** set Content-Type header value *)
- method setContentType: string -> unit
-
- (** @return Content-Encoding header value *)
- method contentEncoding: string
-
- (** set Content-Encoding header value *)
- method setContentEncoding: string -> unit
-
- (** @return Date header value *)
- method date: string
-
- (** set Date header value *)
- method setDate: string -> unit
-
- (** @return Expires header value *)
- method expires: string
-
- (** set Expires header value *)
- method setExpires: string -> unit
-
- (** @return Server header value *)
- method server: string
-
- (** set Server header value *)
- method setServer: string -> unit
-
- end
-
- (** {2 OO representation of other HTTP "entities"} *)
-
- (** an HTTP connection from a client to a server *)
-class type connection =
- object
- (** @return next request object, may block if client hasn't submitted any
- request yet, may be None if client request was ill-formed *)
- method getRequest: request option
-
- (** respond to client sending it a response *)
- method respond_with: response -> unit
-
- (** close connection to client. Warning: this object can't be used any
- longer after this method has been called *)
- method close: unit
- end
-
- (** an HTTP daemon *)
-class type daemon =
- object
- (** @return a connection to a client, may block if no client has connected
- yet *)
- method accept: connection
-
- (** shortcut method, blocks until a client has submit a request and
- return a pair request * connection *)
- method getRequest: request * connection
- end
-
diff --git a/helm/DEVEL/ocaml-http/mt/.cvsignore b/helm/DEVEL/ocaml-http/mt/.cvsignore
deleted file mode 100644
index 977cc04b5..000000000
--- a/helm/DEVEL/ocaml-http/mt/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-*.cmi
-*.cmo
-*.cmx
-*.cma
-*.cmxa
-*.mli
diff --git a/helm/DEVEL/ocaml-http/mt/http_threaded_tcp_server.ml b/helm/DEVEL/ocaml-http/mt/http_threaded_tcp_server.ml
deleted file mode 100644
index acdef6105..000000000
--- a/helm/DEVEL/ocaml-http/mt/http_threaded_tcp_server.ml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-let serve callback arg = ignore (Thread.create callback arg)
-
diff --git a/helm/DEVEL/ocaml-http/non_mt/.cvsignore b/helm/DEVEL/ocaml-http/non_mt/.cvsignore
deleted file mode 100644
index 977cc04b5..000000000
--- a/helm/DEVEL/ocaml-http/non_mt/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-*.cmi
-*.cmo
-*.cmx
-*.cma
-*.cmxa
-*.mli
diff --git a/helm/DEVEL/ocaml-http/non_mt/http_threaded_tcp_server.ml b/helm/DEVEL/ocaml-http/non_mt/http_threaded_tcp_server.ml
deleted file mode 100644
index 9c92d7112..000000000
--- a/helm/DEVEL/ocaml-http/non_mt/http_threaded_tcp_server.ml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-(*
- OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
-
- Copyright (C) <2002> Stefano Zacchiroli
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*)
-
-let serve _ _ =
- failwith
- ("Threaded server not supported by the non threaded version " ^
- "of ocaml-http, please link against http_mt.cm{,x}a")
-
diff --git a/helm/DEVEL/profile-manager/Makefile b/helm/DEVEL/profile-manager/Makefile
deleted file mode 100644
index 556644338..000000000
--- a/helm/DEVEL/profile-manager/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-BIN_DIR = /usr/local/bin
-REQUIRES = http
-PREDICATES =
-OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -pp camlp4o
-OCAMLFIND = ocamlfind
-OCAMLC = $(OCAMLFIND) ocamlc -thread $(OCAMLOPTIONS)
-OCAMLOPT = $(OCAMLFIND) ocamlopt -thread $(OCAMLOPTIONS)
-OCAMLDEP = ocamldep -pp camlp4o
-
-LIBRARIES = $(shell $(OCAMLFIND) query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES))
-LIBRARIES_OPT = $(shell $(OCAMLFIND) query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES))
-
-OBJS = response.cmo profile.cmo profile_manager_env.cmo profile_manager.cmo
-
-profile-manager: $(OBJS) $(LIBRARIES)
- $(OCAMLC) -linkpkg -o $@ $(OBJS)
-
-profile-manager.opt: $(OBJS:.cmo=.cmx) $(LIBRARIES_OPT)
- $(OCAMLOPT) -linkpkg -o $@ $(OBJS:.cmo=.cmx)
-
-.SUFFIXES: .ml .mli .cmo .cmi .cmx
-.ml.cmo:
- $(OCAMLC) -c $<
-.mli.cmi:
- $(OCAMLC) -c $<
-.ml.cmx:
- $(OCAMLOPT) -c $<
-
-$(OBJS): $(LIBRARIES)
-$(OBJS:.cmo=.cmx)): $(LIBRARIES_OPT)
-
-clean:
- rm -f *.cm[iox] *.o rdfly rdfly.opt
-
-.PHONY: install uninstall clean
-
diff --git a/helm/DEVEL/profile-manager/control.html b/helm/DEVEL/profile-manager/control.html
deleted file mode 100644
index 2feb02fe9..000000000
--- a/helm/DEVEL/profile-manager/control.html
+++ /dev/null
@@ -1,240 +0,0 @@
-
-
-
-Profile Manager Control Panel
-
-
-
-
-
-
-
-
-
-
-
Profile Manager Control Panel
-
-
-
-
-
-This is a control panel for the profile manager. You can control a
-local or remote profile manager by filling the appropriate field below
-and sending the desired commands. Any command issued to the profile
-manager results into an XML response. Note that in order to use this
-page you must have JavaScript enabled. If you have troubles,
-please send an email to the author: lpadovan at cs dot unibo dot it.
-
-
-
-
-WARNING: the information stored in a profile,
-including the password, IS NOT encrypted in the profile nor while it
-is travelling from your computer to the profile manager. DO NOT USE
-THE PROFILE MANAGER FOR STORING SENSIBLE INFORMATION LIKE PASSWORDS
-FOR SECURE ACCOUNTS OR ANY OTHER PERSONAL DATA.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/helm/DEVEL/profile-manager/index.html b/helm/DEVEL/profile-manager/index.html
deleted file mode 100644
index caeebcf24..000000000
--- a/helm/DEVEL/profile-manager/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
diff --git a/helm/DEVEL/profile-manager/profile-manager.xsl b/helm/DEVEL/profile-manager/profile-manager.xsl
deleted file mode 100644
index e32d58739..000000000
--- a/helm/DEVEL/profile-manager/profile-manager.xsl
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/helm/DEVEL/profile-manager/profile.ml b/helm/DEVEL/profile-manager/profile.ml
deleted file mode 100644
index 9c19b3c9d..000000000
--- a/helm/DEVEL/profile-manager/profile.ml
+++ /dev/null
@@ -1,119 +0,0 @@
-
-exception Permission_denied
-exception Invalid_access of string
-
-type access_t =
- Allowed
- | Denied
- | Password
-
-let access_of_string old =
- function
- None -> old
- | Some "allowed" -> Allowed
- | Some "denied" -> Denied
- | Some "password" -> Password
- | Some s -> raise (Invalid_access s)
-
-let string_of_access =
- function
- Allowed -> "allowed"
- | Denied -> "denied"
- | Password -> "password"
-
-type t =
- { id : string;
- mutable password : string;
- mutable read_access : access_t;
- mutable write_access : access_t;
- mutable profile_access : access_t;
- data : (string, string) Hashtbl.t;
- }
-
-let serialize profile with_data =
- let serialize_data data =
- let sl = ref [] in
- Hashtbl.iter
- (fun field value ->
- sl := (" " ^ (Response.quote value) ^ "\n")::!sl)
- data ;
- List.fold_left (^) "" !sl
- in
- "\n" ^ (if with_data then serialize_data profile.data else "") ^ ""
-
-let create key pwd =
- let access, pwd' =
- match pwd with
- Some s -> Password, s
- | None -> Allowed, ""
- in
- let profile =
- { id = key;
- password = pwd';
- read_access = access;
- write_access = access;
- profile_access = access;
- data = Hashtbl.create 11
- }
- in
- profile
-
-let test_read_access profile pwd =
- match pwd, profile.read_access with
- Some s, Password when s = profile.password -> ()
- | None, Password when profile.password = "" -> ()
- | _, Allowed -> ()
- | _ -> raise Permission_denied
-
-let test_write_access profile pwd =
- match pwd, profile.write_access with
- Some s, Password when s = profile.password -> ()
- | None, Password when profile.password = "" -> ()
- | _, Allowed -> ()
- | _ -> raise Permission_denied
-
-let test_profile_access profile pwd =
- match pwd, profile.profile_access with
- Some s, Password when s = profile.password -> ()
- | None, Password when profile.password = "" -> ()
- | _, Allowed -> ()
- | _ -> raise Permission_denied
-
-let get profile pwd =
- test_read_access profile pwd ;
- serialize profile true
-
-let set profile field value pwd =
- test_write_access profile pwd ;
- begin
- match value with
- Some value' -> Hashtbl.replace profile.data field value'
- | None -> Hashtbl.remove profile.data field
- end ;
- Response.ok ()
-
-let del profile pwd =
- test_profile_access profile pwd ;
- Response.ok ()
-
-let set_password profile new_pwd pwd =
- test_profile_access profile pwd ;
- let new_pwd' =
- match new_pwd with
- Some s -> s
- | None -> ""
- in
- prerr_endline ("old " ^ profile.password ^ " new " ^ new_pwd') ;
- profile.password <- new_pwd' ;
- Response.ok ()
-
-let set_access profile read_access write_access profile_access pwd =
- test_profile_access profile pwd ;
- profile.read_access <- access_of_string profile.read_access read_access ;
- profile.write_access <- access_of_string profile.write_access write_access ;
- profile.profile_access <- access_of_string profile.profile_access profile_access ;
- Response.ok ()
diff --git a/helm/DEVEL/profile-manager/profile_manager.ml b/helm/DEVEL/profile-manager/profile_manager.ml
deleted file mode 100644
index 1c61e6a3f..000000000
--- a/helm/DEVEL/profile-manager/profile_manager.ml
+++ /dev/null
@@ -1,177 +0,0 @@
-(*
- * Copyright (C) 2003:
- * Stefano Zacchiroli
- * for the HELM Team http://helm.cs.unibo.it/
- *
- * This file is part of HELM, an Hypertextual, Electronic
- * Library of Mathematics, developed at the Computer Science
- * Department, University of Bologna, Italy.
- *
- * HELM is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * HELM is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HELM; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- * MA 02111-1307, USA.
- *
- * For details, see the HELM World-Wide-Web page,
- * http://helm.cs.unibo.it/
- *)
-
-exception Impossible
-
-let (profile_db : (string, Profile.t) Hashtbl.t) =
- try
- let ch = open_in Profile_manager_env.profile_db_path in
- input_value ch
- with
- _ -> Hashtbl.create 211
-
-let get_param_opt (req : Http_types.request) p =
- try
- match req#param p with
- "" -> None
- | s -> Some s
- with
- Http_types.Param_not_found _ -> None
-
-let new_key () =
- let hex_of_nibble n =
- if n >= 0 && n < 10 then
- string_of_int n
- else if n >= 10 && n < 16 then
- String.make 1 (Char.chr (n - 10 + (Char.code 'A')))
- else
- raise Impossible
- in
- let rec aux s =
- function
- 0 -> s
- | n -> aux ((hex_of_nibble (Random.int 16)) ^ s) (n - 1)
- in
- aux "" 4
-
-let new_unique_key =
- let rec aux () =
- let key = new_key () in
- if Hashtbl.mem profile_db key then
- aux ()
- else
- key
- in
- aux
-
-let list_profiles () =
- let pl = ref [] in
- Hashtbl.iter
- (fun _ profile -> pl := (Profile.serialize profile false) :: !pl)
- profile_db ;
- "" ^ (List.fold_left (^) "" !pl) ^ ""
-
-let get_profile id pwd =
- let profile = Hashtbl.find profile_db id in
- Profile.get profile pwd
-
-let new_profile id pwd =
- match id with
- Some id' when Hashtbl.mem profile_db id' -> get_profile id' pwd
- | Some id' ->
- let profile = Profile.create id' pwd in
- Hashtbl.add profile_db profile.Profile.id profile ;
- Profile.serialize profile true
- | None ->
- let profile = Profile.create (new_unique_key ()) None in
- Hashtbl.add profile_db profile.Profile.id profile ;
- Profile.serialize profile true
-
-let set_profile id field value pwd =
- let profile = Hashtbl.find profile_db id in
- Profile.set profile field value pwd
-
-let del_profile id pwd =
- let profile = Hashtbl.find profile_db id in
- let res = Profile.del profile pwd in
- Hashtbl.remove profile_db id ;
- res
-
-let set_password id new_pwd pwd =
- let profile = Hashtbl.find profile_db id in
- Profile.set_password profile new_pwd pwd
-
-let set_access id read_access write_access profile_access pwd =
- let profile = Hashtbl.find profile_db id in
- Profile.set_access profile read_access write_access profile_access pwd
-
-let callback (req : Http_types.request) outchan =
- let res =
- try
- prerr_endline ("Connection from " ^ req#clientAddr) ;
- prerr_endline ("Received request: " ^ req#path) ;
- begin
- match req#path with
- "/list" -> list_profiles ()
- | "/get" ->
- let id = req#param "id"
- and pwd = get_param_opt req "password" in
- get_profile id pwd
- | "/set" ->
- let id = req#param "id"
- and field = req#param "field"
- and value = get_param_opt req "value"
- and pwd = get_param_opt req "password" in
- set_profile id field value pwd
- | "/del" ->
- let id = req#param "id"
- and pwd = get_param_opt req "password" in
- del_profile id pwd
- | "/new" ->
- let id = get_param_opt req "id"
- and pwd = get_param_opt req "password" in
- new_profile id pwd
- | "/password" ->
- let id = req#param "id"
- and old_pwd = get_param_opt req "old_password"
- and new_pwd = get_param_opt req "new_password" in
- set_password id new_pwd old_pwd
- | "/access" ->
- let id = req#param "id"
- and pwd = get_param_opt req "password"
- and read_access = get_param_opt req "read"
- and write_access = get_param_opt req "write"
- and profile_access = get_param_opt req "profile" in
- set_access id read_access write_access profile_access pwd
- | s -> Response.error ("unrecognized command: " ^ s)
- end
- with
- Not_found -> Response.error "unknown profile"
- | Profile.Permission_denied -> Response.error "permission denied"
- | e -> Response.error ("uncaught exception: " ^ (Printexc.to_string e))
- in
- Http_daemon.respond
- ~body:res ~headers:["Content-Type", "text/xml"] outchan
-
- (* daemon initialization *)
-
-let save_db () =
- let ch = open_out Profile_manager_env.profile_db_path in
- output_value ch profile_db ;
- close_out ch
-
-let main () =
- at_exit save_db ;
- Sys.catch_break true ;
- try
- Http_daemon.start' ~timeout:(Some 600) ~port:58099 ~mode:`Thread callback
- with
- Sys.Break -> ()
-in
-main ()
-
diff --git a/helm/DEVEL/profile-manager/profile_manager_env.ml b/helm/DEVEL/profile-manager/profile_manager_env.ml
deleted file mode 100644
index cac43bd4e..000000000
--- a/helm/DEVEL/profile-manager/profile_manager_env.ml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-let profile_db_path =
- try
- Sys.getenv "PROFILE_MANAGER_DB_PATH"
- with
- Not_found -> "/tmp/profile.db"
diff --git a/helm/DEVEL/profile-manager/response.ml b/helm/DEVEL/profile-manager/response.ml
deleted file mode 100644
index e47a66651..000000000
--- a/helm/DEVEL/profile-manager/response.ml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-let quote_attribute s = s
-
-let quote s = s
-
-let error s = "" ^ (quote s) ^ ""
-
-let ok () = ""
diff --git a/helm/DEVEL/profile-manager/welcome.html b/helm/DEVEL/profile-manager/welcome.html
deleted file mode 100644
index f6fbed438..000000000
--- a/helm/DEVEL/profile-manager/welcome.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/helm/DEVEL/rdfly/.cvsignore b/helm/DEVEL/rdfly/.cvsignore
deleted file mode 100644
index 5424f8c69..000000000
--- a/helm/DEVEL/rdfly/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.o *.cm[iox] rdfly rdfly.opt
diff --git a/helm/DEVEL/rdfly/Makefile b/helm/DEVEL/rdfly/Makefile
deleted file mode 100644
index 779bb7b44..000000000
--- a/helm/DEVEL/rdfly/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-BIN_DIR = /usr/local/bin
-REQUIRES = mysql http helm-registry
-PREDICATES =
-OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -pp camlp4o
-OCAMLFIND = ocamlfind
-OCAMLC = $(OCAMLFIND) ocamlc -thread $(OCAMLOPTIONS)
-OCAMLOPT = $(OCAMLFIND) ocamlopt -thread $(OCAMLOPTIONS)
-OCAMLDEP = ocamldep -pp camlp4o
-
-LIBRARIES = $(shell $(OCAMLFIND) query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES))
-LIBRARIES_OPT = $(shell $(OCAMLFIND) query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES))
-
-OBJS = rdfly.cmo
-
-all: rdfly
-opt: rdfly.opt
-
-rdfly: $(OBJS) $(LIBRARIES)
- $(OCAMLC) -linkpkg -o $@ $(OBJS)
-
-rdfly.opt: $(OBJS:.cmo=.cmx) $(LIBRARIES_OPT)
- $(OCAMLOPT) -linkpkg -o rdfly.opt $(OBJS:.cmo=.cmx)
-
-.SUFFIXES: .ml .mli .cmo .cmi .cmx
-.ml.cmo:
- $(OCAMLC) -c $<
-.mli.cmi:
- $(OCAMLC) -c $<
-.ml.cmx:
- $(OCAMLOPT) -c $<
-
-$(OBJS): $(LIBRARIES)
-$(OBJS:.cmo=.cmx)): $(LIBRARIES_OPT)
-
-clean:
- rm -f *.cm[iox] *.o rdfly rdfly.opt
-
-.PHONY: install uninstall clean
-
diff --git a/helm/DEVEL/rdfly/rdfly.conf.xml.sample b/helm/DEVEL/rdfly/rdfly.conf.xml.sample
deleted file mode 100644
index 5d479dacf..000000000
--- a/helm/DEVEL/rdfly/rdfly.conf.xml.sample
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- localhost
- helm
- mowgli
- 3306
-
- 58086
-
-
diff --git a/helm/DEVEL/rdfly/rdfly.ml b/helm/DEVEL/rdfly/rdfly.ml
deleted file mode 100644
index b9a79d139..000000000
--- a/helm/DEVEL/rdfly/rdfly.ml
+++ /dev/null
@@ -1,192 +0,0 @@
-
-module M = Mysql
-
- (* First of all we load the configuration *)
-let _ =
- let configuration_file = "/projects/helm/etc/rdfly.conf.xml" in
- Helm_registry.load_from configuration_file
-;;
-
-let open_db ?host ?database ?port ?password ?user =
- try
- M.quick_connect ?host ?database ?port ?password ?user
- with
- M.Error e as exc ->
- prerr_endline e ;
- raise exc
-
-let extract_position s =
- let sharp_pos = String.rindex s '#' + 1 in
- String.sub s sharp_pos ((String.length s) - sharp_pos)
-
-let mk_new_msg () = ref []
-
-let msg_output_string msg s = msg := s::!msg
-
-let msg_serialize msg =
- String.concat "" (List.rev !msg)
-
-let msg_output_header msg obj =
- msg_output_string msg "\n\n" ;
- msg_output_string msg ("\n \n")
-
-let msg_output_trailer msg =
- msg_output_string msg " \n\n"
-
-let msg_output_dc_header msg obj =
- msg_output_string msg "\n\n" ;
- msg_output_string msg ("\n") ;
- msg_output_string msg " "
-;;
-
-let msg_output_dc_trailer msg =
- msg_output_string msg " \n"
-;;
-
-let value_of_optional_value =
- function
- None -> assert false
- | Some v -> v
-;;
-
-let forward_metadata db obj =
- let res = M.exec db ("SELECT * FROM refObj WHERE source = '" ^ obj ^ "';") in
- let msg = mk_new_msg () in
- msg_output_header msg obj ;
- M.iter res
- ~f:(function cols ->
- let position = extract_position (value_of_optional_value (cols.(2))) in
- let occurrence = value_of_optional_value (cols.(1)) in
- msg_output_string msg " \n \n" ;
- msg_output_string msg (" " ^ position ^ "\n") ;
- msg_output_string msg (" " ^ occurrence ^ "\n") ;
- msg_output_string msg " \n \n"
- ) ;
- msg_output_trailer msg ;
- msg_serialize msg
-;;
-
-let backward_metadata db obj =
- let res = M.exec db ("SELECT * FROM refObj WHERE h_occurrence = '" ^ obj ^ "';") in
- let msg = mk_new_msg () in
- msg_output_header msg obj ;
- M.iter res
- ~f:(function cols ->
- let position = extract_position (value_of_optional_value (cols.(2))) in
- let occurrence = value_of_optional_value (cols.(0)) in
- msg_output_string msg " \n \n" ;
- msg_output_string msg (" " ^ position ^ "\n") ;
- msg_output_string msg (" " ^ occurrence ^ "\n") ;
- msg_output_string msg " \n \n"
- ) ;
- msg_output_trailer msg ;
- msg_serialize msg
-;;
-
-let dc_metadata db obj =
- let tables =
- [ "dc:creator","dccreator" ;
- "dc:date","dcdate" ;
- "dc:description","dcdescription" ;
- "dc:format","dcformat" ;
- "dc:identifier","dcidentifier" ;
- "dc:language","dclanguage" ;
- "dc:publisher","dcpublisher" ;
- "dcq:RelationType","dcqRelationType" ;
- "dc:relation","dcrelation" ;
- "dc:rights","dcrights" ;
- "dc:source","dcsource" ;
- "dc:subject","dcsubject" ;
- "dc:title","dctitle" ;
- "hth:ResourceFormat","hthResourceFormat" ;
- "hth:contact","hthcontact" ;
- "hth:firstVersion","hthfirstVersion" ;
- "hth:institution","hthinstitution" ;
- "hth:modified","hthmodified"
- ]
- in
- let msg = mk_new_msg () in
- msg_output_dc_header msg obj ;
- List.iter
- (fun (propertyname,tablename) ->
- let res =
- M.exec db
- ("SELECT * FROM " ^ tablename ^ " WHERE uri = '" ^ obj ^ "';") in
- M.iter res
- ~f:(function cols ->
- let value = value_of_optional_value (cols.(0)) in
- msg_output_string msg
- (" <" ^ propertyname ^ ">" ^ value ^ "" ^ propertyname ^ ">\n") ;
- ) ;
- ) tables ;
- msg_output_dc_trailer msg ;
- msg_serialize msg
-;;
-
-let debug_print s = prerr_endline ("[RDFly] " ^ s)
-
-let mk_return_fun contype msg outchan =
- Http_daemon.respond
- ~body:msg ~headers:["Content-Type", contype] outchan
-
-let return_html = mk_return_fun "text/html"
-let return_xml = mk_return_fun "text/xml"
-let return_400 body ch =
- Http_daemon.respond_error ~code:(`Code 400) ~body ch
-let return_html_error s = return_html ("" ^ s ^ "")
-
-let get_option key =
- try
- Some (Helm_registry.get key)
- with Helm_registry.Key_not_found _ -> None
-
-let get_int_option key =
- try
- Some (Helm_registry.get_int key)
- with Helm_registry.Key_not_found _ -> None
-
-let host = get_option "rdfly.mysql_connection.host";;
-let database = get_option "rdfly.mysql_connection.database";;
-let port = get_int_option "rdfly.mysql_connection.port";;
-let password = get_option "rdfly.mysql_connection.password";;
-let user = get_option "rdfly.mysql_connection.user";;
-let daemonport = Helm_registry.get_int "rdfly.port";;
-
-let callback (req: Http_types.request) ch =
- try
- debug_print ("Connection from " ^ req#clientAddr) ;
- debug_print ("Received request: " ^ req#uri) ;
- (match req#path with
- | "/help" ->
- return_html_error "yeah right..." ch
- | "/get" ->
- let obj = req#param "object"
- and kind = req#param "kind" in
- let db = open_db ?host ?database ?port ?password ?user () in
- begin
- match kind with
- "forward" -> return_xml (forward_metadata db obj) ch
- | "backward" -> return_xml (backward_metadata db obj) ch
- | "dc" -> return_xml (dc_metadata db obj) ch
- | s -> return_html_error ("unsupported kind: " ^ s) ch
- end ;
- M.disconnect db
- | invalid_request ->
- Http_daemon.respond_error ~code:(`Status (`Client_error `Bad_request))
- ch)
- with
- | Http_types.Param_not_found attr_name ->
- return_400 (Printf.sprintf "Parameter '%s' is missing" attr_name) ch
- | exc ->
- return_html_error ("Uncaught exception: " ^ (Printexc.to_string exc)) ch
-
-let main () =
- Sys.catch_break true;
- try
- Http_daemon.start'
- ~timeout:(Some 600) ~port:daemonport callback
- with Sys.Break -> ()
-in
-
-main ()
-
diff --git a/helm/EXPORT/cshrc b/helm/EXPORT/cshrc
deleted file mode 100755
index e5519d719..000000000
--- a/helm/EXPORT/cshrc
+++ /dev/null
@@ -1,4 +0,0 @@
-setenv PATH /home/projects/helm/EXPORT/INSTALLED_V7/usr/local/bin:$PATH
-
-# Per uris_of_filenames.pl
-setenv PATH /home/projects/helm/V7/interface:$PATH
diff --git a/helm/EXPORT/export_Bordeaux_EXCEPTIONS/Makefile b/helm/EXPORT/export_Bordeaux_EXCEPTIONS/Makefile
deleted file mode 100644
index 484f0972f..000000000
--- a/helm/EXPORT/export_Bordeaux_EXCEPTIONS/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-all: objects theories
-
-objects:
- coqc -R EXCEPTIONS Bordeaux.EXCEPTIONS EXCEPTIONS/*.v
- echo "Load Verbose prova_Bordeaux_EXCEPTIONS." | coqtop.byte -R EXCEPTIONS Bordeaux.EXCEPTIONS
-
-theories:
- ./exporttheories.sh
-
-clean:
- rm -f *.vo EXCEPTIONS/*.vo
diff --git a/helm/EXPORT/export_Bordeaux_EXCEPTIONS/exporttheories.sh b/helm/EXPORT/export_Bordeaux_EXCEPTIONS/exporttheories.sh
deleted file mode 100755
index 532827348..000000000
--- a/helm/EXPORT/export_Bordeaux_EXCEPTIONS/exporttheories.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-echo "Exporting theory $1";
-
-for i in EXCEPTIONS/*.v
- do
- basename=$(basename $i | sed s/\\.v//)
- cat $i | ../mktheory.pl "Bordeaux/EXCEPTIONS/$basename" > \
- examples/Bordeaux/EXCEPTIONS/$basename.theory.xml
- done
diff --git a/helm/EXPORT/export_Bordeaux_EXCEPTIONS/prova_Bordeaux_EXCEPTIONS.v b/helm/EXPORT/export_Bordeaux_EXCEPTIONS/prova_Bordeaux_EXCEPTIONS.v
deleted file mode 100644
index 07c14ef3d..000000000
--- a/helm/EXPORT/export_Bordeaux_EXCEPTIONS/prova_Bordeaux_EXCEPTIONS.v
+++ /dev/null
@@ -1,5 +0,0 @@
-Require Export Xml.
-
-Require leavemult.
-
-Print XML Module Disk "examples" leavemult.
diff --git a/helm/EXPORT/export_Marseille_CCS/Makefile b/helm/EXPORT/export_Marseille_CCS/Makefile
deleted file mode 100644
index 7c30db4a5..000000000
--- a/helm/EXPORT/export_Marseille_CCS/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-all: objects theories
-
-objects:
- coqc -R CCS Marseille.CCS CCS/*.v
- echo "Load Verbose prova_Marseille_CCS." | coqtop.byte -R CCS Marseille.CCS
-
-theories:
- ./exporttheories.sh
-
-clean:
- rm -f *.vo CCS/*.vo
diff --git a/helm/EXPORT/export_Marseille_CCS/exporttheories.sh b/helm/EXPORT/export_Marseille_CCS/exporttheories.sh
deleted file mode 100755
index 24fce6c39..000000000
--- a/helm/EXPORT/export_Marseille_CCS/exporttheories.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-echo "Exporting theory $1";
-
-for i in CCS/*.v
- do
- basename=$(basename $i | sed s/\\.v//)
- cat $i | ../mktheory.pl "Marseille/CCS/$basename" > \
- examples/Marseille/CCS/$basename.theory.xml
- done
diff --git a/helm/EXPORT/export_Marseille_CCS/prova_Marseille_CCS.v b/helm/EXPORT/export_Marseille_CCS/prova_Marseille_CCS.v
deleted file mode 100644
index e44066736..000000000
--- a/helm/EXPORT/export_Marseille_CCS/prova_Marseille_CCS.v
+++ /dev/null
@@ -1,5 +0,0 @@
-Require Export Xml.
-
-Require Trans_Sys.
-
-Print XML Module Disk "examples" Trans_Sys.
diff --git a/helm/EXPORT/export_Nijmegen_Rem/Makefile b/helm/EXPORT/export_Nijmegen_Rem/Makefile
deleted file mode 100644
index 3421cc0a6..000000000
--- a/helm/EXPORT/export_Nijmegen_Rem/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-all: objects theories
-
-objects:
- coqc -R Rem Nijmegen.Rem Rem/*.v
- echo "Load Verbose prova_Nijmegen_Rem." | coqtop.byte -R Rem Nijmegen.Rem
-
-theories:
- ./exporttheories.sh
-
-clean:
- rm -f *.vo Rem/*.vo
diff --git a/helm/EXPORT/export_Nijmegen_Rem/exporttheories.sh b/helm/EXPORT/export_Nijmegen_Rem/exporttheories.sh
deleted file mode 100755
index 8e64b90c5..000000000
--- a/helm/EXPORT/export_Nijmegen_Rem/exporttheories.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-echo "Exporting theory $1";
-
-for i in Rem/*.v
- do
- basename=$(basename $i | sed s/\\.v//)
- cat $i | ../mktheory.pl "Nijmegen/Rem/$basename" > \
- examples/Nijmegen/Rem/$basename.theory.xml
- done
diff --git a/helm/EXPORT/export_Nijmegen_Rem/prova_Nijmegen_Rem.v b/helm/EXPORT/export_Nijmegen_Rem/prova_Nijmegen_Rem.v
deleted file mode 100644
index 04244aa30..000000000
--- a/helm/EXPORT/export_Nijmegen_Rem/prova_Nijmegen_Rem.v
+++ /dev/null
@@ -1,5 +0,0 @@
-Require Export Xml.
-
-Require Rem.
-
-Print XML Module Disk "examples" Rem.
diff --git a/helm/EXPORT/export_Paris_ZF/Makefile b/helm/EXPORT/export_Paris_ZF/Makefile
deleted file mode 100644
index ee2f95e1b..000000000
--- a/helm/EXPORT/export_Paris_ZF/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-all: objects theories
-
-objects:
- coqc -R ZF/src Paris.ZF ZF/src/nothing.v
- coqc -R ZF/src Paris.ZF ZF/src/useful.v
- coqc -R ZF/src Paris.ZF ZF/src/ZFbasis.v
- coqc -R ZF/src Paris.ZF ZF/src/axs_extensionnalite.v
- coqc -R ZF/src Paris.ZF ZF/src/axs_paire.v
- coqc -R ZF/src Paris.ZF ZF/src/axs_reunion.v
- coqc -R ZF/src Paris.ZF ZF/src/axs_parties.v
- coqc -R ZF/src Paris.ZF ZF/src/axs_comprehension.v
- coqc -R ZF/src Paris.ZF ZF/src/axs_remplacement.v
- coqc -R ZF/src Paris.ZF ZF/src/couples.v
- coqc -R ZF/src Paris.ZF ZF/src/applications.v
- coqc -R ZF/src Paris.ZF ZF/src/axs_choice.v
- coqc -R ZF/src Paris.ZF ZF/src/axs_fundation.v
- coqc -R ZF/src Paris.ZF ZF/src/ZFrelations.v
- coqc -R ZF/src Paris.ZF ZF/src/MSetBasis.v
- echo "Load Verbose prova_Paris_ZF." | coqtop.byte -R ZF/src Paris.ZF
-
-theories:
- ./exporttheories.sh
-
-clean:
- rm -f *.vo ZF/src/*.vo
diff --git a/helm/EXPORT/export_Paris_ZF/exporttheories.sh b/helm/EXPORT/export_Paris_ZF/exporttheories.sh
deleted file mode 100755
index 3a0db3d49..000000000
--- a/helm/EXPORT/export_Paris_ZF/exporttheories.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-echo "Exporting theory $1";
-
-for i in ZF/src/*.v
- do
- basename=$(basename $i | sed s/\\.v//)
- cat $i | ../mktheory.pl "Paris/ZF/$basename" > \
- examples/Paris/ZF/$basename.theory.xml
- done
diff --git a/helm/EXPORT/export_Paris_ZF/prova_Paris_ZF.v b/helm/EXPORT/export_Paris_ZF/prova_Paris_ZF.v
deleted file mode 100644
index 03f59427f..000000000
--- a/helm/EXPORT/export_Paris_ZF/prova_Paris_ZF.v
+++ /dev/null
@@ -1,33 +0,0 @@
-Require Export Xml.
-
-Require nothing.
-Require useful.
-Require ZFbasis.
-Require axs_extensionnalite.
-Require axs_paire .
-Require axs_reunion.
-Require axs_parties.
-Require axs_comprehension.
-Require axs_remplacement.
-Require couples.
-Require applications .
-Require axs_choice.
-Require axs_fundation.
-Require ZFrelations.
-Require MSetBasis .
-
-Print XML Module Disk "examples" nothing.
-Print XML Module Disk "examples" useful.
-Print XML Module Disk "examples" ZFbasis.
-Print XML Module Disk "examples" axs_extensionnalite.
-Print XML Module Disk "examples" axs_paire .
-Print XML Module Disk "examples" axs_reunion.
-Print XML Module Disk "examples" axs_parties.
-Print XML Module Disk "examples" axs_comprehension.
-Print XML Module Disk "examples" axs_remplacement.
-Print XML Module Disk "examples" couples.
-Print XML Module Disk "examples" applications .
-Print XML Module Disk "examples" axs_choice.
-Print XML Module Disk "examples" axs_fundation.
-Print XML Module Disk "examples" ZFrelations.
-Print XML Module Disk "examples" MSetBasis .
diff --git a/helm/EXPORT/export_Rocq_CHECKER/Makefile b/helm/EXPORT/export_Rocq_CHECKER/Makefile
deleted file mode 100644
index 76fe9308a..000000000
--- a/helm/EXPORT/export_Rocq_CHECKER/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-all: objects theories
-
-objects:
- coqc -R CHECKER Rocq.CHECKER CHECKER/Functions.v CHECKER/Checker.v
- echo "Load Verbose prova_Rocq_CHECKER." | coqtop.byte -R CHECKER Rocq.CHECKER
-
-theories:
- ./exporttheories.sh
-
-clean:
- rm -f *.vo CHECKER/*.vo
diff --git a/helm/EXPORT/export_Rocq_CHECKER/exporttheories.sh b/helm/EXPORT/export_Rocq_CHECKER/exporttheories.sh
deleted file mode 100755
index e0152041f..000000000
--- a/helm/EXPORT/export_Rocq_CHECKER/exporttheories.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-echo "Exporting theory $1";
-
-for i in CHECKER/*.v
- do
- basename=$(basename $i | sed s/\\.v//)
- cat $i | ../mktheory.pl "Rocq/CHECKER/$basename" > \
- examples/Rocq/CHECKER/$basename.theory.xml
- done
diff --git a/helm/EXPORT/export_Rocq_CHECKER/prova_Rocq_CHECKER.v b/helm/EXPORT/export_Rocq_CHECKER/prova_Rocq_CHECKER.v
deleted file mode 100644
index 190588474..000000000
--- a/helm/EXPORT/export_Rocq_CHECKER/prova_Rocq_CHECKER.v
+++ /dev/null
@@ -1,7 +0,0 @@
-Require Export Xml.
-
-Require Functions.
-Require Checker.
-
-Print XML Module Disk "examples" Functions.
-Print XML Module Disk "examples" Checker.
diff --git a/helm/EXPORT/export_Rocq_HIGMAN/Makefile b/helm/EXPORT/export_Rocq_HIGMAN/Makefile
deleted file mode 100644
index f5161ba4e..000000000
--- a/helm/EXPORT/export_Rocq_HIGMAN/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-all: objects theories
-
-objects:
- coqc -R HIGMAN Rocq.HIGMAN HIGMAN/*.v
- echo "Load Verbose prova_Rocq_HIGMAN." | coqtop.byte -R HIGMAN Rocq.HIGMAN
-
-theories:
- ./exporttheories.sh
-
-clean:
- rm -f *.vo HIGMAN/*.vo
diff --git a/helm/EXPORT/export_Rocq_HIGMAN/exporttheories.sh b/helm/EXPORT/export_Rocq_HIGMAN/exporttheories.sh
deleted file mode 100755
index d19281688..000000000
--- a/helm/EXPORT/export_Rocq_HIGMAN/exporttheories.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-echo "Exporting theory $1";
-
-for i in HIGMAN/*.v
- do
- basename=$(basename $i | sed s/\\.v//)
- cat $i | ../mktheory.pl "Rocq/HIGMAN/$basename" > \
- examples/Rocq/HIGMAN/$basename.theory.xml
- done
diff --git a/helm/EXPORT/export_Rocq_HIGMAN/prova_Rocq_HIGMAN.v b/helm/EXPORT/export_Rocq_HIGMAN/prova_Rocq_HIGMAN.v
deleted file mode 100644
index 9abc11a52..000000000
--- a/helm/EXPORT/export_Rocq_HIGMAN/prova_Rocq_HIGMAN.v
+++ /dev/null
@@ -1,5 +0,0 @@
-Require Export Xml.
-
-Require Higman.
-
-Print XML Module Disk "examples" Higman.
diff --git a/helm/EXPORT/export_Rocq_SHUFFLE/Makefile b/helm/EXPORT/export_Rocq_SHUFFLE/Makefile
deleted file mode 100644
index ba2ab5712..000000000
--- a/helm/EXPORT/export_Rocq_SHUFFLE/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-all: objects theories
-
-objects:
- coqc -R SHUFFLE Rocq.SHUFFLE SHUFFLE/Words.v
- coqc -R SHUFFLE Rocq.SHUFFLE SHUFFLE/Alternate.v
- coqc -R SHUFFLE Rocq.SHUFFLE SHUFFLE/Opposite.v
- coqc -R SHUFFLE Rocq.SHUFFLE SHUFFLE/Paired.v
- coqc -R SHUFFLE Rocq.SHUFFLE SHUFFLE/Shuffle.v
- coqc -R SHUFFLE Rocq.SHUFFLE SHUFFLE/Gilbreath.v
- echo "Load Verbose prova_Rocq_SHUFFLE." | coqtop.byte -R SHUFFLE Rocq.SHUFFLE
-
-theories:
- ./exporttheories.sh
-
-clean:
- rm -f *.vo SHUFFLE/*.vo
diff --git a/helm/EXPORT/export_Rocq_SHUFFLE/exporttheories.sh b/helm/EXPORT/export_Rocq_SHUFFLE/exporttheories.sh
deleted file mode 100755
index acd865a42..000000000
--- a/helm/EXPORT/export_Rocq_SHUFFLE/exporttheories.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-echo "Exporting theory $1";
-
-for i in SHUFFLE/*.v
- do
- basename=$(basename $i | sed s/\\.v//)
- cat $i | ../mktheory.pl "Rocq/SHUFFLE/$basename" > \
- examples/Rocq/SHUFFLE/$basename.theory.xml
- done
diff --git a/helm/EXPORT/export_Rocq_SHUFFLE/prova_Rocq_SHUFFLE.v b/helm/EXPORT/export_Rocq_SHUFFLE/prova_Rocq_SHUFFLE.v
deleted file mode 100644
index 1b17a93bc..000000000
--- a/helm/EXPORT/export_Rocq_SHUFFLE/prova_Rocq_SHUFFLE.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Export Xml.
-
-Require Alternate.
-Require Gilbreath.
-Require Opposite.
-Require Paired.
-Require Shuffle.
-Require Words.
-
-
-Print XML Module Disk "examples" Alternate.
-Print XML Module Disk "examples" Gilbreath.
-Print XML Module Disk "examples" Opposite.
-Print XML Module Disk "examples" Paired.
-Print XML Module Disk "examples" Shuffle.
-Print XML Module Disk "examples" Words.
diff --git a/helm/EXPORT/export_Utrecht_Ramsey/Makefile b/helm/EXPORT/export_Utrecht_Ramsey/Makefile
deleted file mode 100644
index 576b198db..000000000
--- a/helm/EXPORT/export_Utrecht_Ramsey/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-all: objects theories
-
-objects:
- coqc -R Ramsey Utrecht.Ramsey Ramsey/*.v
- echo "Load Verbose prova_Utrecht_Ramsey." | coqtop.byte -R Ramsey Utrecht.Ramsey
-
-theories:
- ./exporttheories.sh
-
-clean:
- rm -f *.vo Ramsey/*.vo
diff --git a/helm/EXPORT/export_Utrecht_Ramsey/exporttheories.sh b/helm/EXPORT/export_Utrecht_Ramsey/exporttheories.sh
deleted file mode 100755
index b2dd5f8aa..000000000
--- a/helm/EXPORT/export_Utrecht_Ramsey/exporttheories.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-echo "Exporting theory $1";
-
-for i in Ramsey/*.v
- do
- basename=$(basename $i | sed s/\\.v//)
- cat $i | ../mktheory.pl "Utrecht/Ramsey/$basename" > \
- examples/Utrecht/Ramsey/$basename.theory.xml
- done
diff --git a/helm/EXPORT/export_Utrecht_Ramsey/prova_Utrecht_Ramsey.v b/helm/EXPORT/export_Utrecht_Ramsey/prova_Utrecht_Ramsey.v
deleted file mode 100644
index aa0500f15..000000000
--- a/helm/EXPORT/export_Utrecht_Ramsey/prova_Utrecht_Ramsey.v
+++ /dev/null
@@ -1,5 +0,0 @@
-Require Export Xml.
-
-Require Ramsey.
-
-Print XML Module Disk "examples" Ramsey.
diff --git a/helm/EXPORT/exportcoq/Makefile b/helm/EXPORT/exportcoq/Makefile
deleted file mode 100644
index 5026ec526..000000000
--- a/helm/EXPORT/exportcoq/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-all: objects theories
-
-objects:
- echo "Load Verbose provacoq." | coqtop.byte
-
-theories:
- ./exporttheories.sh
diff --git a/helm/EXPORT/exportcoq/export_contrib_theory.sh b/helm/EXPORT/exportcoq/export_contrib_theory.sh
deleted file mode 100755
index afc191889..000000000
--- a/helm/EXPORT/exportcoq/export_contrib_theory.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/bash
-
-echo "Exporting theory $1";
-
-for i in ../V7/contrib/$1/*.v
- do
- basename=$(basename $i | sed s/\\.v//)
- cat $i | ../mktheory.pl "Coq/$1/$basename" 0 > \
- examples/Coq/$1/$basename.theory.xml
-# cat $i | ../mktheory.pl "Coq/$1/$basename" 1 > \
-# examples/Coq/$1/"$basename"_with_types.theory.xml
- done
diff --git a/helm/EXPORT/exportcoq/export_theory_theory.sh b/helm/EXPORT/exportcoq/export_theory_theory.sh
deleted file mode 100755
index 1a23583eb..000000000
--- a/helm/EXPORT/exportcoq/export_theory_theory.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/bash
-
-echo "Exporting theory $1";
-
-for i in ../V7/theories/$1/*.v
- do
- basename=$(basename $i | sed s/\\.v//)
- cat $i | ../mktheory.pl "Coq/$1/$basename" 0 > \
- examples/Coq/$1/$basename.theory.xml
-# cat $i | ../mktheory.pl "Coq/$1/$basename" 1 > \
-# examples/Coq/$1/"$basename"_with_types.theory.xml
- done
diff --git a/helm/EXPORT/exportcoq/exporttheories.sh b/helm/EXPORT/exportcoq/exporttheories.sh
deleted file mode 100755
index 5fdc47378..000000000
--- a/helm/EXPORT/exportcoq/exporttheories.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-
-./export_theory_theory.sh Arith
-./export_theory_theory.sh Bool
-./export_theory_theory.sh Init
-./export_theory_theory.sh Lists
-./export_theory_theory.sh Logic
-./export_theory_theory.sh Reals
-./export_theory_theory.sh Relations
-./export_theory_theory.sh Sets
-#./export_theory_theory.sh SORTING
-#./export_theory_theory.sh TREES
-./export_theory_theory.sh Wellfounded
-./export_theory_theory.sh Zarith
-
-./export_contrib_theory.sh omega
-./export_contrib_theory.sh ring
diff --git a/helm/EXPORT/exportcoq/provacoq.v b/helm/EXPORT/exportcoq/provacoq.v
deleted file mode 100644
index 99b52ebc7..000000000
--- a/helm/EXPORT/exportcoq/provacoq.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Load Verbose provacoqArith.
-Load Verbose provacoqBool.
-Load Verbose provacoqInit.
-Load Verbose provacoqLists.
-Load Verbose provacoqLogic.
-Load Verbose provacoqReals.
-Load Verbose provacoqRelations.
-Load Verbose provacoqSets.
-(*Load Verbose provacoqSorting.*)
-(*Load Verbose provacoqTrees.*)
-Load Verbose provacoqZArith.
-
-Load Verbose provacoqcontribRing.
-Load Verbose provacoqcontribOmega.
diff --git a/helm/EXPORT/exportcoq/provacoqArith.v b/helm/EXPORT/exportcoq/provacoqArith.v
deleted file mode 100644
index 1fdc4f943..000000000
--- a/helm/EXPORT/exportcoq/provacoqArith.v
+++ /dev/null
@@ -1,31 +0,0 @@
-Require Export Xml.
-
-Require Arith.
-Require Compare.
-Require Compare_dec.
-(*Require Div.*)
-Require Div2.
-Require EqNat.
-Require Euclid_def.
-Require Euclid_proof.
-Require Peano_dec.
-
-Print XML Module Disk "examples" Arith.
-Print XML Module Disk "examples" Between.
-Print XML Module Disk "examples" Compare.
-Print XML Module Disk "examples" Compare_dec.
-(*Print XML Module Disk "examples" Div.*)
-Print XML Module Disk "examples" Div2.
-Print XML Module Disk "examples" EqNat.
-Print XML Module Disk "examples" Euclid_def.
-Print XML Module Disk "examples" Euclid_proof.
-Print XML Module Disk "examples" Even.
-Print XML Module Disk "examples" Gt.
-Print XML Module Disk "examples" Le.
-Print XML Module Disk "examples" Lt.
-Print XML Module Disk "examples" Min.
-Print XML Module Disk "examples" Minus.
-Print XML Module Disk "examples" Mult.
-Print XML Module Disk "examples" Peano_dec.
-Print XML Module Disk "examples" Plus.
-Print XML Module Disk "examples" Wf_nat.
diff --git a/helm/EXPORT/exportcoq/provacoqBool.v b/helm/EXPORT/exportcoq/provacoqBool.v
deleted file mode 100644
index a898237be..000000000
--- a/helm/EXPORT/exportcoq/provacoqBool.v
+++ /dev/null
@@ -1,13 +0,0 @@
-Require Export Xml.
-
-Require Bool.
-Require DecBool.
-Require IfProp.
-Require Sumbool.
-Require Zerob.
-
-Print XML Module Disk "examples" Bool.
-Print XML Module Disk "examples" DecBool.
-Print XML Module Disk "examples" IfProp.
-Print XML Module Disk "examples" Sumbool.
-Print XML Module Disk "examples" Zerob.
diff --git a/helm/EXPORT/exportcoq/provacoqInit.v b/helm/EXPORT/exportcoq/provacoqInit.v
deleted file mode 100644
index d40ea3ee5..000000000
--- a/helm/EXPORT/exportcoq/provacoqInit.v
+++ /dev/null
@@ -1,13 +0,0 @@
-Require Export Xml.
-
-Print XML Module Disk "examples" Datatypes.
-Print XML Module Disk "examples" DatatypesSyntax.
-Print XML Module Disk "examples" Logic.
-Print XML Module Disk "examples" LogicSyntax.
-Print XML Module Disk "examples" Specif.
-Print XML Module Disk "examples" SpecifSyntax.
-Print XML Module Disk "examples" Peano.
-Print XML Module Disk "examples" Wf.
-Print XML Module Disk "examples" Prelude.
-Print XML Module Disk "examples" Logic_Type.
-Print XML Module Disk "examples" Logic_TypeSyntax.
diff --git a/helm/EXPORT/exportcoq/provacoqLists.v b/helm/EXPORT/exportcoq/provacoqLists.v
deleted file mode 100644
index 91b74ef0a..000000000
--- a/helm/EXPORT/exportcoq/provacoqLists.v
+++ /dev/null
@@ -1,15 +0,0 @@
-Require Export Xml.
-
-Require List.
-Require ListSet.
-Require PolyList.
-(*Require PolyListSyntax.*)
-Require Streams.
-Require TheoryList.
-
-Print XML Module Disk "examples" List.
-Print XML Module Disk "examples" ListSet.
-Print XML Module Disk "examples" PolyList.
-(*Print XML Module Disk "examples" PolyListSyntax.*)
-Print XML Module Disk "examples" Streams.
-Print XML Module Disk "examples" TheoryList.
diff --git a/helm/EXPORT/exportcoq/provacoqLogic.v b/helm/EXPORT/exportcoq/provacoqLogic.v
deleted file mode 100644
index e2296a51f..000000000
--- a/helm/EXPORT/exportcoq/provacoqLogic.v
+++ /dev/null
@@ -1,17 +0,0 @@
-Require Export Xml.
-
-Require Classical.
-Require Classical_Pred_Set.
-Require Classical_Pred_Type.
-Require Classical_Prop.
-Require Classical_Type.
-Require Eqdep.
-Require Eqdep_dec.
-
-Print XML Module Disk "examples" Classical.
-Print XML Module Disk "examples" Classical_Pred_Set.
-Print XML Module Disk "examples" Classical_Pred_Type.
-Print XML Module Disk "examples" Classical_Prop.
-Print XML Module Disk "examples" Classical_Type.
-Print XML Module Disk "examples" Eqdep.
-Print XML Module Disk "examples" Eqdep_dec.
diff --git a/helm/EXPORT/exportcoq/provacoqReals.v b/helm/EXPORT/exportcoq/provacoqReals.v
deleted file mode 100644
index 445f9f988..000000000
--- a/helm/EXPORT/exportcoq/provacoqReals.v
+++ /dev/null
@@ -1,23 +0,0 @@
-Require Export Xml.
-
-Require R_Ifp.
-Require Raxioms.
-Require Rdefinitions.
-Require Rbase.
-Require Rbasic_fun.
-Require Rderiv.
-Require Reals.
-Require Rfunctions.
-Require Rlimit.
-Require TypeSyntax.
-
-Print XML Module Disk "examples" R_Ifp.
-Print XML Module Disk "examples" Raxioms.
-Print XML Module Disk "examples" Rdefinitions.
-Print XML Module Disk "examples" Rbase.
-Print XML Module Disk "examples" Rbasic_fun.
-Print XML Module Disk "examples" Rderiv.
-Print XML Module Disk "examples" Reals.
-Print XML Module Disk "examples" Rfunctions.
-Print XML Module Disk "examples" Rlimit.
-Print XML Module Disk "examples" TypeSyntax.
diff --git a/helm/EXPORT/exportcoq/provacoqRelations.v b/helm/EXPORT/exportcoq/provacoqRelations.v
deleted file mode 100644
index c588b30f3..000000000
--- a/helm/EXPORT/exportcoq/provacoqRelations.v
+++ /dev/null
@@ -1,33 +0,0 @@
-Require Export Xml.
-
-Require Newman.
-Require Operators_Properties.
-Require Relation_Definitions.
-Require Relation_Operators.
-Require Relations.
-Require Rstar.
-(*Require Disjoint_Union.*)
-(*Require Inclusion.*)
-(*Require Inverse_Image.*)
-(*Require Lexicographic_Exponentiation.*)
-(*Require Lexicographic_Product.*)
-(*Require Transitive_Closure.*)
-(*Require Union.*)
-(*Require Well_Ordering.*)
-(*Require Wellfounded.*)
-
-Print XML Module Disk "examples" Newman.
-Print XML Module Disk "examples" Operators_Properties.
-Print XML Module Disk "examples" Relation_Definitions.
-Print XML Module Disk "examples" Relation_Operators.
-Print XML Module Disk "examples" Relations.
-Print XML Module Disk "examples" Rstar.
-(*Print XML Module Disk "examples/WELLFOUNDED" Disjoint_Union.*)
-(*Print XML Module Disk "examples/WELLFOUNDED" Inclusion.*)
-(*Print XML Module Disk "examples/WELLFOUNDED" Inverse_Image.*)
-(*Print XML Module Disk "examples/WELLFOUNDED" Lexicographic_Exponentiation.*)
-(*Print XML Module Disk "examples/WELLFOUNDED" Lexicographic_Product.*)
-(*Print XML Module Disk "examples/WELLFOUNDED" Transitive_Closure.*)
-(*Print XML Module Disk "examples/WELLFOUNDED" Union.*)
-(*Print XML Module Disk "examples/WELLFOUNDED" Well_Ordering.*)
-(*Print XML Module Disk "examples/WELLFOUNDED" Wellfounded.*)
diff --git a/helm/EXPORT/exportcoq/provacoqSets.v b/helm/EXPORT/exportcoq/provacoqSets.v
deleted file mode 100644
index 9502861b0..000000000
--- a/helm/EXPORT/exportcoq/provacoqSets.v
+++ /dev/null
@@ -1,48 +0,0 @@
-Require Export Xml.
-
-Require Classical_sets.
-Require Constructive_sets.
-Require Cpo.
-Require Ensembles.
-Require Finite_sets.
-Require Finite_sets_facts.
-Require Image.
-Require Infinite_sets.
-Require Integers.
-Require Multiset.
-Require Partial_Order.
-Require Permut.
-(*Require CSCPermut.*)
-Require Powerset.
-Require Powerset_Classical_facts.
-Require Powerset_facts.
-Require Relations_1.
-Require Relations_1_facts.
-Require Relations_2.
-Require Relations_2_facts.
-Require Relations_3.
-Require Relations_3_facts.
-Require Uniset.
-
-Print XML Module Disk "examples" Classical_sets.
-Print XML Module Disk "examples" Constructive_sets.
-Print XML Module Disk "examples" Cpo.
-Print XML Module Disk "examples" Ensembles.
-Print XML Module Disk "examples" Finite_sets.
-Print XML Module Disk "examples" Finite_sets_facts.
-Print XML Module Disk "examples" Image.
-Print XML Module Disk "examples" Infinite_sets.
-Print XML Module Disk "examples" Integers.
-Print XML Module Disk "examples" Multiset.
-Print XML Module Disk "examples" Partial_Order.
-Print XML Module Disk "examples" Permut.
-Print XML Module Disk "examples" Powerset.
-Print XML Module Disk "examples" Powerset_Classical_facts.
-Print XML Module Disk "examples" Powerset_facts.
-Print XML Module Disk "examples" Relations_1.
-Print XML Module Disk "examples" Relations_1_facts.
-Print XML Module Disk "examples" Relations_2.
-Print XML Module Disk "examples" Relations_2_facts.
-Print XML Module Disk "examples" Relations_3.
-Print XML Module Disk "examples" Relations_3_facts.
-Print XML Module Disk "examples" Uniset.
diff --git a/helm/EXPORT/exportcoq/provacoqSorting.v b/helm/EXPORT/exportcoq/provacoqSorting.v
deleted file mode 100644
index ff940fd22..000000000
--- a/helm/EXPORT/exportcoq/provacoqSorting.v
+++ /dev/null
@@ -1,13 +0,0 @@
-(*
-Require Export Xml.
-
-Require Generic.
-Require Heap.
-Require Permutation.
-Require Sorting.
-
-Print XML Module Disk "examples" Generic.
-Print XML Module Disk "examples" Heap.
-Print XML Module Disk "examples" Permutation.
-Print XML Module Disk "examples" Sorting.
-*)
diff --git a/helm/EXPORT/exportcoq/provacoqTrees.v b/helm/EXPORT/exportcoq/provacoqTrees.v
deleted file mode 100644
index a90b04122..000000000
--- a/helm/EXPORT/exportcoq/provacoqTrees.v
+++ /dev/null
@@ -1,7 +0,0 @@
-(*
-Require Export Xml.
-
-Require Btree.
-
-Print XML Module Disk "examples" Btree.
-*)
diff --git a/helm/EXPORT/exportcoq/provacoqZArith.v b/helm/EXPORT/exportcoq/provacoqZArith.v
deleted file mode 100644
index ff43bbd23..000000000
--- a/helm/EXPORT/exportcoq/provacoqZArith.v
+++ /dev/null
@@ -1,19 +0,0 @@
-Require Export Xml.
-
-Require Wf_Z.
-Require ZArith.
-Require ZArith_dec.
-Require Zmisc.
-Require Zsyntax.
-Require auxiliary.
-Require fast_integer.
-Require zarith_aux.
-
-Print XML Module Disk "examples" Wf_Z.
-Print XML Module Disk "examples" ZArith.
-Print XML Module Disk "examples" ZArith_dec.
-Print XML Module Disk "examples" Zmisc.
-Print XML Module Disk "examples" Zsyntax.
-Print XML Module Disk "examples" auxiliary.
-Print XML Module Disk "examples" fast_integer.
-Print XML Module Disk "examples" zarith_aux.
diff --git a/helm/EXPORT/exportcoq/provacoqcontribOmega.v b/helm/EXPORT/exportcoq/provacoqcontribOmega.v
deleted file mode 100644
index 04d299423..000000000
--- a/helm/EXPORT/exportcoq/provacoqcontribOmega.v
+++ /dev/null
@@ -1,11 +0,0 @@
-Require Export Xml.
-
-Require Omega.
-Require Zlogarithm.
-Require OmegaSyntax.
-Require Zpower.
-
-Print XML Module Disk "examples" Omega.
-Print XML Module Disk "examples" Zlogarithm.
-Print XML Module Disk "examples" OmegaSyntax.
-Print XML Module Disk "examples" Zpower.
diff --git a/helm/EXPORT/exportcoq/provacoqcontribRing.v b/helm/EXPORT/exportcoq/provacoqcontribRing.v
deleted file mode 100644
index bfc2633be..000000000
--- a/helm/EXPORT/exportcoq/provacoqcontribRing.v
+++ /dev/null
@@ -1,17 +0,0 @@
-Require Export Xml.
-
-Require ArithRing.
-Require Quote.
-Require Ring.
-Require Ring_abstract.
-Require Ring_normalize.
-Require Ring_theory.
-Require ZArithRing.
-
-Print XML Module Disk "examples" ArithRing.
-Print XML Module Disk "examples" Quote.
-Print XML Module Disk "examples" Ring.
-Print XML Module Disk "examples" Ring_abstract.
-Print XML Module Disk "examples" Ring_normalize.
-Print XML Module Disk "examples" Ring_theory.
-Print XML Module Disk "examples" ZArithRing.
diff --git a/helm/EXPORT/exportcsczfc/Makefile b/helm/EXPORT/exportcsczfc/Makefile
deleted file mode 100644
index 7016b2865..000000000
--- a/helm/EXPORT/exportcsczfc/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-all: objects theories
-
-objects:
- coqc -R csc_zfc csc_zfc csc_zfc/*.v
- echo "Load Verbose provacsczfc." | ~/V7/bin/coqtop.byte -R csc_zfc csc_zfc
-
-theories:
- ./exporttheories.sh
-
-clean:
- rm -f *.vo csc_zfc/*.vo
diff --git a/helm/EXPORT/exportcsczfc/csc_zfc/.cvsignore b/helm/EXPORT/exportcsczfc/csc_zfc/.cvsignore
deleted file mode 100644
index 419956872..000000000
--- a/helm/EXPORT/exportcsczfc/csc_zfc/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.vo
diff --git a/helm/EXPORT/exportcsczfc/csc_zfc/csc_eqdep.v b/helm/EXPORT/exportcsczfc/csc_zfc/csc_eqdep.v
deleted file mode 100644
index 8019c08b3..000000000
--- a/helm/EXPORT/exportcsczfc/csc_zfc/csc_eqdep.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Section Dependent_equality.
-
-Variable U:Type.
-Variable P:U->Type.
-
-Inductive eq_depT [p:U;x:(P p)] : (q:U)(P q)->Prop :=
- eq_depT_intro : (eq_depT p x p x).
-
-End Dependent_equality.
diff --git a/helm/EXPORT/exportcsczfc/csc_zfc/csc_zfc.v b/helm/EXPORT/exportcsczfc/csc_zfc/csc_zfc.v
deleted file mode 100644
index a109239c0..000000000
--- a/helm/EXPORT/exportcsczfc/csc_zfc/csc_zfc.v
+++ /dev/null
@@ -1,1566 +0,0 @@
-(******************************************************************************)
-(* Zermelo Set Theory + atomic sets *)
-(* *)
-(* Claudio Sacerdoti Coen *)
-(* *)
-(* Based on *)
-(* *)
-(* Zermolo Set Theory *)
-(* *)
-(* Benjamin Werner *)
-(* *)
-(******************************************************************************)
-
-(* This is an extension of Benjamin's encoding of usual Set Theory where I *)
-(* assume the existence of exactly one atomic set for each object t of type T *)
-(* where T is a Type in Coq: if (t:T) and (T:Type) then ((atom T t):Ens) *)
-(* The usual axioms of set theory are modified so that they work in the *)
-(* usual way if applied to "normal" sets, and in a reasonable way when *)
-(* applied to atomic sets (for example (Union (atom T t) E) is equal to E for *)
-(* each non-atomic set E) *)
-(* All this has been already studied by Fraenkel and Mostowski in the '40, *)
-(* but with totally different goals (in order to proove some independence *)
-(* results in set theory) *)
-
-(* This is the introduction to the original encoding of Benjamin: *)
-(* This is an encoding of usual Set Theory, simillar to Peter Aczel's work *)
-(* in the early 80's. The main difference is that the propositions here *)
-(* live in the impredicative world of "Prop". Thus, priority is given to *)
-(* expressivity against constructivity. *)
-(* *)
-(* Since the definition of Sets is the same for both approaches, I added *)
-(* most of Aczel's encoding of CZF at the end of the file. Many *)
-(* definitions are common to both aproaches. *)
-
-(* In this work only the encoding of ZFC (and not that of CZF) has been *)
-(* developed, but it should be straightforward to do. *)
-
-Require csc_eqdep.
-
-(******************************************************************************)
-(* Useful data types *)
-(******************************************************************************)
-
-Inductive Set F := .
-
-Inductive Set Un := void : Un.
-
-(* Existential quantification *)
-Inductive EXType [P:Type; Q:P->Prop]: Prop :=
- EXTypei : (x:P)(Q x)->(EXType P Q).
-
-(* Sigma types -- i.e. computational existentials *)
-Inductive sig [A:Type;P:A->Prop] : Type :=
- exist : (x:A)(P x)->(sig A P).
-
-(* Existential on the Type level *)
-Inductive depprod [A:Type; P : A->Type] : Type :=
- dep_i : (x:A)(P x)->(depprod A P).
-
-(* Cartesian product in Type *)
-Inductive prod_t [A,B:Type] : Type :=
- pair_t : A->B->(prod_t A B).
-
-(******************************************************************************)
-(* Definition of Ens, EQ, IN *)
-(******************************************************************************)
-
-(* The type representing sets (Ensemble = french for set) *)
-Inductive Ens : Type :=
- sup : (A:Type)(A->Ens)->Ens
- | atom : (A:Type)A->Ens.
-
-(* Recursive Definition of the extentional equality on sets *)
-Definition EQ : Ens -> Ens -> Prop.
-Induction 1.
-Intros A f eq1.
-Induction 1.
-Intros B g eq2.
-Apply and.
-Exact (x:A)
- (EXType ? [y:B](eq1 x (g y))).
-Exact (y:B)
- (EXType ? [x:A](eq1 x (g y))).
-
-Intros A' a'.
-Exact False.
-
-Intros A a.
-Induction 1.
-Intros A' f eq1.
-Exact False.
-
-Intros.
-(*Exact (X == X0).*)
-Exact (eq_depT Type [A:Type]A A a A0 y).
-Save.
-
-Transparent EQ.
-
-(* Membership on sets *)
-Definition IN: Ens -> Ens -> Prop :=
-[E1,E2:Ens]
- Cases E2 of
- (sup A f) => (EXType ? [y:A](EQ E1 (f y)))
- | (atom A a) => False
- end.
-Transparent IN.
-
-
-(******************************************************************************)
-(* INCLUSION *)
-(******************************************************************************)
-
-Definition INC : Ens -> Ens -> Prop :=
- [E1,E2:Ens]
- Cases E1 E2 of
- (sup A f) (sup B g) => (E:Ens)(IN E E1)->(IN E E2)
- | (sup A f) (atom B b) => False
- | (atom A a) (sup B g) => False (* ??? or True? *)
- | (atom A a) (atom B b) => (EQ E1 E2) (* ??? or False? *)
- end.
-
-(* EQ is an equivalence relation *)
-
-Theorem EQ_refl : (E:Ens)(EQ E E).
-Induction E.
-Intros; Split; Simpl; Intro.
-Exists x; Exact (H x).
-Exists y; Exact (H y).
-Intros; Simpl; Constructor 1.
-Qed.
-
-Theorem EQ_tran : (E1,E2,E3:Ens)(EQ E1 E2)->(EQ E2 E3)->(EQ E1 E3).
-Induction E1; [Intros A1 f1 r1 | Intros A1 a1] ;
-Induction E2; [Intros A2 f2 r2 | Intros A2 a2 | Intros A2 f2 r2 | Intros A2 a2];
-Induction E3; [Intros A3 f3 r3 | Auto | Contradiction | Auto |
- Auto | Contradiction | Auto | Intros A3 a3].
-Simpl; Intros e1 e2; Split; Elim e1; Intros I1 I2; Elim e2; Intros I3 I4;
- [ Intros a1; Elim (I1 a1) ; Intros a2 ; Elim (I3 a2) ; Intros a3 ; Exists a3 |
- Intros a3; Elim (I4 a3) ; Intros a2 ; Elim (I2 a2) ; Intros a1 ; Exists a1 ];
- Apply r1 with (f2 a2); Assumption.
-
-Simpl ; Intros; Inversion H; Inversion H0; Assumption.
-Qed.
-
-Theorem EQ_sym : (E1,E2:Ens)(EQ E1 E2)->(EQ E2 E1).
-Induction E1 ; [ Intros A1 f1 r1 | Intros A1 a1 ];
-Induction E2 ; [Intros A2 f2 r2 | Contradiction | Contradiction |Intros A2 a2].
-
-Induction 1; Intros e1 e2; Split;
- [ Intros a2; Elim (e2 a2); Intros a1 H1; Exists a1 |
- Intros a1; Elim (e1 a1); Intros a2 H2; Exists a2 ] ; Apply r1; Assumption.
-Destruct 1; Apply EQ_refl.
-Qed.
-
-Theorem EQ_INC : (E,E':Ens)(EQ E E')->(INC E E').
-Induction E ; [Intros A f r | Intros A a] ; Induction E' ;
- [Intros A' f' r' | Contradiction | Contradiction | Intros A' a'].
-Simpl; Destruct 1; Intros e1 e2.
-Intros C; Induction 1; Intros a ea; Elim (e1 a); Intros a' ea'; Exists a'.
-Apply EQ_tran with (f a); Assumption.
-Destruct 1; Hnf; Constructor 1.
-Qed.
-
-Hints Resolve EQ_sym EQ_refl EQ_INC : zfc.
-
-Theorem INC_EQ : (E,E':Ens)(INC E E')->(INC E' E)->(EQ E E').
-Induction E ; [Intros A f r | Intros A a] ; Induction E' ;
- [Intros A' f' r' | Auto | Auto | Auto].
-Unfold INC; Simpl; Intros I1 I2; Split.
-Intros a; Apply I1; Exists a; Apply EQ_refl.
-Intros a'; Cut (EXType A [x:A](EQ (f' a')(f x))).
-Induction 1; Intros a ea; Exists a; Apply EQ_sym; Exact ea.
-Apply I2; Exists a'; Apply EQ_refl.
-Qed.
-
-Hints Resolve INC_EQ : zfc.
-
-(* Membership is extentional (i.e. is stable w.r.t. EQ) *)
-
-Theorem IN_sound_left :
- (E,E',E'':Ens)
- (EQ E E')->(IN E E'')->(IN E' E'').
-Induction E''; [Intros A'' f'' r'' e | Intros A'' a'' e]; Simpl.
-Induction 1; Intros a'' p; Exists a''; Apply EQ_tran with E;
- [Apply EQ_sym; Assumption | Assumption].
-
-Intro; Assumption.
-Qed.
-
-Theorem IN_sound_right :
- (E,E',E'':Ens)
- (EQ E' E'')->(IN E E')->(IN E E'').
-Induction E'; [Intros A' f' r' | Intros A' a']; Induction E'';
- [Intros A'' f'' r'' | Intros A'' a'' | Intros A'' f'' r'' | Intros A'' a''];
- Simpl.
-Induction 1; Intros e1 e2; Induction 1; Intros a' e'; Elim (e1 a');
- Intros a'' e''; Exists a''; Apply EQ_tran with (f' a'); Assumption.
-Intros; Assumption.
-Intros; Elim H.
-Intros; Assumption.
-Qed.
-
-(* Inclusion is reflexive, transitive, extentional *)
-
-Theorem INC_refl : (E:Ens)(INC E E).
-Induction E; Auto with zfc.
-Qed.
-
-Theorem INC_tran : (E,E',E'':Ens)(INC E E')->(INC E' E'')->(INC E E'').
-Induction E; Induction E'; Induction E''; Simpl;
- Auto Orelse Contradiction Orelse (Intros; Elim H0; Assumption).
-Qed.
-
-Theorem INC_sound_left :
- (E,E',E'':Ens)
- (EQ E E')->(INC E E'')->(INC E' E'').
-Induction E; [Intros A f r | Intros A a]; Induction E';
- [Intros A' f' r' | Intros A' a' | Intros A' f' r' | Intros A' a'];
- Induction E''; [Intros A'' f'' r'' | Contradiction | Contradiction |
- Contradiction | Contradiction | Contradiction | Contradiction |
- Intros A'' a''].
-Unfold INC; Intros; Apply H0; Apply IN_sound_right with (sup A' f');
- Auto with zfc.
-Destruct 1; Auto.
-Qed.
-
-Theorem INC_sound_right :
- (E,E',E'':Ens)
- (EQ E' E'')->(INC E E')->(INC E E'').
-Induction E; [Intros A f r | Intros A a]; Induction E';
- [Intros A' f' r' | Intros A' a' | Intros A' f' r' | Intros A' a'];
- Induction E''; [Intros A'' f'' r'' | Contradiction | Contradiction |
- Contradiction | Contradiction | Contradiction | Contradiction |
- Intros A'' a''].
-Unfold INC; Intros; Apply IN_sound_right with (sup A' f');
- [Assumption | Apply H0; Assumption].
-Destruct 1; Auto.
-Qed.
-
-(******************************************************************************)
-(* THE EMPTY SET *)
-(******************************************************************************)
-
-(* The empty set (vide = french for empty) *)
-Definition Vide : Ens :=
- (sup F [f:F]Cases f of end).
-
-Theorem Vide_est_vide : (E:Ens)(IN E Vide)->F.
-Unfold Vide; Simpl; Intros E H; Cut False.
-Induction 1.
-Elim H; Intros x; Elim x.
-Qed.
-
-(* CSC: This is different from Werner *)
-Theorem tout_vide_est_Vide :
- (A:Type)(f:A->Ens)((E':Ens)(IN E' (sup A f))->F)->(EQ (sup A f) Vide).
-Intros; Hnf; Split.
-Intro; Cut F.
-Destruct 1.
-Apply H with (f x); Unfold IN; Exists x; Apply EQ_refl.
-Destruct y.
-Qed.
-
-(******************************************************************************)
-(* PAIRE *)
-(******************************************************************************)
-
-Definition Paire : Ens -> Ens -> Ens :=
- [E1,E2:Ens] (sup bool [b:bool]Cases b of true => E1 | false => E2 end).
-
-(* The pair construction is extentional *)
-
-Theorem Paire_sound_left : (A,A',B:Ens)
- (EQ A A')->(EQ (Paire A B)(Paire A' B)).
-Unfold Paire .
-Simpl.
-(Intros; Split).
-Induction x.
-(Exists true; Auto with zfc).
-
-(Exists false; Auto with zfc).
-
-(Induction y; Simpl).
-(Exists true; Auto with zfc).
-
-(Exists false; Auto with zfc).
-Qed.
-
-Theorem Paire_sound_right : (A,B,B':Ens)
- (EQ B B')->(EQ (Paire A B)(Paire A B')).
-Unfold Paire; Simpl; Intros; Split.
-Induction x.
-(Exists true; Auto with zfc).
-Exists false; Auto with zfc.
-Induction y.
-(Exists true; Auto with zfc).
-Exists false; Auto with zfc.
-Qed.
-
-Hints Resolve Paire_sound_right Paire_sound_left : zfc.
-
-Theorem IN_Paire_left : (E,E':Ens)(IN E (Paire E E')).
-Unfold Paire; Exists true; Apply EQ_refl.
-Qed.
-
-Theorem IN_Paire_right : (E,E':Ens)(IN E' (Paire E E')).
-Unfold Paire; Exists false; Apply EQ_refl.
-Qed.
-
-Theorem Paire_IN : (E,E',A:Ens)(IN A (Paire E E'))->(EQ A E)\/(EQ A E').
-Unfold Paire; Simpl.
-Induction 1; Intros b; Elim b; Auto with zfc.
-Save.
-
-Hints Resolve IN_Paire_left IN_Paire_right Vide_est_vide : zfc.
-
-(******************************************************************************)
-(* SINGLETON *)
-(******************************************************************************)
-
-(* CSC: This is different from Benjamin only because I like it more; *)
-(* theorems are also simpler *)
-(* In Benjamin's encoding (Sing E) was defined as (Paire E E) *)
-Definition Sing : Ens -> Ens :=
- [E:Ens] (sup Un [x:Un]Cases x of void => E end).
-
-Theorem IN_Sing : (E:Ens)(IN E (Sing E)).
-Simpl; Exists void; Apply EQ_refl.
-Qed.
-
-Theorem IN_Sing_EQ : (E,E':Ens)(IN E (Sing E'))->(EQ E E').
-Simpl; Intros; Elim H; Destruct x; Trivial.
-Qed.
-
-Hints Resolve IN_Sing IN_Sing_EQ : zfc.
-
-Theorem Sing_sound : (A,A':Ens)(EQ A A')->(EQ (Sing A)(Sing A')).
-Intros; Hnf; Split; [Destruct x | Destruct y]; Exists void; Assumption.
-Qed.
-
-Hints Resolve Sing_sound : zfc.
-
-Theorem EQ_Sing_EQ : (E1,E2:Ens)(EQ (Sing E1)(Sing E2))->(EQ E1 E2).
-Intros; Hnf in H; Elim H; Intros; Elim (H0 void); Destruct x; Trivial.
-Qed.
-
-Hints Resolve EQ_Sing_EQ : zfc.
-
-(******************************************************************************)
-(* COMPREHENSION (OR SEPARATION) *)
-(******************************************************************************)
-
-Definition Comp: Ens -> (Ens -> Prop) -> Ens.
-Induction 1.
-Intros A f fr P.
-Apply (sup {x:A|(P (f x))}).
-Induction 1; Intros x p; Exact (f x).
-Intros. Exact X.
-Qed.
-
-Transparent Comp.
-
-Theorem Comp_INC : (E:Ens)(P:Ens->Prop)(INC (Comp E P) E).
-Destruct E.
-Intros A f P; Simpl; Destruct E0; [Intros A' f' H | Intros A' a' H];
- Elim H; Destruct x; Intros x0 p eq; Exists x0; Exact eq.
-Auto with zfc.
-Qed.
-
-Theorem IN_Comp_P :
- (E,A:Ens)
- (P:Ens->Prop)((w1,w2:Ens)(P w1)->(EQ w1 w2)->(P w2))->
- (IN A (Comp E P))->(P A).
-Induction E.
-Simpl; Intros B f Hr A P H i; Elim i; Destruct x; Simpl; Intro b; Intros;
- Apply H with (f b); Auto with zfc.
-Contradiction.
-Qed.
-
-Theorem IN_P_Comp :
- (E,A:Ens)
- (P:Ens ->Prop)((w1,w2:Ens)(P w1)->(EQ w1 w2)->(P w2))->
- (IN A E)->(P A)->(IN A (Comp E P)).
-Induction E.
-Simpl; Intros B f HR A P H i; Elim i; Simpl; Intros; Cut (P (f x)).
-Intros Pf.
-Exists (exist B [x:B](P (f x)) x Pf); Simpl; Auto with zfc.
-Apply H with A; Auto with zfc.
-Contradiction.
-Qed.
-
-(* Again, extentionality is not stated, but easy *)
-
-(******************************************************************************)
-(* UNION *)
-(******************************************************************************)
-
-(* Projections of a set: *)
-(* 1: its base type, F for atoms *)
-
-Definition pi1: Ens -> Type.
-Induction 1.
-Intros A f r.
-Exact A.
-Intros.
-Exact F.
-Save.
-
-Transparent pi1.
-
-(* 2: the function, [_:F]Vide for atoms *)
-
-Definition pi2 : (E:Ens)(pi1 E)->Ens.
-Induction E.
-Intros A f r.
-Exact f.
-Intros.
-Exact Vide.
-Save.
-
-Transparent pi2.
-
-Definition Union : (E:Ens)Ens.
-Induction 1.
-Intros A f r.
-Apply (sup (depprod A [x:A](pi1 (f x)))).
-Induction 1; Intros a b.
-Exact (pi2 (f a) b).
-Intros.
-Exact Vide.
-Save.
-
-Transparent Union.
-
-Theorem EQ_EXType : (E,E':Ens)
- (EQ E E')
- ->(a:(pi1 E))
- (EXType (pi1 E') [b:(pi1 E')](EQ (pi2 E a) (pi2 E' b))).
-Induction E; [Intros A f r | Intros A a]; Induction E';
- [Intros A' f' r' | Intros A' a' | Intros A' f' r' | Intros A' a'].
-Simpl; Destruct 1; Intros e1 e2 a; Apply e1.
-Contradiction.
-Contradiction.
-Simpl; Destruct 2.
-Qed.
-
-Transparent EQ_EXType.
-
-Theorem IN_EXType: (E,E':Ens)(IN E' E)->
- (EXType (pi1 E) [a:(pi1 E)](EQ E' (pi2 E a))).
-Induction E.
-Simpl; Intros A f r; Induction 1; Intros; Exists x; Assumption.
-Destruct 1.
-Qed.
-
-Theorem IN_Union : (E,E',E'':Ens)
- (IN E' E)->(IN E'' E')->(IN E'' (Union E)).
-Induction E.
-2: Destruct 1.
-Intros A f r.
-Intros; Simpl.
-Elim (IN_EXType (sup A f) E' H).
-Intros x e.
-Cut (EQ (pi2 (sup A f) x) E').
-2: Auto with zfc v62.
-Intros e1.
-Cut (IN E'' (pi2 (sup A f) x)).
-Intros i1.
-Elim (IN_EXType ? ? i1).
-Intros x0 e2.
-Simpl in x0.
-Exists (dep_i A [x:A](pi1 (f x)) x x0).
-Simpl.
-Exact e2.
-Apply IN_sound_right with E'; Assumption.
-Qed.
-
-(* CSC: This is different from Benjamin *)
-Theorem IN_INC_Union :
- (A:Type)(f:A->Ens)(E:Ens)(IN (sup A f) E)->(INC (sup A f) (Union E)).
-Induction E.
-Intros A f r H; Hnf; Hnf in H; Intros; Elim H; Intros x e.
-Cut (IN E0 (f0 x)).
-Intro in_E0_f0x; Apply IN_Union with (f0 x).
-Hnf; Split with x; Auto with zfc.
-
-Auto with zfc.
-Apply IN_sound_right with (sup A f); Trivial.
-
-(Simpl; Destruct 2; Destruct x).
-Qed.
-
-Theorem Union_IN : (E,E':Ens)(IN E' (Union E))->
- (EXType ? [E1:Ens](IN E1 E)/\(IN E' E1)).
-Induction E.
-2: (Simpl; Destruct 2; Destruct x).
-Unfold Union ; Simpl; Intros A f r.
-Induction 1.
-Induction x.
-(Intros a b; Simpl).
-Intros.
-Exists (f a).
-Split.
-(Exists a; Auto with zfc v62).
-
-(Apply IN_sound_left with (pi2 (f a) b); Auto with zfc v62).
-Simpl.
-(Generalize b ; Elim (f a); Simpl).
-Intros.
-(Exists b0; Auto with zfc v62).
-
-Destruct 2.
-Qed.
-
-(* extentionality of union *)
-
-Theorem Union_sound
- : (E,E':Ens)(EQ E E')->(EQ (Union E) (Union E')).
-Unfold Union.
-Induction E ; [Intros A f r | Intros A a] ; Induction E' ;
- [Intros A' f' r' | Intros A' a' | Intros A' f' r' | Intros A' a'].
-
-Simpl; Induction 1; Intros e1 e2; Split.
-Intros x; Elim x; Intros a aa; Elim (e1 a); Intros a' ea.
-Elim (EQ_EXType (f a)(f' a') ea aa); Intros aa' eaa.
-Exists (dep_i A' [x:A'](pi1 (f' x)) a' aa'); Simpl; Auto with zfc v62.
-Intros c'; Elim c'; Intros a' aa'; Elim (e2 a'); Intros a ea.
-Cut (EQ (f' a')(f a)).
-2 : Auto with zfc v62.
-Intros ea'; Elim (EQ_EXType (f' a')(f a) ea' aa'); Intros aa eaa.
-Exists (dep_i A [x:A](pi1 (f x)) a aa); Auto with zfc v62.
-
-Contradiction.
-Contradiction.
-Destruct 1; Apply EQ_refl.
-Qed.
-
-(* The union construction is monotone w.r.t. inclusion *)
-
-Theorem Union_mon : (E,E':Ens)(INC E E')->(INC (Union E)(Union E')).
-Induction E ; [Intros A f r | Intros A a] ; Induction E';
- [Intros A' f' r' | Contradiction | Contradiction | Intros A' a'].
-2: Auto with zfc.
-Intro; Cut (E:Ens)(IN E (sup A f))->(IN E (sup A' f')).
-2: Auto.
-Intro XXX; Cut ((E:Ens)(IN E (Union (sup A f)))->(IN E (Union (sup A' f'))))
- ->(INC (Union (sup A f)) (Union (sup A' f'))).
-2: Auto.
-Intros X; Apply X; Intros E0 Y; (Elim (Union_IN (sup A f) E0); Auto with zfc).
-Destruct 1; Intros; Cut (IN x (sup A' f')).
-2: Auto.
-Intro; (Apply IN_Union with x; Auto).
-Qed.
-
-(******************************************************************************)
-(* INTERSECTION *)
-(******************************************************************************)
-
-Definition Inter : (E:Ens)Ens :=
-[E:Ens]
- Cases E of
- (sup A f) =>
- (sup ?
- [c:(depprod A
- [a:A](depprod ? [b:(pi1 (f a))](x:A)(IN (pi2 (f a) b)(f x)))
- )
- ]
- Cases c of
- (dep_i a (dep_i b p)) => (pi2 (f a) b)
- end
- )
- | (atom A a) => Vide
- end.
-
-Theorem IN_Inter_all : (E,E':Ens)
- (IN E' (Inter E))->
- (E'':Ens)(IN E'' E)->(IN E' E'').
-Induction E; [Intros A f r | Contradiction]; Intros E'.
-Induction 1; Intros c; Elim c; Intros a ca; Elim ca; Intros aa paa.
-Intros e E'' e''.
-Elim e''; Intros a1 ea1.
-Apply IN_sound_right with (f a1); Auto with zfc v62.
-Apply IN_sound_left with (pi2 (f a) aa); Auto with zfc v62.
-Qed.
-
-Theorem all_IN_Inter : (E,E',E'':Ens)
- (IN E'' E)->
- ((E'':Ens)(IN E'' E)->(IN E' E''))->
- (IN E' (Inter E)).
-(Induction E; [Intros A f r | Contradiction]).
-Intros E' E'' i H.
-Elim (IN_EXType (sup A f) E'' i).
-(Intros a e; Simpl in a).
-Simpl in e.
-(Cut (IN E' E''); Auto with zfc v62).
-Intros i'.
-(Cut (IN E' (f a)); Auto with zfc v62).
-Intros i0.
-Elim (IN_EXType (f a) E' i0).
-Intros b e'.
-Simpl.
-Cut (x:A)(IN (pi2 (f a) b) (f x)).
-Intros.
-Exists (dep_i A
- [a:A]
- (depprod (pi1 (f a))
- [b:(pi1 (f a))](x:A)(IN (pi2 (f a) b) (f x)))
- a
- (dep_i (pi1 (f a))
- [b:(pi1 (f a))](x:A)(IN (pi2 (f a) b) (f x)) b H0)).
-Simpl.
-Auto with zfc v62.
-Auto with zfc v62.
-Intros.
-Apply IN_sound_left with E'.
-Auto with zfc v62.
-Apply H.
-Auto with zfc v62.
-Simpl.
-(Exists x; Auto with zfc v62).
-(Apply IN_sound_right with E''; Auto with zfc v62).
-Qed.
-
-(******************************************************************************)
-(* POWERSET *)
-(******************************************************************************)
-
-Definition Power : Ens -> Ens :=
-[E:Ens]
- Cases E of
- (sup A f) =>
- (sup ?
- [P:A->Prop]
- (sup ?
- [c:(depprod A [a:A](P a))]
- Cases c of
- (dep_i a p) => (f a)
- end
- )
- )
- | (atom A a) => (Sing (atom A a)) (* ??? or Vide? *)
- end.
-
-Theorem IN_Power_INC : (E,E':Ens)(IN E' (Power E))->(INC E' E).
-Induction E.
-Intros A f r; Unfold INC ; Simpl.
-Intros E'; Induction 1; Intros P.
-Elim E'.
-Simpl.
-Intros A' f' r'.
-Induction 1; Intros HA HB.
-Intros E''; Induction 1; Intros a' e.
-Elim (HA a').
-Induction x; Intros a p.
-Intros; Exists a.
-Apply EQ_tran with (f' a'); Auto with zfc v62.
-Contradiction.
-Auto with zfc.
-Qed.
-
-(* CSC: This is different from Benjamin *)
-Theorem INC_IN_Power : (E,E':Ens)(INC E' E)->(IN E' (Power E)).
-Induction E.
-2: Induction E'.
-2: Contradiction.
-2: (Destruct 1; Unfold Power; Auto with zfc).
-Intros A f r; Unfold INC; Simpl; Induction E'.
-2: Contradiction.
-Intros A' f' r' i.
-Exists [a:A](IN (f a) (sup A' f')).
-Simpl.
-Split.
-Intros.
-Elim (i (f' x)).
-Intros a e.
-(Cut (EQ (f a) (f' x)); Auto with zfc v62).
-Intros e1.
-Exists (dep_i A [a:A](EXType A' [y:A'](EQ (f a) (f' y))) a
- (EXTypei A' [y:A'](EQ (f a) (f' y)) x e1)).
-Auto with zfc v62.
-Simpl.
-(Exists x; Auto with zfc v62).
-Induction y; Induction 1; Intros.
-(Exists x0; Auto with zfc v62).
-Qed.
-
-Theorem Power_mon : (E,E':Ens)(INC E E')->(INC (Power E)(Power E')).
-Induction E; [Intros A f r | Intros A a]; Induction E';
- [Intros A' f' r' | Contradiction | Contradiction | Destruct 1; Auto with zfc].
-Intro.
-Hnf in H.
-Cut ((E:Ens)(IN E (Power (sup A f)))->(IN E (Power (sup A' f'))))
- ->(INC (Power (sup A f)) (Power (sup A' f'))).
-2: Auto.
-Intros.
-Apply H0.
-Intros.
-Cut (INC E0 (sup A f)).
-2: (Apply IN_Power_INC; Auto).
-Intro.
-Cut (INC E0 (sup A' f')).
-Intro.
-Apply INC_IN_Power.
-Assumption.
-
-Generalize H2.
-Elim E0.
-Unfold INC.
-Auto with zfc.
-
-Auto with zfc.
-Qed.
-
-Theorem Power_sound : (E,E':Ens)(EQ E E')->(EQ (Power E)(Power E')).
-Induction E; [Intros A f r | Intros A a]; Induction E';
- [Intros A' f' r' | Contradiction | Contradiction | Destruct 1; Auto with zfc].
-Intro.
-Apply INC_EQ.
-Cut ((E:Ens)(IN E (Power (sup A f)))->(IN E (Power (sup A' f'))))
- ->(INC (Power (sup A f)) (Power (sup A' f'))).
-2: Auto.
-Intros; Apply H0; Clear H0; Intros; Cut (INC E0 (sup A f)).
-2: (Apply IN_Power_INC; Auto with zfc).
-Clear H0; Intro; Apply INC_IN_Power.
-(Apply INC_sound_right with (sup A f); Auto).
-
-(* Using simmetry *)
-Cut ((E:Ens)(IN E (Power (sup A' f')))->(IN E (Power (sup A f))))
- ->(INC (Power (sup A' f')) (Power (sup A f))).
-2: Auto.
-Intros; Apply H0; Clear H0; Intros; Cut (INC E0 (sup A' f')).
-2: (Apply IN_Power_INC; Auto with zfc).
-Clear H0; Intro; Apply INC_IN_Power.
-(Apply INC_sound_right with (sup A' f'); Auto with zfc).
-Qed.
-
-(******************************************************************************)
-(* ORDERED COUPLES *)
-(******************************************************************************)
-
-(* small lemmas *)
-
-Theorem not_EQ_Sing_Vide : (E:Ens)(EQ (Sing E) Vide)->F.
-Intros E e; Cut False.
-Induction 1.
-Cut (IN E Vide).
-Simpl; Induction 1; Intros xx; Elim xx; Induction 1.
-Apply IN_sound_right with (Sing E); Auto with zfc v62.
-Qed.
-
-Theorem not_EQ_Vide_Sing : (E:Ens)(EQ Vide (Sing E))->F.
-Intros E e; Cut False.
-Induction 1.
-Cut (IN E Vide).
-Simpl; Induction 1; Intros xx; Elim xx; Induction 1.
-Apply IN_sound_right with (Sing E); Auto with zfc v62.
-Qed.
-
-(* This definition of the ordered pair is slightly different from *)
-(* the usual one, since we want it to work in an intuisionistic *)
-(* setting. Works the same, neitherless. The soundness proofs are *)
-(* unpleasant. *)
-
-Definition Couple := [E,E': Ens](Paire (Sing E) (Paire Vide (Sing E'))).
-
-Theorem Couple_inj_left : (A,A',B,B':Ens)
- (EQ (Couple A A')(Couple B B'))->(EQ A B).
-(Unfold Couple; Simpl); Induction 1; (Intros HA HB; Elim (HA true)).
-(Intros x; Elim x; Simpl; Induction 1; Intros H3 H4; Elim (H3 void);
- Simpl; Destruct x0).
-Trivial.
-
-Elim (H4 false); Destruct x1; Intros; Cut (EQ (Sing B') Vide).
-Simpl; Induction 1; Intros yy; Elim (yy void); Destruct x2.
-
-Apply EQ_tran with A.
-Auto with zfc.
-
-Assumption.
-
-Intros; Cut (EQ (Sing B') Vide).
-Simpl; Induction 1; Intros yy; Elim (yy void); Destruct x1.
-
-Apply EQ_tran with A.
-Auto with zfc.
-
-Elim (H4 true); Destruct x1; Trivial.
-Qed.
-
-Theorem Couple_inj_right : (A,A',B,B':Ens)
- (EQ (Couple A A')(Couple B B'))->(EQ A' B').
-Unfold Couple; Simpl.
-Induction 1; Intros H1 H2.
-Elim (H1 false).
-Intros bb1; Elim bb1.
-Intros HF.
-Change (EQ (Paire Vide (Sing A'))(Sing B)) in HF.
-Cut F.
-Induction 1.
-Apply (not_EQ_Vide_Sing A').
-Apply EQ_tran with B.
-Apply IN_Sing_EQ; Apply IN_sound_right with (Paire Vide (Sing A'));
- Auto with zfc v62.
-Apply EQ_sym; Apply IN_Sing_EQ;
- Apply IN_sound_right with (Paire Vide (Sing A')); Auto with zfc v62.
-Change (EQ (Paire Vide (Sing A'))(Paire Vide (Sing B')))->(EQ A' B').
-Intros HP; Cut (EQ (Sing A') (Sing B')).
-Intros; Auto with zfc v62.
-Cut (IN (Sing A')(Paire Vide (Sing B'))).
-Intros HI; Elim (Paire_IN Vide (Sing B')(Sing A') HI).
-Intros; Cut F.
-Induction 1.
-Apply not_EQ_Sing_Vide with A'; Assumption.
-Trivial with zfc v62.
-Apply IN_sound_right with (Paire Vide (Sing A')); Auto with zfc v62.
-Qed.
-
-(******************************************************************************)
-(* POWERSET *)
-(******************************************************************************)
-
-(* Here we cheat. It is easier to define the cartesian product using *)
-(* the type theoretical product, i.e. we here use non set-theoretical *)
-(* constructions. We could however use the usual definitions. *)
-
-Definition Prod : Ens -> Ens -> Ens :=
-[E,E':Ens]
- Cases E E' of
- (sup A f) (sup A' f') =>
- (sup ?
- [c:(prod_t A A')]
- Cases c of
- (pair_t a a') => (Couple (f a) (f' a'))
- end
- )
- | _ _ => Vide
- end.
-
-Hints Resolve Paire_sound_left Paire_sound_right : zfc.
-
-Theorem Couple_sound_left :
- (A,A',B:Ens)(EQ A A')->(EQ (Couple A B)(Couple A' B)).
- Unfold Couple;Intros; Auto with zfc v62.
-Save.
-
-Theorem Couple_sound_right:
- (A,B,B':Ens)(EQ B B')->(EQ (Couple A B)(Couple A B')).
- Unfold Couple;Intros; Auto with zfc v62.
-Save.
-
-Theorem Couple_IN_Prod : (E1,E2,E1',E2':Ens)
- (IN E1' E1)->(IN E2' E2)->
- (IN (Couple E1' E2')(Prod E1 E2)).
-Induction E1; [Intros A1 f1 r1 | Contradiction].
-Induction E2; [Intros A2 f2 r2 | Contradiction].
-Intros E1' E2' i1 i2.
-Elim (IN_EXType (sup A1 f1) E1').
-(Intros x e1; Simpl in x).
-Elim (IN_EXType (sup A2 f2) E2').
-(Intros x0 e2; Simpl in x).
-Apply IN_sound_left with (Couple (pi2 (sup A1 f1) x) (pi2 (sup A2 f2) x0)).
-Apply EQ_tran with (Couple (pi2 (sup A1 f1) x) E2').
-Apply Couple_sound_right.
-Auto with zfc v62.
-
-(Apply Couple_sound_left; Auto with zfc v62).
-
-Simpl.
-Exists (pair_t ? ? x x0).
-Simpl.
-Split.
-
-Induction x1.
-Exists true; Auto with zfc.
-Exists false; Auto with zfc.
-
-Induction y.
-Exists true; Auto with zfc.
-Exists false; Auto with zfc.
-Assumption.
-Assumption.
-Qed.
-
-Theorem Couple_Prod_IN : (E1,E2,E1',E2':Ens)
- (IN (Couple E1' E2')(Prod E1 E2))->
- (IN E1' E1)/\(IN E2' E2).
-Induction E1; [Intros A1 f1 r1 | Destruct 1; Destruct x].
-Induction E2; [Intros A2 f2 r2 | Destruct 1; Destruct x].
-Intros E1' E2' i.
-Elim (IN_EXType (Prod (sup A1 f1) (sup A2 f2)) (Couple E1' E2') i).
-Destruct x; Intros a1 a2 e.
-Change (EQ (Couple E1' E2') (Couple (f1 a1) (f2 a2))) in e.
-Cut (EQ E1' (f1 a1)).
-Cut (EQ E2' (f2 a2)).
-Intros e1 e2.
-Split.
-Apply IN_sound_left with (f1 a1); Auto with zfc v62; Simpl; Exists a1;
- Auto with zfc v62.
-Apply IN_sound_left with (f2 a2); Auto with zfc v62; Simpl; Exists a2;
- Auto with zfc v62.
-Apply Couple_inj_right with A:=E1' B:=(f1 a1); Auto with zfc v62.
-Apply Couple_inj_left with E2' (f2 a2); Auto with zfc v62.
-Qed.
-
-Theorem IN_Prod_EXType : (E,E',E'':Ens)(IN E'' (Prod E E'))->
- (EXType ? [A:Ens](EXType ? [B:Ens](EQ (Couple A B) E''))).
-Induction E ; [Intros A f r | Destruct 1; Destruct x].
-Induction E'; [Intros A' f' r' | Destruct 1; Destruct x].
-Intros; Elim (IN_EXType (Prod (sup A f) (sup A' f')) E'').
-Induction x.
-Intros; Exists (f y); Exists (f' y0); Auto with zfc v62.
-Auto with zfc v62.
-Qed.
-
-(******************************************************************************)
-(* ORDINALS *)
-(******************************************************************************)
-
-Definition Succ := [E:Ens](Union (Paire E (Sing E))).
-
-Inductive Ord : Ens -> Prop :=
- Oo : (Ord Vide)
-| So : (E:Ens)(Ord E)->(Ord (Succ E))
-| Lo : (E:Ens)((e:Ens)(IN e E)->(Ord e))->(Ord (Union E))
-| Eo : (E,E':Ens)(Ord E)->(EQ E E')->(Ord E').
-
-Hints Resolve Oo So Lo : zfc.
-
-Definition Nat : nat ->Ens.
-Induction 1; Intros.
-Exact Vide.
-Exact (Succ X).
-Save.
-
-Transparent Nat.
-
-Theorem Nat_Ord : (n:nat)(Ord (Nat n)).
-Induction n; Simpl; Auto with zfc v62.
-Save.
-
-Definition Omega : Ens :=
- (sup nat Nat).
-
-Theorem IN_Succ : (E:Ens)(IN E (Succ E)).
-Intros E; Unfold Succ; Apply IN_Union with (Sing E); Auto with zfc v62.
-Qed.
-
-(* CSC: This is different from Werner *)
-Theorem INC_Succ : (A:Type)(f:A->Ens)(INC (sup A f) (Succ (sup A f))).
-Intros; Cut ((E:Ens)(IN E (sup A f))->(IN E (Succ (sup A f))))
- ->(INC (sup A f) (Succ (sup A f))).
-Intros; Apply H; Unfold Succ; Intros.
-Apply IN_Union with (sup A f); Auto with zfc.
-
-Intros; Exact H.
-Qed.
-
-Hints Resolve IN_Succ INC_Succ : zfc.
-
-Theorem IN_Succ_or : (E,E':Ens)(IN E' (Succ E))->(EQ E E')\/(IN E' E).
-Intros E E' i.
-Unfold Succ in i.
-Elim (Union_IN (Paire E (Sing E)) E' i).
-Intros E1; Induction 1; Intros i1 i2.
-Elim (Paire_IN E (Sing E) E1 i1).
-Intros; Right; Apply IN_sound_right with E1; Auto with zfc v62.
-Intros; Left; Cut (IN E' (Sing E)).
-Auto with zfc v62.
-Apply IN_sound_right with E1; Auto with zfc v62.
-Qed.
-
-Theorem E_not_IN_E : (E:Ens)(IN E E)->F.
-Induction E.
-Intros A f r i.
-Cut False.
-Induction 1.
-Elim (IN_EXType (sup A f) (sup A f) i); Intros a e.
-
-Simpl in a.
-Change (EQ (sup A f) (f a)) in e.
-Elim (r a).
-Apply IN_sound_right with (sup A f); Auto with zfc v62.
-Exists a; Auto with zfc v62.
-Intros; Cut False; Contradiction.
-Qed.
-
-Theorem Nat_IN_Omega : (n:nat)(IN (Nat n) Omega).
-Intros; Simpl; Exists n; Auto with zfc v62.
-Qed.
-Hints Resolve Nat_IN_Omega : zfc.
-
-Theorem IN_Omega_EXType : (E:Ens)(IN E Omega)->(EXType ? [n:nat](EQ (Nat n) E)).
-(Simpl; Induction 1).
-Intros n e.
-(Exists n; Auto with zfc v62).
-Qed.
-
-Theorem IN_Nat_EXType : (n:nat)(E:Ens)(IN E (Nat n))->(EXType ? [p:nat](EQ E (Nat p))).
-Induction n.
-Simpl.
-Induction 1.
-Induction x.
-
-Intros.
-Change (IN E (Succ (Nat n0))) in H0.
-Elim (IN_Succ_or (Nat n0) E H0).
-(Intros; Exists n0).
-Auto with zfc v62.
-
-Intros.
-(Elim (H E); Auto with zfc v62).
-Qed.
-
-Theorem Omega_EQ_Union : (EQ Omega (Union Omega)).
-Apply INC_EQ.
-Cut ((E:Ens)(IN E Omega)->(IN E (Union Omega)))
- ->(INC Omega (Union Omega)).
-Intros; Apply H.
-Clear H.
-Intros.
-Elim (IN_Omega_EXType E H).
-Intros n e.
-Apply IN_Union with (Nat (S n)).
-Auto with zfc v62.
-
-Apply IN_sound_left with (Nat n).
-Auto with zfc v62.
-
-(Change (IN (Nat n) (Succ (Nat n))); Auto with zfc v62).
-
-Intros.
-Exact H.
-
-Cut ((E:Ens)(IN E (Union Omega))->(IN E Omega))
- ->(INC (Union Omega) Omega).
-Intros; Apply H; Clear H.
-Intros.
-Elim (Union_IN Omega E H).
-Intros e h.
-Elim h.
-Intros i1 i2.
-Elim (IN_Omega_EXType e i1).
-Intros n e1.
-Cut (IN E (Nat n)).
-Intros.
-(Elim (IN_Nat_EXType n E H0); Intros).
-(Apply IN_sound_left with (Nat x); Auto with zfc v62).
-
-(Apply IN_sound_right with e; Auto with zfc v62).
-
-Intros.
-Exact H.
-Qed.
-
-Theorem Omega_Ord : (Ord Omega).
-Apply Eo with (Union Omega).
-Apply Lo.
-Intros.
-Elim (IN_Omega_EXType e H).
-Intros n ee.
-Apply Eo with (Nat n); Auto with zfc v62.
-Elim n.
-Auto with zfc v62.
-Auto with zfc v62.
-Intros.
-Change (Ord (Succ (Nat n0))); Auto with zfc v62.
-Apply EQ_sym; Auto with zfc v62.
-Apply Omega_EQ_Union.
-Qed.
-
-Definition Alpha : Ens->Ens.
-Induction 1.
-Intros A f r.
-Apply Union.
-Apply (sup A).
-Intros a.
-Exact (Power (r a)).
-Intros A a; Exact (atom A a). (* ??? or Vide? *)
-Save.
-
-Transparent Alpha.
-
-(******************************************************************************)
-(* AXIOM OF CHOICE *)
-(******************************************************************************)
-
-(* A Type-theoretical axiom of choice gives us the collection axiom *)
-
-Definition collection :=
- (P:Ens->Ens->Prop)
- ((x,x',y:Ens)(EQ x x')->(P x y)->(P x' y))->
- ((E:Ens)(EXType ? (P E)))->
- (E:Ens)(EXType ? [A:Ens](x:Ens)(IN x E)->
- (EXType ? [y:Ens](IN y A)/\(P x y))).
-
-
-Definition choice :=
- (A,B:Type)(P:A->B->Prop)
- ((a:A)(EXType ? [b:B](P a b)))->
- (EXType ? [f:A->B]((a:A)(P a (f a)))).
-
-Theorem Choice_Collection : choice -> collection.
-Intro; Unfold collection; Intros P comp G E;
- Cut (EXType ? [f:(Ens->Ens)](B:Ens)(P B (f B))).
-Induction 1; Intros f Pf; Elim E.
-Intros A g hr; Split with (sup A [a:A](f (g a))).
-Simpl; Intros X i; Elim i; Intros a ea; Split with (f (g a)).
-Split.
-Exists a; Auto with zfc.
-
-Apply comp with (g a); Auto with zfc.
-
-Auto with zfc.
-
-Intros; Split with Vide; Contradiction.
-
-Unfold choice in H; Apply H; Intros; Elim (G a); Intros b hb; Exists b;
- Assumption.
-Qed.
-
-(* If we also assume the excluded middle, we can derive *)
-(* the usual replacement schemata. *)
-
-Definition functional :=
- [P:Ens->Ens->Prop](x,y,y':Ens)
- (P x y)->(P x y')->(EQ y y').
-Definition replacement :=
- (P:Ens->Ens->Prop)
- (functional P)->
- ((x,y,y':Ens)(EQ y y')->(P x y)->(P x y'))->
- ((x,x',y:Ens)(EQ x x')->(P x y)->(P x' y))->
- (X:Ens)(EXType ? [Y:Ens](y:Ens)
- (((IN y Y)->(EXType ? [x:Ens](IN x X)/\(P x y)))
- /\((EXType ? [x:Ens](IN x X)/\(P x y))->(IN y Y)))).
-
-Theorem classical_Collection_Replacement :
- ((S:Prop)S\/(S->False))->
- collection ->
- replacement.
-Unfold replacement; Intros EM Collection P fp comp_r comp_l X.
-Cut (EXType ? [Y:Ens](y:Ens)((EXType ? [x:Ens](IN x X)/\(P x y))->(IN y Y))).
-Induction 1; Intros Y HY.
-Exists (Comp Y [y:Ens](EXType ? [x:Ens](IN x X)/\(P x y))).
-Intros y; Split.
-Intros HC.
-Apply (IN_Comp_P Y y [y0:Ens](EXType Ens [x:Ens](IN x X)/\(P x y0))); Auto with zfc v62.
-Intros w1 w2; Induction 1; Intros x; Induction 1; Intros Ix Px e.
-Exists x; Split; Auto with zfc v62.
-Apply comp_r with w1; Auto with zfc v62.
-Intros He.
-Apply IN_P_Comp.
-
-Intros w1 w2; Induction 1; Intros x; Induction 1; Intros Ix Px e.
-Exists x; Split; Auto with zfc v62.
-Apply comp_r with w1; Auto with zfc v62.
-Apply HY; Auto with zfc v62.
-Auto with zfc v62.
-
-Elim (Collection [x,y:Ens]((P x y)\/(((y':Ens)(P x y')->False)/\(EQ y Vide))))
- with X.
-Intros Y HY.
-Elim (EM (EXType ? [x:Ens](IN x X)/\(P x Vide))).
-Intros Hvide; Elim Hvide; Intros xv Hxv; Exists Y.
-Intros y; Induction 1; Intros x; Induction 1; Intros Hx1 Hx2.
-Elim (HY x Hx1).
-Intros y'; Induction 1; Intros Hy'1 Hy'2.
-Elim Hy'2.
-Intros Hy'3; Apply IN_sound_left with y'; Auto with zfc v62.
-Apply fp with x; Auto with zfc v62.
-Induction 1; Intros Hy'3 Hy'4.
-Elim (Hy'3 y Hx2).
-Intros HP; Exists (Comp Y [y:Ens]((EQ y Vide)->False)).
-Intros y; Induction 1; Intros x; Induction 1; Intros Hx1 Hx2.
-Apply IN_P_Comp.
-Intros w1 w2 Hw1 Hw Hw2; Apply Hw1; Apply EQ_tran with w2; Auto with zfc v62.
-Elim (HY x).
-Intros y'; Induction 1; Intros Hy'1 Hy'2.
-Elim Hy'2; Intros Hy'3.
-Apply IN_sound_left with y'; Auto with zfc v62.
-Apply fp with x; Auto with zfc v62.
-Elim Hy'3; Intros Hy'4 Hy'5.
-Elim (Hy'4 y); Auto with zfc v62.
-Assumption.
-Intros e; Apply HP; Exists x; Split; Auto with zfc v62;
- Apply comp_r with y; Auto with zfc v62; Apply fp; Auto with zfc v62.
-Intros x x' y e Hx; Elim Hx; Intros Hx1.
-Left; Apply comp_l with x; Auto with zfc v62.
-Right; Elim Hx1; Intros Hx2 Hx3; Split.
-2 : Assumption.
-Intros y' Hy'; Apply (Hx2 y'); Apply comp_l with x'; Auto with zfc v62.
-Intros x; Elim (EM (EXType ? [y:Ens](P x y))); Intros Hx.
-Elim Hx; Intros x0 Hx0; Exists x0; Left; Assumption.
-Exists Vide; Right; Split; Auto with zfc v62.
-Intros y Hy; Elim Hx; Exists y; Auto with zfc v62.
-Qed.
-
-(******************************************************************************)
-(* SMALL SETS AND THE BIG SET OF SMALL SETS *)
-(******************************************************************************)
-
-(* Some definitions replicated on another type level *)
-
-Inductive EXType' [P:Type; Q:P->Prop]: Prop :=
- EXTypei' : (x:P)(Q x)->(EXType' P Q).
-
-Inductive prod_t' [A,B:Type] : Type :=
- pair_t' : A->B->(prod_t' A B).
-
-Inductive depprod'' [A:Type; P : A->Type] : Type :=
- dep_i'' : (x:A)(P x)->(depprod'' A P).
-
-(* The small sets *)
-Inductive Ens' : Type :=
- sup' : (A:Type)(A->Ens')->Ens'
- | atom' : (A:Type)A->Ens'.
-
-(* Equality on small sets *)
-Definition EQ' : Ens' -> Ens' -> Prop.
-Induction 1.
-Intros A f eq1.
-Induction 1.
-Intros B g eq2.
-Apply and.
-Exact (x:A)
- (EXType' ? [y:B](eq1 x (g y))).
-Exact (y:B)
- (EXType' ? [x:A](eq1 x (g y))).
-
-Intros A' a'.
-Exact False.
-
-Intros A a.
-Induction 1.
-Intros A' f eq1.
-Exact False.
-
-Intros.
-(*Exact (X == X0).*)
-Exact (eq_depT Type [A:Type]A A a A0 y).
-Save.
-
-Transparent EQ'.
-
-(* small sets can be injected into big sets *)
-Definition inj : Ens'->Ens.
-Induction 1; [Intros A f fr ; Exact (sup A fr) | Intros A a ; Exact (atom A a)].
-Qed.
-
-Transparent inj.
-
-Theorem inj_sound : (E1,E2:Ens')(EQ' E1 E2)->(EQ (inj E1)(inj E2)).
-Induction E1; [Intros A1 f1 r1 | Intros A a] ; Induction E2;
- [Intros A2 f2 r2 | Contradiction | Contradiction | Intros A' a'].
-(Induction 1; Intros HR1 HR2; Split).
-(Intros a1; Elim (HR1 a1); Intros a2 Ha2; Exists a2; Auto with zfc v62).
-(Intros a2; Elim (HR2 a2); Intros a1 Ha1; Exists a1; Auto with zfc v62).
-
-Auto with zfc.
-Qed.
-
-Definition Sing' : Ens' -> Ens' :=
- [E:Ens'] (sup' Un [x:Un]Cases x of void => E end).
-
-Definition Power' : Ens' -> Ens' :=
-[E:Ens']
- Cases E of
- (sup' A f) =>
- (sup' ?
- [P:A->Prop]
- (sup' ?
- [c:(depprod'' A [a:A](P a))]
- Cases c of
- (dep_i'' a p) => (f a)
- end
- )
- )
- | (atom' A a) => (Sing' (atom' A a)) (* ??? or Vide? *)
- end.
-
-Theorem Power_sound_inj : (E:Ens')(EQ (inj (Power' E))(Power (inj E))).
-Induction E; [Intros A f HR | Intros A a].
-Simpl; Split.
-Intros P; Exists P; Split.
-Intros c; Elim c; Intros a p.
-Exists (dep_i A [a0:A](P a0) a p); Simpl; Auto with zfc v62.
-Intros c; Elim c; Intros a p.
-Exists (dep_i'' A [a0:A](P a0) a p); Simpl; Auto with zfc v62.
-Intros P; Exists P; Split.
-Intros c; Elim c; Intros a p.
-Exists (dep_i A [a0:A](P a0) a p); Simpl; Auto with zfc v62.
-Intros c; Elim c; Intros a p.
-Exists (dep_i'' A [a0:A](P a0) a p); Simpl; Auto with zfc v62.
-
-Simpl; Split.
-Destruct x; Exists void; Auto with zfc.
-Destruct y; Exists void; Auto with zfc.
-Qed.
-
-(* The set of small sets *)
-Definition Big := (sup Ens' inj).
-
-Theorem Big_is_big : (E:Ens')(IN (inj E) Big).
-Intros E; Unfold Big; Simpl; Exists E; Auto with zfc.
-Qed.
-
-Theorem IN_Big_small : (E:Ens)(IN E Big)->(EXType' ? [E':Ens'](EQ E (inj E'))).
-Unfold Big; Simpl; Induction 1; Intros E' HE'; Exists E'; Assumption.
-Qed.
-
-Theorem IN_small_small : (E:Ens)(E':Ens')(IN E (inj E'))->
- (EXType' ? [E1:Ens'](EQ E (inj E1))).
-Induction E'; [Intros A' f' HR' | Contradiction]; Simpl;
- Induction 1; Intros a' e'; Exists (f' a'); Assumption.
-Qed.
-
-Theorem Big_closed_for_power : (E:Ens)(IN E Big)->(IN (Power E) Big).
-Unfold Big; Simpl; Intros E; Induction 1; Intros E' HE'; Exists (Power' E').
-Apply EQ_tran with (Power (inj E')).
-Apply Power_sound; Assumption.
-Apply EQ_sym; Apply Power_sound_inj.
-Qed.
-
-(******************************************************************************)
-(* NO SET OF ALL SETS *)
-(******************************************************************************)
-
-(* Just for fun : a proof that there is no set of all sets, using *)
-(* Russell's paradox construction *)
-(* There, of course, are other proofs (foundation, etc) *)
-
-Theorem Russell : (E:Ens)((E':Ens)(IN E' E))->False.
-Intros U HU.
-Cut ([x:Ens](IN x x)->False (Comp U [x:Ens](IN x x)->False)).
-Intros HR.
-Apply HR.
-(Apply IN_P_Comp; Auto with zfc v62).
-(Intros w1 w2 HF e i; Apply HF; Apply IN_sound_left with w2; Auto with zfc v62;
- Apply IN_sound_right with w2; Auto with zfc v62).
-Intros H.
-Cut (IN (Comp U [x:Ens](IN x x)->False) (Comp U [x:Ens](IN x x)->False)).
-Change ([x:Ens](IN x x)->False (Comp U [x:Ens](IN x x)->False)).
-Cut (w1,w2:Ens)((IN w1 w1)->False)->(EQ w1 w2)->(IN w2 w2)->False.
-Intros ww.
-Exact (IN_Comp_P U (Comp U [x:Ens](IN x x)->False)
- [x:Ens](IN x x)->False ww H).
-(Intros w1 w2 HF e i; Apply HF; Apply IN_sound_left with w2; Auto with zfc v62;
- Apply IN_sound_right with w2; Auto with zfc v62).
-Assumption.
-Qed.
-
-(******************************************************************************)
-(* SOME AXIOMS AND STRANGE THINGS ;-( *)
-(* *)
-(* The need for axioms is due to the usage of dependent equality, or to my *)
-(* ignorance about it ;-) *)
-(* *)
-(******************************************************************************)
-
-Axiom a_de_pi2 :
- (T:Type)(n,m:T)(existT Type [A:Type]A T n)==(existT Type [A:Type]A T m)->n==m.
-
-(* The main consequence of the previous axiom *)
-Theorem a_pi2 : (T:Type)(n,m:T)(atom T n)==(atom T m)->n==m.
-Intros; Inversion H; Apply a_de_pi2; Assumption.
-Qed.
-
-(* This theorem is really strange: I can prove this in general, but I can't *)
-(* prove any of it's instance: for example I can't prove *)
-(* ~(nat==bool)->~(atom nat O)==(atom bool true) due to an internal error of *)
-(* Coq *)
-Theorem a_npi1 : (T1,T2:Type)(t1:T1)(t2:T2)~T1==T2->~(atom T1 t1)==(atom T2 t2).
-Unfold not; Intros; Apply H; Inversion H0; Reflexivity.
-Qed.
-
-(******************************************************************************)
-(* MAPPING A TYPE TO THE SET OF IT'S ELEMENTS *)
-(******************************************************************************)
-
-(* (Ens_of_t T t) is thought as the coercion from an element (t:T) to a set *)
-Definition Ens_of_t : (T:Type)T->Ens :=
- [T:Type][t:T](atom T t).
-
-(* (Ens_of_T T) is thought as the set of the elements of type T ... *)
-Definition Ens_of_T : Type -> Ens :=
- [T:Type] (sup T [t:T](Ens_of_t T t)).
-
-(* ... and (Prop_on_Ens_of_Prop T P) is thought as the proposition on Ens *)
-(* that is true only for (atom T t) where (t:T) and (P t) is true. *)
-Inductive Prop_on_Ens_of_Prop [T:Type; P:T->Prop] : Ens->Prop :=
- cons : (t:T)(P t)->(Prop_on_Ens_of_Prop T P (atom T t)).
-
-Theorem Prop_on_Ens_of_Prop_atom_Prop :
- (T:Type; P:(T->Prop); t:T)(Prop_on_Ens_of_Prop T P (atom T t))->(P t).
-Intros; Inversion H; Replace t with t0.
-Assumption.
-
-Apply a_de_pi2; Assumption.
-Qed.
-
-Theorem Prop_on_Ens_of_Prop_t :
- (T:Type; P:(T->Prop); E:Ens)
- (Prop_on_Ens_of_Prop T P E)
- ->(EXType T [t:T]E==(atom T t)/\(P t)).
-Intros.
-Inversion H.
-Split with t.
-Auto.
-Qed.
-
-Lemma EQ_atom: (T:Type)(t:T)(E:Ens)(EQ (atom T t) E)->(atom T t)==E.
-Destruct E.
-Contradiction.
-
-Intros.
-Inversion H.
-Reflexivity.
-Qed.
-
-
-Theorem Prop_on_Ens_of_Prop_sound :
- (E1,E2:Ens)(T:Type)(P:T->Prop)
- (EQ E1 E2)
- -> (Prop_on_Ens_of_Prop T P E1)
- -> (Prop_on_Ens_of_Prop T P E2).
-Intros.
-Cut (EXType ? [t:T]E1==(atom T t)/\(P t)).
-Destruct 1; Destruct 1.
-Intros.
-Rewrite H3 in H.
-Cut (atom T x)==E2.
-Intros.
-Rewrite <- H5.
-Constructor 1.
-Assumption.
-
-Apply EQ_atom.
-Assumption.
-
-Apply Prop_on_Ens_of_Prop_t.
-Assumption.
-Qed.
-
-
-(******************************************************************************)
-(* EXAMPLES OF USAGE *)
-(******************************************************************************)
-
-(* We could define an implicit coercion from nat to Ens using Ens_of_t *)
-Coercion Ens_of_nat := [n:nat](Ens_of_t nat n).
-
-(* CNat is the set of the natural numbers of Coq ... *)
-Definition CNat : Ens :=
- (Ens_of_T nat).
-
-Mutual Inductive
- is_even : nat->Prop :=
- is_even_O : (is_even O)
- | is_even_S : (n:nat)(is_odd n)->(is_even (S n))
-with
- is_odd : nat->Prop :=
- id_ood_S : (n:nat)(is_even n)->(is_odd (S n)).
-
-Lemma not_even_odd: (n:nat)(is_even n)->(is_odd n)->False.
-Induction n.
-Intros; Inversion H0.
-
-Intros; Apply H; [Inversion H1 | Inversion H0]; Assumption.
-Qed.
-
-Definition Cis_even : Ens -> Prop :=
- (Prop_on_Ens_of_Prop nat is_even).
-
-Definition Cis_odd : Ens -> Prop :=
- (Prop_on_Ens_of_Prop nat is_odd).
-
-(* ... and CEven and COdd are the sets of even/odd natural numbers of Coq *)
-
-Definition CEven := (Comp CNat Cis_even).
-
-Definition COdd := (Comp CNat Cis_odd).
-
-(* And now an easy fact: the intersection of CEven with COdd is empty *)
-Fact COdd_Inter_CEven_EQ_Vide: (EQ (Inter (Paire CEven COdd)) Vide).
-Apply INC_EQ.
-Cut (E:Ens)(IN E (Inter (Paire CEven COdd)))->(IN E Vide).
-Auto.
-
-Intros.
-Cut False.
-Contradiction.
-
-Cut (IN E CEven)/\(IN E COdd).
-Destruct 1.
-Intros.
-Unfold CEven in H1.
-Cut (Cis_even E).
-Unfold COdd in H2.
-Cut (Cis_odd E).
-Intros.
-Inversion H3.
-Inversion H4.
-Rewrite <- H6 in H8.
-Cut t0==t.
-Intro.
-Rewrite H9 in H7.
-Apply not_even_odd with t; Assumption.
-
-Apply a_pi2; Assumption.
-
-Apply IN_Comp_P with CNat.
-Intros.
-Unfold Cis_odd.
-Apply Prop_on_Ens_of_Prop_sound with w1; Assumption.
-
-Assumption.
-
-Apply IN_Comp_P with CNat.
-Intros.
-Unfold Cis_even.
-Apply Prop_on_Ens_of_Prop_sound with w1; Assumption.
-
-Assumption.
-
-Split.
-Apply IN_Inter_all with (Paire CEven COdd).
-Assumption.
-
-Auto with zfc.
-
-Apply IN_Inter_all with (Paire CEven COdd).
-Assumption.
-
-Auto with zfc.
-
-Simpl.
-Destruct 1.
-Destruct x.
-Qed.
-
-(* Another easy fact: O is not in COdd *)
-Fact O_not_IN_COdd : ~(IN O COdd).
-Unfold not; Intro.
-Cut (Cis_odd O).
-Intro.
-Inversion H0.
-Simpl in H1.
-Cut t==O.
-Intro.
-Rewrite H3 in H2.
-Inversion H2.
-
-Apply a_de_pi2.
-Assumption.
-
-Unfold COdd in H.
-Apply IN_Comp_P with CNat.
-Intros.
-Unfold Cis_odd.
-Apply Prop_on_Ens_of_Prop_sound with w1.
-Assumption.
-
-Exact H0.
-
-Assumption.
-Qed.
diff --git a/helm/EXPORT/exportcsczfc/exporttheories.sh b/helm/EXPORT/exportcsczfc/exporttheories.sh
deleted file mode 100755
index 419e33d53..000000000
--- a/helm/EXPORT/exportcsczfc/exporttheories.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-echo "Exporting theory $1";
-
-for i in csc_eqdep.v csc_zfc.v
- do
- basename=$(basename $i | sed s/\\.v//)
- cat $i | ../mktheory.pl "csczfc/$basename" > \
- examples/csczfc/$1/$basename.theory.xml
- done
diff --git a/helm/EXPORT/exportcsczfc/provacsczfc.v b/helm/EXPORT/exportcsczfc/provacsczfc.v
deleted file mode 100644
index 81737d5a9..000000000
--- a/helm/EXPORT/exportcsczfc/provacsczfc.v
+++ /dev/null
@@ -1,6 +0,0 @@
-Require Xml.
-Require csc_eqdep.
-Require csc_zfc.
-
-Print XML Dir Disk "examples/csczfc" csc_eqdep.
-Print XML Dir Disk "examples/csczfc" csc_zfc.
diff --git a/helm/EXPORT/exportprove/Makefile b/helm/EXPORT/exportprove/Makefile
deleted file mode 100644
index 4bd3a33e4..000000000
--- a/helm/EXPORT/exportprove/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-all: objects theories
-
-objects:
- coqc -R prove Bologna.prove prove/*.v
- echo "Load Verbose provaStruct." | coqtop.byte -R prove Bologna.prove
- echo "Load Verbose provaFeIota." | coqtop.byte -R prove Bologna.prove
- echo "Load Verbose provaCofix." | coqtop.byte -R prove Bologna.prove
- echo "Load Verbose prova." | coqtop.byte -R prove Bologna.prove
-
-theories:
- ./exporttheories.sh
-
-clean:
- rm -f *.vo prove/*.vo
diff --git a/helm/EXPORT/exportprove/exporttheories.sh b/helm/EXPORT/exportprove/exporttheories.sh
deleted file mode 100755
index 0b609bf56..000000000
--- a/helm/EXPORT/exportprove/exporttheories.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-echo "Exporting theory $1";
-
-for i in prove/*.v
- do
- basename=$(basename $i | sed s/\\.v//)
- cat $i | ../mktheory.pl "prove/$basename" > \
- examples/Bologna/prove/$1/$basename.theory.xml
- done
diff --git a/helm/EXPORT/exportprove/prova.v b/helm/EXPORT/exportprove/prova.v
deleted file mode 100644
index 0d98e5769..000000000
--- a/helm/EXPORT/exportprove/prova.v
+++ /dev/null
@@ -1,34 +0,0 @@
-Require Export Xml.
-
-Section prova.
-
-Inductive
- tree : Set := node : forest -> tree
-with
- forest : Set := leaf : forest | cons : tree -> forest -> forest.
-
-Fixpoint tree_size [t:tree] : nat :=
- Cases t of (node f) => (S (forest_size f)) end
-with forest_size [f:forest] : nat :=
- Cases f of leaf => (S O) | (cons t f') => (plus (tree_size t) (forest_size f'))
- end.
-
-Theorem a_ab_b: (A,B:Prop)A->(A->B)->B.
-Auto.
-Qed.
-
-Axiom dummy_axiom: (n,m:nat)(le n m)\/(gt n m).
-
-End prova.
-
-Print XML Section Disk "examples/prove" prova.
-
-Theorem ab_ac_abc: (A,B,C:Prop)(A->B)->(A->C)->A->B/\C.
-Intros A B C AB AC A1.
-Split.
-
-Show XML File "examples/ab_ac_abc.xml" Proof.
-
-Auto.
-Auto.
-Qed.
diff --git a/helm/EXPORT/exportprove/provaCofix.v b/helm/EXPORT/exportprove/provaCofix.v
deleted file mode 100644
index d0f97294b..000000000
--- a/helm/EXPORT/exportprove/provaCofix.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Xml.
-Require provacofix.
-
-Print XML Module Disk "examples" provacofix.
diff --git a/helm/EXPORT/exportprove/provaFeIota.v b/helm/EXPORT/exportprove/provaFeIota.v
deleted file mode 100644
index bc5b2c022..000000000
--- a/helm/EXPORT/exportprove/provaFeIota.v
+++ /dev/null
@@ -1,6 +0,0 @@
-Require Xml.
-Require provaF.
-Require provaIota.
-
-Print XML Module Disk "examples" provaF.
-Print XML Module Disk "examples" provaIota.
diff --git a/helm/EXPORT/exportprove/provaStruct.v b/helm/EXPORT/exportprove/provaStruct.v
deleted file mode 100644
index 06c952970..000000000
--- a/helm/EXPORT/exportprove/provaStruct.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Export Xml.
-
-Require provastruct.
-Print XML Module Disk "examples" provastruct.
-
-Require provastruct2.
-Print XML Module Disk "examples" provastruct2.
-
-Require provastruct3.
-Print XML Module Disk "examples" provastruct3.
-
-Require provastruct4.
-Print XML Module Disk "examples" provastruct4.
-
-Require provastruct5.
-Print XML Module Disk "examples" provastruct5.
diff --git a/helm/EXPORT/exportprove/prove/.cvsignore b/helm/EXPORT/exportprove/prove/.cvsignore
deleted file mode 100644
index 419956872..000000000
--- a/helm/EXPORT/exportprove/prove/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.vo
diff --git a/helm/EXPORT/exportprove/prove/provaF.v b/helm/EXPORT/exportprove/prove/provaF.v
deleted file mode 100644
index 072010f0c..000000000
--- a/helm/EXPORT/exportprove/prove/provaF.v
+++ /dev/null
@@ -1,33 +0,0 @@
-Definition int := (A:Prop)(A->A)->A->A.
-
-Definition O := [A:Prop][s:A->A][o:A]o.
-
-Definition S := [n:int][A:Prop][s:A->A][o:A](s (n A s o)).
-
-Definition Uno := [A:Prop][s:A->A][o:A](s o).
-
-Definition Due := [A:Prop][s:A->A][o:A](s (s o)).
-
-Definition Tre := [A:Prop][s:A->A][o:A](s (s (s o))).
-
-Definition id := [A:Prop][x:A]x.
-
-Definition id_Due := (id int Due).
-
-Definition difficult := ((S Due) (int -> int) (id (int -> int)) (id int)).
-
-Definition is_Zero := [n:int](n int [_:int]Uno O).
-
-Definition couple := [A:Prop][x:A][y:A][z:A->A->A](z x y).
-
-Definition Couple := [A:Prop](z:A->A->A)A.
-
-Definition fst := [A:Prop][x:A][y:A]x.
-
-Definition snd := [A:Prop][x:A][y:A]y.
-
-Definition next : (Couple int) -> (Couple int) := [x:(Couple int)](couple int (x (snd int)) (S (x (snd int)))).
-
-Definition pred := [n:int]((n (Couple int) next (couple int O O))(fst int)).
-
-Definition test := (((pred Tre) (int -> int))(id (int->int)) (id int)).
diff --git a/helm/EXPORT/exportprove/prove/provaIota.v b/helm/EXPORT/exportprove/prove/provaIota.v
deleted file mode 100644
index 74a510b5d..000000000
--- a/helm/EXPORT/exportprove/prove/provaIota.v
+++ /dev/null
@@ -1,53 +0,0 @@
-Inductive bool : Set := true : bool | false : bool.
-Inductive nat : Set := O : nat | S : nat -> nat.
-
-Fixpoint plus [n:nat] : nat -> nat :=
- [m:nat]
- Cases n of
- O => m
- | (S n) => (S (plus n m))
- end.
-
-Fixpoint mult [n:nat] : nat -> nat :=
- [m:nat]
- Cases n of
- O => O
- | (S n) => (plus m (mult n m))
- end.
-
-Fixpoint fact [n:nat] : nat :=
- Cases n of
- O => (S O)
- | (S n) => (mult (S n) (fact n))
- end.
-
-Definition bnot :=
- [b:bool]
- Cases b of
- true => false
- | false => true
- end.
-
-Fixpoint is_even [n:nat] : bool :=
- Cases n of
- O => true
- | (S n) => (bnot (bnot (is_odd n)))
- end
-with is_odd [n:nat] : bool :=
- Cases n of
- O => false
- | (S n) => (bnot (bnot (is_even n)))
- end
-.
-
-Fixpoint idn [n:nat] : nat :=
- Cases n of
- O => O
- | (S n) => (S (idn n))
- end.
-
-Definition test1 := (is_even (S (S O))).
-Definition test2 := (is_even (S (S (S O)))).
-Definition test3 := (idn (idn (S O))).
-Definition test4 := (is_odd (fact (S (S (O))))).
-Definition test5 := (is_odd (fact (S (S (S (S (S (S O)))))))).
diff --git a/helm/EXPORT/exportprove/prove/provacofix.v b/helm/EXPORT/exportprove/prove/provacofix.v
deleted file mode 100644
index 199cadeb6..000000000
--- a/helm/EXPORT/exportprove/prove/provacofix.v
+++ /dev/null
@@ -1,45 +0,0 @@
-(* Let's define an infinite tree whose nodes are made of natural value and an *)
-(* infinite forest of infinite trees whose nodes ... *)
-
-(* (obbrobrio_tree n) is used to build such a tree whose root value is n and *)
-(* root forest is made of the corecursively defined tress whose roots values *)
-(* are (n+1), (n+2), ... *)
-
-(* To finish, we provide also some destructors and a funny (?!?) theorem *)
-
-CoInductive tree : Set :=
- node : nat -> forest -> tree
-with forest : Set :=
- nil : forest
- | cons : tree -> forest -> forest.
-
-CoFixpoint obbrobrio_tree : nat -> tree :=
- [n:nat]
- (node n (obbrobrio_forest (S n) nil))
-with obbrobrio_forest : nat -> forest -> forest :=
- [n:nat][f:forest]
- (cons (obbrobrio_tree n) (obbrobrio_forest (S n) f)).
-
-Definition root_value : tree -> nat :=
- [t:tree]
- Cases t of
- (node n _) => n
- end.
-
-Definition root_forest : tree -> forest :=
- [t:tree]
- Cases t of
- (node _ f) => f
- end.
-
-Definition root_tree : forest -> tree :=
- [f:forest]
- Cases f of
- nil => (obbrobrio_tree (S (S (S O))))
- | (cons t _) => t
- end.
-
-Theorem easy : (root_value (root_tree (root_forest (obbrobrio_tree O))))=(S O).
-Proof.
- Trivial.
-Qed.
diff --git a/helm/EXPORT/exportprove/prove/provastruct.v b/helm/EXPORT/exportprove/prove/provastruct.v
deleted file mode 100644
index 503c7e0ac..000000000
--- a/helm/EXPORT/exportprove/prove/provastruct.v
+++ /dev/null
@@ -1,22 +0,0 @@
-Require Export Xml.
-
-Section a.
- Variable A:Prop.
- Section b1.
- Variable B:Prop.
- Axiom axiom: A -> (A -> B) ->B.
- Theorem th1: A -> (A -> B) -> A/\B.
- Intros A' H.
- Split.
- Assumption.
- Apply axiom; Assumption.
- Qed.
- End b1.
- Section b2.
- Variable B:Set.
- Axiom axiom': (A:Prop)A->A.
- End b2.
- Theorem th1': (A:Prop)A->A.
- Auto.
- Qed.
-End a.
diff --git a/helm/EXPORT/exportprove/prove/provastruct2.v b/helm/EXPORT/exportprove/prove/provastruct2.v
deleted file mode 100644
index 0784e9794..000000000
--- a/helm/EXPORT/exportprove/prove/provastruct2.v
+++ /dev/null
@@ -1,42 +0,0 @@
-Section init.
-Section a.
- Section a1.
- Section a11.
- Section a111.
- Local uno := (S O).
- End a111.
- Section a112.
- End a112.
- Section a113.
- End a113.
- End a11.
- Local uno := (S O).
- End a1.
- Section a2.
- Section a21.
- Local uno := (S O).
- End a21.
- Section a22.
- Section a221.
- End a221.
- End a22.
- Section a23.
- Section a231.
- Section a2311.
- Local uno := (S O).
- End a2311.
- Section a2312.
- End a2312.
- Section a2313.
- End a2313.
- End a231.
- Section a232.
- Section a2321.
- End a2321.
- End a232.
- End a23.
- Local uno := (S O).
- End a2.
- Definition uno := (S O).
-End a.
-End init.
diff --git a/helm/EXPORT/exportprove/prove/provastruct3.v b/helm/EXPORT/exportprove/prove/provastruct3.v
deleted file mode 100644
index d18933010..000000000
--- a/helm/EXPORT/exportprove/prove/provastruct3.v
+++ /dev/null
@@ -1,11 +0,0 @@
-Section a.
- Section a1.
- Variable A : Prop.
- Variable B : Prop.
- Inductive t1 : Set := k1 : A -> t1.
- End a1.
-
- Inductive t2 [B:Set] : Set := k2 : (t2 B).
-
- Variable A : Prop.
-End a.
diff --git a/helm/EXPORT/exportprove/prove/provastruct4.v b/helm/EXPORT/exportprove/prove/provastruct4.v
deleted file mode 100644
index 1307f46e5..000000000
--- a/helm/EXPORT/exportprove/prove/provastruct4.v
+++ /dev/null
@@ -1,8 +0,0 @@
-Section a.
- Variables N,M:nat.
- Section b.
- Variable P:Prop.
- Local SN := (S N).
- Axiom A : N = M.
- End b.
-End a.
diff --git a/helm/EXPORT/exportprove/prove/provastruct5.v b/helm/EXPORT/exportprove/prove/provastruct5.v
deleted file mode 100644
index 952c9d21a..000000000
--- a/helm/EXPORT/exportprove/prove/provastruct5.v
+++ /dev/null
@@ -1,11 +0,0 @@
-Section a.
- Variable A:Prop.
- Theorem easy:(B:Prop)B->B.
- Exact ([H:Prop][B:Prop][b:B]b A).
- Qed.
- Section b.
- Theorem easy':(B:Prop)B->B.
- Exact easy.
- Qed.
- End b.
-End a.
diff --git a/helm/EXPORT/mktheory.pl b/helm/EXPORT/mktheory.pl
deleted file mode 100755
index 2be018e98..000000000
--- a/helm/EXPORT/mktheory.pl
+++ /dev/null
@@ -1,151 +0,0 @@
-#!/usr/bin/perl
-
-# Assumptions:
-# Comments on one line are stripped
-# Comments on many lines:
-# nothing after *) (end of command)
-# Commands could be nested (but see previous assumption)
-# Commands don't span on several lines
-# If a line is commented, the comment must begin at the begin of line and end
-# at the end of line
-# In a line, before a command only spaces are allowed
-
-$curi = $ARGV[0];
-$with_types = ($ARGV[1] ? ".types" : "");
-$ident = " ";
-$cid = 1;
-$opencom = 0;
-$openscheme = 0;
-$openfix = 0;
-$opengoal = 0;
-
-print <
-
-
-
-EOT
-
-while () {
- chomp;
- if ($opencom > 0) {
- $opencom-- if (/\*\)/ && !/\(\*.*\*\)/);
- } else {
- if (/\(\*.*\*\)/) { # (* comment *)
- s/\(\*.*\*\)//;
- } elsif (/\(\*/) {
- # (* comment
- $opencom++;
- $_ = "";
- }
-
- if (/Require /) {
- s/ *Require *(.*)\..*/$1/;
- print "$ident\n";
- } elsif (/Goal /) {
- $opengoal = 1;
- } elsif (/Section /) {
- s/ *Section *(.*)\..*/$1/;
- print "$ident\n";
- $ident = $ident." ";
- } elsif (/Chapter /) {
- s/ *Chapter *(.*)\..*/$1/;
- print "$ident\n";
- $ident = $ident." ";
- } elsif (/End /) {
- chop($ident);
- print "$ident\n";
- } elsif (/Variable(s?) /) {
- s/ *Variable(s?) *([^:]*):.*/$2/;
- s/ //g;
- @vl = split /,/;
- foreach (@vl) {
- print "$ident\n";
- }
- } elsif (/Hypothesis /) {
- s/ *Hypothesis *([^ :]*)( |:).*/$1/;
- @vl = split /,/;
- foreach (@vl) {
- print "$ident\n";
- }
- } elsif (/^ *Inductive /) {
- if (/ *Inductive *[^ :]+ ([^ :]*) :=/) {
- s/ *Inductive *[^ :]+ ([^ :]*) *:=.*/$1/;
- } elsif (/ *Inductive *[^ :]*( |:)/) {
- s/ *Inductive *([^ :\[]*)( |:|\[).*/$1/;
- }
- print "$ident\n";
- } elsif (/ *CoInductive /) {
- if (/ *CoInductive *[^ :]+ ([^ :]*) *:=/) {
- s/ *CoInductive *[^ :]+ ([^ :]*) *:=.*/$1/;
- } elsif (/ *CoInductive *[^ :]*( |:)/) {
- s/ *CoInductive *([^ :]*)( |:).*/$1/;
- }
- print "$ident\n";
- } elsif (/^ *Fixpoint /) {
- s/ *Fixpoint *([^ \[]*)( |\[).*/$1/;
- print "$ident\n";
- $openfix = 1;
- } elsif (/ *CoFixpoint /) {
- s/ *CoFixpoint *([^ \[]*)( |\[).*/$1/;
- print "$ident\n";
- $openfix = 1;
- } elsif (/^ *Definition /) {
- s/ *Definition *([^ :]*)( |:)?.*/$1/;
- print "$ident\n";
- } elsif (/Local /) {
- s/ *Local *([^ :]*)( |:)?.*/$1/;
- print "$ident\n";
- } elsif (/Lemma /) {
- s/ *Lemma *([^ :]*)( |:)?.*/$1/;
- print "$ident\n";
- $cid++;
- } elsif (/Theorem /) {
- s/ *Theorem *([^ :]+)( |:)?.*/$1/;
- print "$ident\n";
- $cid++;
- } elsif (/Remark /) {
- s/ *Remark *([^ :]*)( |:)?.*/$1/;
- print "$ident\n";
- $cid++;
- } elsif (/Scheme /) {
- s/ *Scheme *([^ :]*)( |:)?.*/$1/;
- print "$ident\n";
- $cid++;
- $openscheme = 1;
- } elsif (/Save / && $opengoal) {
- s/ *Save *([^ \.]*)( |\.).*/$1/;
- print "$ident\n";
- $cid++;
- } elsif (/with / && $openscheme) {
- s/ *with *([^ :]*)( |:).*/$1/;
- print "$ident\n";
- $cid++;
- } elsif (/with / && $openfix) {
- s/ *with *([^ :]*)( |:).*/$1/;
- print "$ident\n";
- $cid++;
- } elsif (/Axiom /) {
- s/ *Axiom *([^ :]*)( |:).*/$1/;
- print "$ident\n";
- $cid++;
- } elsif (/Parameter /) {
- s/ *Parameter *([^ :]*)( |:).*/$1/;
- print "$ident\n";
- $cid++;
- } elsif (/Record /) {
- s/ *Record *([^ :]*)( |:).*/$1/;
- print "$ident\n";
- $cid++;
- }
-
- if ($openscheme && (/\./)) {
- $openscheme = 0;
- } elsif ($openfix && (/\./)) {
- $openfix = 0;
- }
-
- }
-}
-
-print "\n";
diff --git a/helm/Makefile b/helm/Makefile
deleted file mode 100644
index ffab1984d..000000000
--- a/helm/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-DIRS = ocaml gTopLevel searchEngine mathql_test hxp
-
-DIRS_BYTE = $(patsubst %,%.byte,$(DIRS))
-DIRS_OPT = $(patsubst %,%.opt,$(DIRS))
-DIRS_CLEAN = $(patsubst %,%.clean,$(DIRS))
-all: byte
-byte: $(DIRS_BYTE)
-opt: $(DIRS_OPT)
-world: byte opt
-clean: $(DIRS_CLEAN)
-%.byte:
- $(MAKE) -C $*/ all
-%.opt:
- $(MAKE) -C $*/ opt
-%.clean:
- $(MAKE) -C $*/ clean
-.PHONY: all byte opt world clean
diff --git a/helm/annotationHelper/.cvsignore b/helm/annotationHelper/.cvsignore
deleted file mode 100644
index b79ea367a..000000000
--- a/helm/annotationHelper/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.cm[iox] *.o cicAnnotationHelper cicAnnotationHelper.opt
diff --git a/helm/annotationHelper/.depend b/helm/annotationHelper/.depend
deleted file mode 100644
index 699b8de3a..000000000
--- a/helm/annotationHelper/.depend
+++ /dev/null
@@ -1,4 +0,0 @@
-cicAnnotationHinter.cmo: cicAnnotationHinter.cmi
-cicAnnotationHinter.cmx: cicAnnotationHinter.cmi
-cicAnnotationHelper.cmo: cicAnnotationHinter.cmi
-cicAnnotationHelper.cmx: cicAnnotationHinter.cmx
diff --git a/helm/annotationHelper/Makefile b/helm/annotationHelper/Makefile
deleted file mode 100644
index 272ac3eba..000000000
--- a/helm/annotationHelper/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-BIN_DIR = /usr/local/bin
-REQUIRES = lablgtkmathview helm-cic_annotations_cache
-PREDICATES =
-OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)"
-OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS)
-OCAMLOPT = ocamlfind ocamlopt $(OCAMLOPTIONS)
-OCAMLDEP = ocamldep
-
-LIBRARIES = $(shell ocamlfind query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES))
-LIBRARIES_OPT = $(shell ocamlfind query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES))
-
-all: cicAnnotationHelper
-opt: cicAnnotationHelper.opt
-
-DEPOBJS = cicAnnotationHinter.mli cicAnnotationHinter.ml cicAnnotationHelper.ml
-
-CICANNOTATIONHELPEROBJS = cicAnnotationHinter.cmo cicAnnotationHelper.cmo
-
-depend:
- $(OCAMLDEP) $(DEPOBJS) > .depend
-
-cicAnnotationHelper: $(CICANNOTATIONHELPEROBJS) $(LIBRARIES)
- $(OCAMLC) -linkpkg -o cicAnnotationHelper $(CICANNOTATIONHELPEROBJS)
-
-cicAnnotationHelper.opt: $(CICANNOTATIONHELPEROBJS:.cmo=.cmx) $(LIBRARIES_OPT)
- $(OCAMLOPT) -linkpkg -o cicAnnotationHelper.opt $(CICANNOTATIONHELPEROBJS:.cmo=.cmx)
-
-.SUFFIXES: .ml .mli .cmo .cmi .cmx
-.ml.cmo: $(LIBRARIES)
- $(OCAMLC) -c $<
-.mli.cmi: $(LIBRARIES)
- $(OCAMLC) -c $<
-.ml.cmx: $(LIBRARIES_OPT)
- $(OCAMLOPT) -c $<
-
-clean:
- rm -f *.cm[iox] *.o cicAnnotationHelper cicAnnotationHelper.opt
-
-install:
- cp cicAnnotationHelper cicAnnotationHelper.opt $(BIN_DIR)
-
-uninstall:
- rm -f $(BIN_DIR)/cicAnnotationHelper $(BIN_DIR)/cicAnnotationHelper.opt
-
-.PHONY: install uninstall clean
-
-include .depend
diff --git a/helm/annotationHelper/cicAnnotationHelper.ml b/helm/annotationHelper/cicAnnotationHelper.ml
deleted file mode 100644
index 5ed1fa26d..000000000
--- a/helm/annotationHelper/cicAnnotationHelper.ml
+++ /dev/null
@@ -1,594 +0,0 @@
-(* Copyright (C) 2000, HELM Team.
- *
- * This file is part of HELM, an Hypertextual, Electronic
- * Library of Mathematics, developed at the Computer Science
- * Department, University of Bologna, Italy.
- *
- * HELM is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * HELM is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HELM; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- * MA 02111-1307, USA.
- *
- * For details, see the HELM World-Wide-Web page,
- * http://cs.unibo.it/helm/.
- *)
-
-(******************************************************************************)
-(* *)
-(* PROJECT HELM *)
-(* *)
-(* Claudio Sacerdoti Coen *)
-(* 03/04/2001 *)
-(* *)
-(* This is a simple gtk interface to the Coq-like pretty printer cicPp for *)
-(* cic terms exported in xml. It uses directly the modules cicPp and *)
-(* cicCcache and indirectly all the other modules (cicParser, cicParser2, *)
-(* cicParser3, getter). *)
-(* The syntax is "gtkInterface[.opt] filename1 ... filenamen" where *)
-(* filenamei is the path-name of an xml file describing a cic term. *)
-(* The terms are loaded in cache and then pretty-printed one at a time and *)
-(* only once, when the user wants to look at it: if the user wants to look at *)
-(* a term again, then the pretty-printed term is showed again, but not *)
-(* recomputed *)
-(* *)
-(******************************************************************************)
-
-(* GLOBAL REFERENCES (USED BY CALLBACKS) *)
-
-let annotated_obj = ref None;; (* reference to a triple option where *)
- (* the first component is the current *)
- (* annotated object, the second is the *)
- (* map from ids to annotated targets and *)
- (* the third is the map from ids to *)
- (* annotations. *)
-let current_id = ref None;; (* id of the element to annotate *)
-let radio_some_status = ref false;; (* is the radio_some button selected? *)
-let current_url = ref "";;
-
-(* GLOBAL CONSTANTS *)
-
-let helmns = Gdome.domString "http://www.cs.unibo.it/helm";;
-
-(* MISC FUNCTIONS *)
-
-let pathname_of_annuri uristring =
- Configuration.annotations_dir ^
- Str.replace_first (Str.regexp "^cic:") "" uristring
-;;
-
-let make_dirs dirpath =
- ignore (Unix.system ("mkdir -p " ^ dirpath))
-;;
-
-module UrlManipulator =
- struct
- exception No_param_dot_CICURI_or_param_dot_annotations_found_in of string;;
- exception No_param_found_in of string * string;;
- exception Bad_formed_url of string;;
-
- let uri_from_url url =
- let module N = Neturl in
- let founduri = ref None in
- let foundann = ref None in
- let rec find_uri =
- function
- [] -> raise (No_param_dot_CICURI_or_param_dot_annotations_found_in url)
- | he::tl ->
- match Str.split (Str.regexp "=") he with
- ["param.CICURI";uri] ->
- if !founduri <> None then
- raise (Bad_formed_url url)
- else
- begin
- founduri := Some uri ;
- if !foundann = None then
- find_uri tl
- end
- | ["param.annotations";ann] ->
- if !foundann <> None then
- raise (Bad_formed_url url)
- else
- begin
- foundann :=
- Some
- (match ann with
- "yes" -> ".ann"
- | "no" -> ""
- | _ -> raise (Bad_formed_url url)
- ) ;
- if !founduri = None then
- find_uri tl
- end
- | _ -> find_uri tl
- in
- find_uri
- (Str.split (Str.regexp "&")
- (N.url_query ~encoded:true (N.url_of_string N.ip_url_syntax url))) ;
- match !founduri,!foundann with
- (Some uri),(Some ann) -> uri ^ ann
- | _ , _ ->
- raise (No_param_dot_CICURI_or_param_dot_annotations_found_in url)
- ;;
-
- let extractParam param url =
- let module N = Neturl in
- let rec find_param =
- function
- [] -> raise (No_param_found_in (param,url))
- | he::tl ->
- match Str.split (Str.regexp "=") he with
- [name;value] when name = param -> value
- | _ -> find_param tl
- in
- find_param
- (Str.split (Str.regexp "&")
- (N.url_query ~encoded:true (N.url_of_string N.ip_url_syntax url)))
- ;;
-
- let set_annotations_to_yes query url =
- let found =ref false in
- let rec aux =
- function
- [] ->
- if !found then ""
- else raise (No_param_found_in ("param.annotations",url))
- | he::tl ->
- match Str.split (Str.regexp "=") he with
- ["param.annotations" as s ; ann] ->
- found := true ;
- let auxtl = aux tl in
- s ^ "=yes" ^
- (if auxtl = "" then "" else "&" ^ auxtl)
- | [name ; value] ->
- let auxtl = aux tl in
- name ^ "=" ^ value ^
- (if auxtl = "" then "" else "&" ^ auxtl)
- | [name] ->
- let auxtl = aux tl in
- name ^ "=" ^
- (if auxtl = "" then "" else "&" ^ auxtl)
- | _ -> raise (Bad_formed_url url)
- in
- aux (Str.split (Str.regexp "&") query)
- ;;
-
- let annurl_of_url url =
- let module N = Neturl in
- let nurl = N.url_of_string N.ip_url_syntax url in
- let query = N.url_query ~encoded:true nurl in
- let newquery = set_annotations_to_yes query url in
- N.string_of_url (N.modify_url ~encoded:true ~query:newquery nurl)
- ;;
-end
-
-let get_current_uri () =
- UriManager.uri_of_string (UrlManipulator.uri_from_url !current_url)
-;;
-
-(* CALLBACKS *)
-
-let get_annotated_obj () =
- match !annotated_obj with
- None ->
- let annobj =
- let (annobj,ids_to_annotations) =
- match CicCache.get_annobj (get_current_uri ()) with
- (annobj,None) -> annobj, Hashtbl.create 503
- | (annobj, Some ids_to_annotations) -> (annobj,ids_to_annotations)
- in
- let ids_to_targets = CicXPath.get_ids_to_targets annobj in
- (annobj,ids_to_targets,ids_to_annotations)
- in
- annotated_obj := Some annobj ;
- annobj
- | Some annobj -> annobj
-;;
-
-let update_output rendering_window url =
- rendering_window#label#set_text (UrlManipulator.uri_from_url url) ;
- rendering_window#output#load url
-;;
-
-let choose_selection rendering_window (element : Gdome.element option) =
- let module G = Gdome in
- let rec aux element =
- if element#hasAttributeNS
- ~namespaceURI:helmns
- ~localName:(G.domString "xref")
- then
- rendering_window#output#set_selection (Some element)
- else
- match element#get_parentNode with
- None -> assert false
- (*CSC: OCAML DIVERGES!
- | Some p -> aux (new G.element_of_node p)
- *)
- | Some p -> aux (new Gdome.element_of_node p)
- in
- match element with
- Some x -> aux x
- | None -> rendering_window#output#set_selection None
-;;
-
-let annotateb_pressed rendering_window annotation_window () =
- let module G = Gdome in
- match rendering_window#output#get_selection with
- Some element ->
- let xpath =
- ((element : Gdome.element)#getAttributeNS
- (*CSC: OCAML DIVERGE
- ((element : G.element)#getAttributeNS
- *)
- ~namespaceURI:helmns
- ~localName:(G.domString "xref"))#to_string
- in
- if xpath = "" then
- rendering_window#label#set_text ("ERROR: No xref found!!!\n")
- else
- let annobj = get_annotated_obj () in
- let (anno, ids_to_targets, ids_to_annotations) = annobj in
- let annotation = (annotation_window#annotation : GEdit.text) in
- let id = xpath in
- current_id := Some id ;
- let ann = CicXPath.get_annotation ids_to_annotations id in
- CicAnnotationHinter.create_hints annotation_window ids_to_targets
- xpath ;
- annotation#delete_text 0 annotation#length ;
- begin
- match ann with
- None ->
- annotation#misc#set_sensitive false ;
- annotation_window#radio_none#set_active true ;
- radio_some_status := false
- | Some ann' ->
- annotation#insert ann' ;
- annotation#misc#set_sensitive true ;
- annotation_window#radio_some#set_active true ;
- radio_some_status := true
- end ;
- GMain.Grab.add (annotation_window#window_to_annotate#coerce) ;
- annotation_window#show () ;
- | None -> rendering_window#label#set_text ("ERROR: No selection!!!\n")
-;;
-
-let change_annotation ids_to_annotations id ann =
- begin
- try
- Hashtbl.remove ids_to_annotations id
- with
- Not_found -> ()
- end ;
- match ann with
- None -> ()
- | Some ann' -> Hashtbl.add ids_to_annotations id ann'
-;;
-
-(* called when the annotation is confirmed *)
-let save_annotation (annotation : GEdit.text) =
- let module S = Str in
- let module U = UriManager in
- let (annobj,ids_to_annotations) =
- match !annotated_obj with
- None -> assert false
- | Some (annobj,_,ids_to_annotations) -> annobj,ids_to_annotations
- in
- change_annotation ids_to_annotations
- (match !current_id with
- Some id -> id
- | None -> assert false
- )
- (if !radio_some_status then
- Some (annotation#get_chars 0 annotation#length)
- else
- None
- ) ;
- let uri = get_current_uri () in
- let annxml =
- CicAnnotation2Xml.pp_annotation annobj ids_to_annotations uri
- in
- make_dirs
- (pathname_of_annuri (U.buri_of_uri uri)) ;
- Xml.pp ~quiet:true annxml
- (Some
- (pathname_of_annuri (U.string_of_uri (U.annuri_of_uri uri)) ^
- ".xml"
- )
- )
-;;
-
-(* STUFF TO BUILD THE GTK INTERFACE *)
-
-(* Stuff for the widget settings *)
-
-let export_to_postscript (output : GMathView.math_view) () =
- output#export_to_postscript ~filename:"output.ps" ();
-;;
-
-let activate_t1 (output : GMathView.math_view)
- button_set_anti_aliasing button_set_kerning
- button_set_transparency button_export_to_postscript button_t1 ()
-=
- let is_set = button_t1#active in
- output#set_font_manager_type
- (if is_set then `font_manager_t1 else `font_manager_gtk) ;
- if is_set then
- begin
- button_set_anti_aliasing#misc#set_sensitive true ;
- button_set_kerning#misc#set_sensitive true ;
- button_set_transparency#misc#set_sensitive true ;
- button_export_to_postscript#misc#set_sensitive true ;
- end
- else
- begin
- button_set_anti_aliasing#misc#set_sensitive false ;
- button_set_kerning#misc#set_sensitive false ;
- button_set_transparency#misc#set_sensitive false ;
- button_export_to_postscript#misc#set_sensitive false ;
- end
-;;
-
-let set_anti_aliasing output button_set_anti_aliasing () =
- output#set_anti_aliasing button_set_anti_aliasing#active
-;;
-
-let set_kerning output button_set_kerning () =
- output#set_kerning button_set_kerning#active
-;;
-
-let set_transparency output button_set_transparency () =
- output#set_transparency button_set_transparency#active
-;;
-
-let changefont output font_size_spinb () =
- output#set_font_size font_size_spinb#value_as_int
-;;
-
-let set_log_verbosity output log_verbosity_spinb () =
- output#set_log_verbosity log_verbosity_spinb#value_as_int
-;;
-
-class settings_window (output : GMathView.math_view)
- sw button_export_to_postscript selection_changed_callback
-=
- let settings_window = GWindow.window ~title:"GtkMathView settings" () in
- let vbox =
- GPack.vbox ~packing:settings_window#add () in
- let table =
- GPack.table
- ~rows:1 ~columns:3 ~homogeneous:false ~row_spacings:5 ~col_spacings:5
- ~border_width:5 ~packing:vbox#add () in
- let button_t1 =
- GButton.toggle_button ~label:"activate t1 fonts"
- ~packing:(table#attach ~left:0 ~top:0) () in
- let button_set_anti_aliasing =
- GButton.toggle_button ~label:"set_anti_aliasing"
- ~packing:(table#attach ~left:0 ~top:1) () in
- let button_set_kerning =
- GButton.toggle_button ~label:"set_kerning"
- ~packing:(table#attach ~left:1 ~top:1) () in
- let button_set_transparency =
- GButton.toggle_button ~label:"set_transparency"
- ~packing:(table#attach ~left:2 ~top:1) () in
- let table =
- GPack.table
- ~rows:2 ~columns:2 ~homogeneous:false ~row_spacings:5 ~col_spacings:5
- ~border_width:5 ~packing:vbox#add () in
- let font_size_label =
- GMisc.label ~text:"font size:"
- ~packing:(table#attach ~left:0 ~top:0 ~expand:`NONE) () in
- let font_size_spinb =
- let sadj =
- GData.adjustment ~value:14.0 ~lower:5.0 ~upper:50.0 ~step_incr:1.0 ()
- in
- GEdit.spin_button
- ~adjustment:sadj ~packing:(table#attach ~left:1 ~top:0 ~fill:`NONE) () in
- let log_verbosity_label =
- GMisc.label ~text:"log verbosity:"
- ~packing:(table#attach ~left:0 ~top:1) () in
- let log_verbosity_spinb =
- let sadj =
- GData.adjustment ~value:0.0 ~lower:0.0 ~upper:3.0 ~step_incr:1.0 ()
- in
- GEdit.spin_button
- ~adjustment:sadj ~packing:(table#attach ~left:1 ~top:1) () in
- let hbox =
- GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in
- let closeb =
- GButton.button ~label:"Close"
- ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in
-object(self)
- method show = settings_window#show
- initializer
- button_set_anti_aliasing#misc#set_sensitive false ;
- button_set_kerning#misc#set_sensitive false ;
- button_set_transparency#misc#set_sensitive false ;
- (* Signals connection *)
- ignore(button_t1#connect#clicked
- ~callback:(activate_t1 output button_set_anti_aliasing button_set_kerning
- button_set_transparency button_export_to_postscript button_t1)) ;
- ignore(font_size_spinb#connect#changed (changefont output font_size_spinb)) ;
- ignore(button_set_anti_aliasing#connect#toggled
- (set_anti_aliasing output button_set_anti_aliasing));
- ignore(button_set_kerning#connect#toggled
- (set_kerning output button_set_kerning)) ;
- ignore(button_set_transparency#connect#toggled
- (set_transparency output button_set_transparency)) ;
- ignore(log_verbosity_spinb#connect#changed
- (set_log_verbosity output log_verbosity_spinb)) ;
- ignore(closeb#connect#clicked ~callback:settings_window#misc#hide)
-end;;
-
-(* Main windows *)
-
-class annotation_window output label =
- let window_to_annotate =
- GWindow.window ~title:"Annotating environment" ~border_width:2 () in
- let hbox1 =
- GPack.hbox ~packing:window_to_annotate#add () in
- let vbox1 =
- GPack.vbox ~packing:(hbox1#pack ~padding:5) () in
- let hbox2 =
- GPack.hbox ~packing:(vbox1#pack ~expand:false ~fill:false ~padding:5) () in
- let radio_some = GButton.radio_button ~label:"Annotation below"
- ~packing:(hbox2#pack ~expand:false ~fill:false ~padding:5) () in
- let radio_none = GButton.radio_button ~label:"No annotation"
- ~group:radio_some#group
- ~packing:(hbox2#pack ~expand:false ~fill:false ~padding:5)
- ~active:true () in
- let annotation = GEdit.text ~editable:true ~width:400 ~height:180
- ~packing:(vbox1#pack ~padding:5) () in
- let table =
- GPack.table ~rows:3 ~columns:3 ~packing:(vbox1#pack ~padding:5) () in
- let annotation_hints =
- Array.init 9
- (function i ->
- GButton.button ~label:("Hint " ^ string_of_int i)
- ~packing:(table#attach ~left:(i mod 3) ~top:(i / 3)) ()
- ) in
- let vbox2 =
- GPack.vbox ~packing:(hbox1#pack ~expand:false ~fill:false ~padding:5) () in
- let confirmb =
- GButton.button ~label:"O.K."
- ~packing:(vbox2#pack ~expand:false ~fill:false ~padding:5) () in
- let abortb =
- GButton.button ~label:"Abort"
- ~packing:(vbox2#pack ~expand:false ~fill:false ~padding:5) () in
-object (self)
- method window_to_annotate = window_to_annotate
- method annotation = annotation
- method radio_some = radio_some
- method radio_none = radio_none
- method annotation_hints = annotation_hints
- method output = (output : GMathView.math_view)
- method show () = window_to_annotate#show ()
- initializer
- (* signal handlers here *)
- ignore (window_to_annotate#event#connect#delete
- (fun _ ->
- window_to_annotate#misc#hide () ;
- GMain.Grab.remove (window_to_annotate#coerce) ;
- true
- )) ;
- ignore (confirmb#connect#clicked
- ~callback:(fun () ->
- window_to_annotate#misc#hide () ;
- save_annotation annotation ;
- GMain.Grab.remove (window_to_annotate#coerce) ;
- let new_current_uri = UriManager.annuri_of_uri (get_current_uri ()) in
- Getter.register new_current_uri
- (Configuration.annotations_url ^
- Str.replace_first (Str.regexp "^cic:") ""
- (UriManager.string_of_uri new_current_uri) ^ ".xml"
- ) ;
- let new_current_url = UrlManipulator.annurl_of_url !current_url in
- current_url := new_current_url ;
- label#set_text (UriManager.string_of_uri new_current_uri) ;
- output#load new_current_url
- )) ;
- ignore (abortb#connect#clicked
- ~callback:(fun () ->
- window_to_annotate#misc#hide () ;
- GMain.Grab.remove (window_to_annotate#coerce)
- ));
- ignore (radio_some#connect#clicked
- ~callback:(fun () -> annotation#misc#set_sensitive true ; radio_some_status := true)) ;
- ignore (radio_none #connect#clicked
- ~callback:(fun () ->
- annotation#misc#set_sensitive false;
- radio_some_status := false)
- )
-end;;
-
-class rendering_window annotation_window output (label : GMisc.label) =
- let window =
- GWindow.window ~title:"MathML viewer" ~border_width:2 () in
- let vbox =
- GPack.vbox ~packing:window#add () in
- let _ = vbox#pack ~expand:false ~fill:false ~padding:5 label#coerce in
- let scrolled_window0 =
- GBin.scrolled_window ~border_width:10
- ~packing:(vbox#pack ~expand:true ~padding:5) () in
- let _ = scrolled_window0#add output#coerce in
- let hbox =
- GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in
- let annotateb =
- GButton.button ~label:"Annotate"
- ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in
- let settingsb =
- GButton.button ~label:"Settings"
- ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in
- let button_export_to_postscript =
- GButton.button ~label:"export_to_postscript"
- ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in
- let closeb =
- GButton.button ~label:"Close"
- ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in
-object(self)
- method label = label
- method output = (output : GMathView.math_view)
- method show () = window#show ()
- initializer
- button_export_to_postscript#misc#set_sensitive false ;
-
- (* signal handlers here *)
- ignore(output#connect#selection_changed (choose_selection self)) ;
- ignore(closeb#connect#clicked ~callback:(fun _ -> GMain.Main.quit ())) ;
- ignore(annotateb#connect#clicked
- ~callback:(annotateb_pressed self annotation_window)) ;
- let settings_window = new settings_window output scrolled_window0
- button_export_to_postscript (choose_selection self) in
- ignore(settingsb#connect#clicked ~callback:settings_window#show) ;
- ignore(button_export_to_postscript#connect#clicked ~callback:(export_to_postscript output)) ;
- ignore(window#event#connect#delete (fun _ -> GMain.Main.quit () ; true ))
-end;;
-
-(* MAIN *)
-
-let initialize_everything tmpfile url =
- let module U = Unix in
- let output = GMathView.math_view ~width:400 ~height:380 ()
- and label = GMisc.label ~text:"???" () in
- let annotation_window = new annotation_window output label in
- let rendering_window =
- new rendering_window annotation_window output label
- in
- rendering_window#show () ;
- rendering_window#label#set_text (UrlManipulator.uri_from_url url) ;
- rendering_window#output#load tmpfile ;
- GMain.Main.main ()
-;;
-
-let _ =
- let filename = ref "" in
- let usage_msg =
- "\nusage: annotationHelper[.opt] file url\n\n List of options:"
- in
- Arg.parse []
- (fun x ->
- if x = "" then raise (Arg.Bad "Empty filename or URL not allowed") ;
- if !filename = "" then
- filename := x
- else if !current_url = "" then
- current_url := x
- else
- begin
- prerr_string "More than two arguments provided\n" ;
- Arg.usage [] usage_msg ;
- exit (-1)
- end
- ) usage_msg ;
- Getter.getter_url :=
- Netencoding.Url.decode
- (UrlManipulator.extractParam "param.getterURL" !current_url) ;
- initialize_everything !filename !current_url
-;;
diff --git a/helm/annotationHelper/cicAnnotationHinter.ml b/helm/annotationHelper/cicAnnotationHinter.ml
deleted file mode 100644
index 7cf3cddbb..000000000
--- a/helm/annotationHelper/cicAnnotationHinter.ml
+++ /dev/null
@@ -1,393 +0,0 @@
-(* Copyright (C) 2000, HELM Team.
- *
- * This file is part of HELM, an Hypertextual, Electronic
- * Library of Mathematics, developed at the Computer Science
- * Department, University of Bologna, Italy.
- *
- * HELM is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * HELM is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HELM; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- * MA 02111-1307, USA.
- *
- * For details, see the HELM World-Wide-Web page,
- * http://cs.unibo.it/helm/.
- *)
-
-(******************************************************************************)
-(* *)
-(* PROJECT HELM *)
-(* *)
-(* Claudio Sacerdoti Coen *)
-(* 14/06/2000 *)
-(* *)
-(* *)
-(******************************************************************************)
-
-let deactivate_hints_from annotation_window n =
- let annotation_hints = annotation_window#annotation_hints in
- for i = n to Array.length annotation_hints - 1 do
- annotation_hints.(i)#misc#hide ()
- done
-;;
-
-(* CSC: orripilante *)
-(* the list of the signal ids *)
-let sig_ids = ref ([] : GtkSignal.id list);;
-
-let disconnect_hint annotation_window buttonno =
- match !sig_ids with
- id::ids ->
- annotation_window#annotation_hints.(buttonno)#misc#disconnect id ;
- sig_ids := ids
- | _ -> assert false
-;;
-
-(* link_hint annotation_window n label hint *)
-(* set the label of the nth hint button of annotation_window to label *)
-(* and the correspondent hint to hint *)
-let link_hint annotation_window buttonno label hint =
- let button = annotation_window#annotation_hints.(buttonno) in
- sig_ids :=
- (button#connect#clicked
- ~callback:(fun () -> (annotation_window#annotation : GEdit.text)#insert hint)
- ) :: !sig_ids ;
- button#misc#show () ;
- match button#children with
- [labelw] -> (GMisc.label_cast labelw)#set_text label
- | _ -> assert false
-;;
-
-exception TooManyHints;;
-
-let link_hints annotation_window a =
- if Array.length a > Array.length annotation_window#annotation_hints then
- raise TooManyHints ;
- for i = List.length !sig_ids - 1 downto 0 do
- disconnect_hint annotation_window i
- done ;
- Array.iteri
- (fun i (label,hint) -> link_hint annotation_window i label hint) a ;
- deactivate_hints_from annotation_window (Array.length a)
-;;
-
-let list_mapi f =
- let rec aux n =
- function
- [] -> []
- | he::tl -> (f n he)::(aux (n + 1) tl)
- in
- aux 0
-;;
-
-let get_id annterm =
- let module C = Cic in
- match annterm with
- C.ARel (id,_,_)
- | C.AVar (id,_)
- | C.AMeta (id,_,_)
- | C.ASort (id,_)
- | C.AImplicit id
- | C.ACast (id,_,_)
- | C.AProd (id,_,_,_)
- | C.ALambda (id,_,_,_)
- | C.ALetIn (id,_,_,_)
- | C.AAppl (id,_)
- | C.AConst (id,_,_)
- | C.AMutInd (id,_,_,_)
- | C.AMutConstruct (id,_,_,_,_)
- | C.AMutCase (id,_,_,_,_,_,_)
- | C.AFix (id,_,_)
- | C.ACoFix (id,_,_) -> id
-;;
-
-let create_hint_from_term annotation_window annterm =
- let module C = Cic in
- match annterm with
- C.ARel (id,_,_) ->
- link_hints annotation_window
- [| "Binder", "" |]
- | C.AVar (id,_) ->
- link_hints annotation_window
- [| "relURI???", "" |]
- | C.AMeta (id,_,subst) ->
- let res =
- Array.append
- [| "Number", "" |]
- (Array.mapi
- (fun i s ->
- match s with
- None ->
- "Argument " ^ string_of_int i, "_"
- | Some t ->
- "Argument " ^ string_of_int i, ""
- ) (Array.of_list subst)
- )
- in
- link_hints annotation_window res
- | C.ASort (id,_) ->
- link_hints annotation_window
- [| "Value", "" |]
- | C.AImplicit id ->
- link_hints annotation_window [| |]
- | C.ACast (id,bo,ty) ->
- let boid = get_id bo
- and tyid = get_id ty in
- link_hints annotation_window
- [| "Body", "" ;
- "Type", ""
- |]
- | C.AProd (id,_,ty,bo) ->
- let boid = get_id bo
- and tyid = get_id ty in
- link_hints annotation_window
- [| "Binder",
- "" ;
- "Body", "" ;
- "Type", ""
- |]
- | C.ALambda (id,_,ty,bo) ->
- let boid = get_id bo
- and tyid = get_id ty in
- link_hints annotation_window
- [| "Binder",
- "" ;
- "Body", "" ;
- "Type", ""
- |]
- | C.ALetIn (id,_,ty,bo) ->
- let boid = get_id bo
- and tyid = get_id ty in
- link_hints annotation_window
- [| "Binder",
- "" ;
- "Term", "" ;
- "Target", ""
- |]
- | C.AAppl (id,args) ->
- let argsid =
- Array.mapi
- (fun i te -> "Argument " ^ string_of_int i, "")
- (Array.of_list args)
- in
- link_hints annotation_window argsid
- | C.AConst (id,_,_) ->
- link_hints annotation_window
- [| "Uri???", "" |]
- | C.AMutInd (id,_,_,_) ->
- link_hints annotation_window
- [| "Uri???", "" |]
- | C.AMutConstruct (id,_,_,_,_) ->
- link_hints annotation_window
- [| "Uri???", "" |]
- | C.AMutCase (id,_,_,_,outty,te,pl) ->
- let outtyid = get_id outty
- and teid = get_id te
- and plid =
- Array.mapi
- (fun i te -> "Pattern " ^ string_of_int i, "")
- (Array.of_list pl)
- in
- link_hints annotation_window
- (Array.append
- [| "Uri???", "" ;
- "Case Type", "" ;
- "Term", "" ;
- |]
- plid)
- | C.AFix (id,_,funl) ->
- let funtylid =
- Array.mapi
- (fun i (_,_,ty,_) ->
- "Type " ^ string_of_int i, "")
- (Array.of_list funl)
- and funbolid =
- Array.mapi
- (fun i (_,_,_,bo) ->
- "Body " ^ string_of_int i, "")
- (Array.of_list funl)
- and funnamel =
- Array.mapi
- (fun i (_,_,_,_) ->
- "Name " ^ string_of_int i, "")
- (Array.of_list funl)
- and funrecindexl =
- Array.mapi
- (fun i (_,_,_,_) ->
- "Recursive Index??? " ^ string_of_int i, "")
- (Array.of_list funl)
- in
- link_hints annotation_window
- (Array.concat
- [ funtylid ;
- funbolid ;
- funnamel ;
- funrecindexl ;
- [| "NoFun???", "" |]
- ]
- )
- | C.ACoFix (id,_,funl) ->
- let funtylid =
- Array.mapi
- (fun i (_,ty,_) ->
- "Type " ^ string_of_int i, "")
- (Array.of_list funl)
- and funbolid =
- Array.mapi
- (fun i (_,_,bo) ->
- "Body " ^ string_of_int i, "")
- (Array.of_list funl)
- and funnamel =
- Array.mapi
- (fun i (_,_,_) ->
- "Name " ^ string_of_int i, "")
- (Array.of_list funl)
- in
- link_hints annotation_window
- (Array.concat
- [ funtylid ;
- funbolid ;
- funnamel ;
- [| "NoFun???", "" |]
- ]
- )
-;;
-
-(*CSC: da riscrivere completamente eliminando il paciugo degli array - liste *)
-let create_hint_from_obj annotation_window annobj =
- let module C = Cic in
- match annobj with
- C.ADefinition (id,_,bo,ty,_) ->
- let boid = get_id bo
- and tyid = get_id ty in
- link_hints annotation_window
- [| "Name", "" ;
- "Ingredients", "" ;
- "Body", "" ;
- "Type", ""
- |]
- | C.AAxiom (id,_,ty,_) ->
- let tyid = get_id ty in
- link_hints annotation_window
- [| "Name", "" ;
- "Ingredients", "" ;
- "Type", ""
- |]
- | C.AVariable (id,_,bo,ty) ->
- let tyid = get_id ty in
- link_hints annotation_window
- (match bo with
- None ->
- [| "Name", "" ;
- "Type", ""
- |]
- | Some bo ->
- let boid = get_id bo in
- [| "Name", "" ;
- "Body", "" ;
- "Type", ""
- |]
- )
- | C.ACurrentProof (id,_,conjs,bo,ty) ->
- let boid = get_id bo
- and tyid = get_id ty
- and conjsid = List.map (fun (id,_,_,_) -> id) conjs in
- link_hints annotation_window
-(*CSC: never tested since the introduction of the new Metas *)
- (Array.append
- [| "Name", "" ;
- "Ingredients", "" ;
- "Body", "" ;
- "Type", ""
- |]
- (Array.mapi
- (fun i id ->
- "Conjecture " ^ string_of_int i, ""
- ) (Array.of_list conjsid)
- )
- )
- | C.AInductiveDefinition (id,itl,_,_) ->
- let itlids =
- List.map
- (fun (_,_,arity,cons) ->
- get_id arity,
- List.map (fun (_,ty,_) -> get_id ty) cons
- ) itl
- in
- link_hints annotation_window
- (Array.concat
- [
- [| "Ingredients","" |];
- (Array.mapi
- (fun i _ ->
- "Type Name " ^ string_of_int i,
- ""
- ) (Array.of_list itlids)
- ) ;
- (Array.mapi
- (fun i (id,_) ->
- "Type " ^ string_of_int i, ""
- ) (Array.of_list itlids)
- ) ;
- (Array.concat
- (list_mapi
- (fun i (_,consid) ->
- (Array.mapi
- (fun j _ ->
- "Constructor Name " ^ string_of_int i ^ " " ^ string_of_int j,
- ""
- ) (Array.of_list consid)
- ) ;
- ) itlids
- )
- ) ;
- (Array.concat
- (list_mapi
- (fun i (_,consid) ->
- (Array.mapi
- (fun j id ->
- "Constructor " ^ string_of_int i ^ " " ^ string_of_int j,
- ""
- ) (Array.of_list consid)
- ) ;
- ) itlids
- )
- )
- ]
- )
-;;
-
-exception IdUnknown of string;;
-
-let create_hints annotation_window ids_to_targets xpath =
- try
- match Hashtbl.find ids_to_targets xpath with
- Cic.Object annobj -> create_hint_from_obj annotation_window annobj
- | Cic.Term annterm -> create_hint_from_term annotation_window annterm
-(*CSC: never tested since the introduction of the new Metas *)
- | Cic.Hypothesis _
- | Cic.Conjecture _ -> assert false
- with
- Not_found -> raise (IdUnknown xpath)
-;;
diff --git a/helm/annotationHelper/cicAnnotationHinter.mli b/helm/annotationHelper/cicAnnotationHinter.mli
deleted file mode 100644
index 8cfc04c22..000000000
--- a/helm/annotationHelper/cicAnnotationHinter.mli
+++ /dev/null
@@ -1,46 +0,0 @@
-(* Copyright (C) 2000, HELM Team.
- *
- * This file is part of HELM, an Hypertextual, Electronic
- * Library of Mathematics, developed at the Computer Science
- * Department, University of Bologna, Italy.
- *
- * HELM is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * HELM is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HELM; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- * MA 02111-1307, USA.
- *
- * For details, see the HELM World-Wide-Web page,
- * http://cs.unibo.it/helm/.
- *)
-
-(******************************************************************************)
-(* *)
-(* PROJECT HELM *)
-(* *)
-(* Claudio Sacerdoti Coen *)
-(* 29/11/2000 *)
-(* *)
-(* *)
-(******************************************************************************)
-
-val create_hints :
- < annotation : GEdit.text;
- annotation_hints : < children : < as_widget : 'a Gtk.obj; .. > list;
- connect : < clicked : callback:(unit -> unit) -> GtkSignal.id;
- .. >;
- misc : < disconnect : GtkSignal.id -> 'b;
- hide : unit -> 'c; show : unit -> 'd; .. >;
- .. >
- array;
- .. > ->
- (Cic.id, Cic.anntarget) Hashtbl.t -> string -> unit
diff --git a/helm/cgi/mkcontrol.pl b/helm/cgi/mkcontrol.pl
deleted file mode 100755
index e314aa778..000000000
--- a/helm/cgi/mkcontrol.pl
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/usr/bin/perl
-
-# First of all, let's load HELM configuration
-use Env;
-my $HELM_LIB_DIR = $ENV{"HELM_LIB_DIR"};
-# this should be the only fixed constant
-my $DEFAULT_HELM_LIB_DIR = "/projects/helm/on-line/local/lib/helm";
-if (defined ($HELM_LIB_DIR)) {
- $HELM_LIB_PATH = $HELM_LIB_DIR."/configuration.pl";
-} else {
- $HELM_LIB_PATH = $DEFAULT_HELM_LIB_DIR."/configuration.pl";
-}
-
-# next require defines: $helm_dir, $html_link, $dtd_dir, $uris_dbm
-require $HELM_LIB_PATH;
-
-use CGI;
-
-$cgi = new CGI($ENV{"REQUEST_URL"});
-$mode = $cgi->param('mode');
-$cicuri = $cgi->param('cicuri');
-$theoryuri = $cgi->param('theoryuri');
-$topurl = $cgi->param('topurl');
-$processorURL = $cgi->param('processorURL');
-$getterURL = $cgi->param('getterURL');
-($mode1,$mode2,$mode3,$mode4,$mode5) = split(/,/, $mode);
-$natural = "checked" if ($mode4 eq "yes");
-$annotations = "checked" if ($mode5 eq "yes");
-if ($mode1 eq "raw") {
- $format_raw = "selected";
-} else {
- $format_processed = "selected";
-}
-
-print <
-
-
-Control panel
-
-
-
-
-
-
-EOT
diff --git a/helm/cgi/mkheader.pl b/helm/cgi/mkheader.pl
deleted file mode 100755
index b3db1cfa3..000000000
--- a/helm/cgi/mkheader.pl
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/perl
-
-# First of all, let's load HELM configuration
-use Env;
-my $HELM_LIB_DIR = $ENV{"HELM_LIB_DIR"};
-# this should be the only fixed constant
-my $DEFAULT_HELM_LIB_DIR = "/projects/helm/on-line/local/lib/helm";
-if (defined ($HELM_LIB_DIR)) {
- $HELM_LIB_PATH = $HELM_LIB_DIR."/configuration.pl";
-} else {
- $HELM_LIB_PATH = $DEFAULT_HELM_LIB_DIR."/configuration.pl";
-}
-
-# next require defines: $helm_dir, $html_link, $dtd_dir, $uris_dbm
-require $HELM_LIB_PATH;
-
-use CGI;
-
-$cgi = new CGI($ENV{"REQUEST_URL"});
-$uri = $cgi->param('uri');
-
-print <
-
-
-Control panel
-
-
-
-
-
-
- Index of $uri
-
-
-
-
-
-
-EOT
diff --git a/helm/cgi/mkindex.pl b/helm/cgi/mkindex.pl
deleted file mode 100755
index 955d6d8b0..000000000
--- a/helm/cgi/mkindex.pl
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/perl
-
-# First of all, let's load HELM configuration
-use Env;
-my $HELM_LIB_DIR = $ENV{"HELM_LIB_DIR"};
-# this should be the only fixed constant
-my $DEFAULT_HELM_LIB_DIR = "/projects/helm/on-line/local/lib/helm";
-if (defined ($HELM_LIB_DIR)) {
- $HELM_LIB_PATH = $HELM_LIB_DIR."/configuration.pl";
-} else {
- $HELM_LIB_PATH = $DEFAULT_HELM_LIB_DIR."/configuration.pl";
-}
-
-# next require defines: $helm_dir, $html_link, $dtd_dir, $uris_dbm
-require $HELM_LIB_PATH;
-
-#use URI::Escape;
-use CGI;
-
-$cgi = new CGI($ENV{"REQUEST_URL"});
-
-$mode = $cgi->param('mode');
-$cicuri = $cgi->param('cicuri');
-$theoryuri = $cgi->param('theoryuri');
-$processorURL = $cgi->param('processorURL');
-$getterURL = $cgi->param('getterURL');
-$topurl = $cgi->url();
-
-print <
-
-
- Index of $cicuri and $theoryuri
-
-
-
-EOT
diff --git a/helm/cgi/mkindexcic.pl b/helm/cgi/mkindexcic.pl
deleted file mode 100755
index a31f5ecfb..000000000
--- a/helm/cgi/mkindexcic.pl
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/usr/bin/perl
-
-# First of all, let's load HELM configuration
-use Env;
-my $HELM_LIB_DIR = $ENV{"HELM_LIB_DIR"};
-# this should be the only fixed constant
-my $DEFAULT_HELM_LIB_DIR = "/projects/helm/on-line/local/lib/helm";
-if (defined ($HELM_LIB_DIR)) {
- $HELM_LIB_PATH = $HELM_LIB_DIR."/configuration.pl";
-} else {
- $HELM_LIB_PATH = $DEFAULT_HELM_LIB_DIR."/configuration.pl";
-}
-
-# next require defines: $helm_dir, $html_link, $dtd_dir, $uris_dbm
-require $HELM_LIB_PATH;
-
-use URI::Escape;
-use LWP::UserAgent;
-use CGI;
-
-my $cgi = new CGI($ENV{"REQUEST_URL"});
-$uri = $cgi->param('cicuri');
-$getterURL = $cgi->param('getterURL');
-$uri =~ s/(.*)\/$/$1/; # Remove a final slash if present
-$uri .= "/"; # Put a final slash
-$myurl = $cgi->url();
-
-$cont = ""; # modified by side-effect by &callback
-my $ua = LWP::UserAgent->new;
-my $request = HTTP::Request->new(GET => $getterURL."ls?format=txt&baseuri=".$uri);
-my $response = $ua->request($request, \&callback);
-
-@filenames = split(/\n/, $cont);
-
-my $uridotdot = $uri;
-$uridotdot =~ s/(.*)\/.+/$1/;
-if ($uri ne "cic:/") {
- # Let's print the link to the parent directory
- $output = <
-