source: git/MP/README @ e9e86a

spielwiese
Last change on this file since e9e86a was e9e86a, checked in by Hans Schönemann <hannes@…>, 15 years ago
*hannes: COPYING stuff git-svn-id: file:///usr/local/Singular/svn/trunk@11533 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 9.9 KB
Line 
1                   MP version 1.1.2:  Multi Protocol
2                   Kent State University, Kent, OH
3                Authors:  S. Gray, N. Kajler, P. Wang
4         (C) 1993, 1994, 1995, 1996, 1997 All Rights Reserved
5
6                              NOTICE
7
8Permission to use, copy, modify, and distribute this software and
9its documentation for non-commercial purposes and without fee is
10hereby granted provided that the above copyright notice appear in all
11copies and that both the copyright notice and this permission notice
12appear in supporting documentation.
13
14Neither Kent State University nor the Authors make any representations
15about the suitability of this software for any purpose.  This software
16is provided ``as is'' without express or implied warranty.
17
18MP 1.1.2 is available through public FTP at ftp.mcs.kent.edu in the
19directory /dist/MP/MP-1.1.2.tar.gz.  New MP developments and releases
20are announced from time to time on SymbolicNet :
21
22http://SymbolicNet.mcs.kent.edu/areas/protocols/mp.html
23
24
25What is the Multi Protocol?
26--------------------------
27
28The Multi Protocol (MP) is designed for exploring issues in
29integrating symbolic, numeric, graphics, document processing, and
30other software tools for scientific computation within different
31computing paradigms (e.g., point to point, distributed, parallel,
32software bus).
33
34All data is transmitted in the form of linearized annotated syntax
35trees.  Interior nodes of a syntax tree are operators, while leaves
36are non-operator basic types or an operator with no children.  Each
37node of the tree is sent individually in a node packet.  Each node of
38the tree (node packet) may have 0 or more annotations attached to it.
39Annotations are transmitted individually as annotation packets and
40immediately follow the node to which they are attached.
41
42To support this experimentation, MP was implemented in a layered
43fashion and is independent of the transport mechanism used to transmit
44the data.  Device interfaces are available for files, TCP sockets, and
45PVM).
46
47
48Table of contents of distribution
49---------------------------------
50
51        README          This file
52        INSTALL         Instructions on how to install MP
53        MP/             Sources for the MP library
54        MPT/            Sources for the MP Tree library
55        Makefile.in     Template for the toplevel makefile
56        configure       Configuration program (shell script)
57        configure.in    Template for configure file
58        doc/            Documentation (Guide to MP Programming)
59        examples/       Other example programs
60        gmp/            Source for the GNU Multiple Precision package
61        mp-pvm3/        Files related to using PVM as a transport device
62        mpviewer/       Source for a simple program for viewing MP trees
63
64
65Installation
66------------
67
68The code is written in C and has been compiled and tested on the
69following platforms:
70
71 - SGI workstations running IRIX 5.2         (cc)
72 - Sun workstations running SunOS 4.x        (gcc)
73 - DECstation 5000 running Ultrix 4.2        (gcc)
74 - HP workstations running HP-UX A.09.05     (cc and gcc)
75 - IBM RS6000 workstations running AIX 3.2.5 (gcc)
76 - Intel 586 system running Linux 1.2.13     (gcc)
77 - Intel 586 system running Windows 95       (Borland C++ 5.0)
78
79For instructions on how to install MP, see the file INSTALL contained
80in this directory.
81
82 
83Compiling with libMP.a
84----------------------
85To compile a program, yourprog.c, you would do:
86
87gcc -LLIB_DIR -IINCLUDE_DIR yourprog.c -lMP -lgmp -o yourprog
88
89Where LIB_DIR is the directory in which libMP.a and libgmp.a have been
90installed and INCLUDE_DIR is the include directory of the MP
91distribution.  The GMP include files used by MP are also kept there.
92
93NOTE: You may have additional libraries to list and may have to change
94their order to have the linker accept them.
95
96
97Reporting Results
98-----------------
99As the library and the protocol are still experimental, we would
100greatly appreciate learning of your experiences: how you have used the
101library, what you found worthwhile, what you had to change, any bugs
102(!) you found. 
103
104Please send bug reports or fixes, inquiries, and experiences to
105
106    mp@mcs.kent.edu.
107
108If you use MP as part of significant project and/or publish a result
109that was partly obtained using MP, please cite MP.  We would greatly
110appreciate it if you could inform us about such a project or paper.
111Thank you.
112
113
114#######################################################################
115# Remarks for Borland C++ users from Eckhard Hennig hennig@rhrk.uni-kl.de
116#######################################################################
117
118I know I should have provided a MAKE file here but the ones
119automatically generated by the IDE make things look even worse. So
120follow these steps to compile the MP library on your Windows95/NT
121system:
122
1231. Make a new project named mpwin32 with link target mpwin32.lib
124   (Target type static library (for *.exe), Environment Win32,
125   Target model GUI or Console)
126
1272. In the project window, include all MP_*.c files (except for
128   MP_BigNum, MP_TbTransp, MP_PvmTransp, and MP_SacBigInt) under your
129   link target mpwin32.lib
130
1313. Under "Options | Project | Compiler | Definitions" set these compiler
132   definitions:
133   __STDC__=1;_IEEE
134
1354. If you wish to include GMP then define HAVE_GMP, too, and include
136   MP_BigNum.c in your project (I haven't included the GMP library
137   yet, so I don't know if this works.)
138
1395. Make sure that the compiler source code type is set to Borland
140   extensions AND NOT ANSI C!!! Why? Because some Borland header files
141   use C++ style double-slash comments (aaargh!) which won't compile
142   with the ANSI setting. This also explains why the definition
143   __STDC__=1 above is necessary: The library should be compiled in
144   ANSI C mode but BCC doesn't define __STDC__ if the Borland language
145   extension are selected.
146
1476. Now try to compile the MP library. (Write to hennig@rhrk.uni-kl.de
148   if this doesn't work.)
149
1507. For using MP with TCP in a Win32 environment see the remarks below.
151
152
153#######################################################################
154# Remarks concerning the Windows95/NT port of the TCP transport device
155# (E. Hennig)
156#######################################################################
157
158The TCP transport device has been ported for use with the WinSock32
159DLL with the only restriction that -MPmode launch will only work on the
160local machine, i.e. -MPhost localhost.
161
162If TCP is to be used as transport mechanism in a Windows program
163which uses MP it is absolutely necessary to call the function
164
165int WinSockInitialize(void);
166
167(declared in MP_TcpTransp.h, automatically included with MP.h) before
168making any calls to MP library functions. WinSockInitialize returns zero
169if everything is OK, and a value other than zero if the initialization
170has failed. Failure may result from a missing or outdated WinSock DLL.
171In the case of failure the program should abort and must not attempt to
172make any calls to MP library functions.
173
174Before exiting the Windows program, WSACleanup() must be called to free
175the WinSock resources allocated for the Windows MP application. Such an
176application would therefore typically have a main() function such as
177this:
178
179
180#include "MP.h"
181
182main(int argc, char **argv)
183{
184  int WinSockError;
185
186  WinSockError = WinSockInitialize(); /* Install WinSock DLL */
187  if (WinSockError != 0)
188    exit(-1);
189
190  /*
191   * ... your own code ...
192   *
193   */
194
195  WSACleanup(); /* Clean up WinSock resources */
196
197  return 0;
198}
199
200
201
202
203Acknowledgements
204----------------
205
206MP has received support through the years from a number of sources,
207including ARO, NSF, and ICM/Kent.
208
209The authors wish to thank:
210
211o Ch'ng Shi Baw for his work implementing the new buffering layer and
212  in preparing the initial interface to PVM3.
213o Eckhard Hennig and Marcus Thiessel for the port to Windows 95/NT and
214  numerous fixes and improvements. 
215o Olaf Bachmann for the MPT code, the improved configure code, and
216  numerous fixes and improvements.
217o Olaf Bachmann, Thomas Metzner, Hannes Schoenemann, Andi Sorgatz for
218  MP_PariBigInt.c.
219
220The package makes use of copyrighted material from Sun's XDR and GNU's
221Multiple Precision package. 
222
223--------------------------------------------------------------------------
224
225                               *NOTICE*
226
227Important addition to the COPYING:
228
229As of September 2006, MP is also licensed under GPL:
230
231From: Simon Gray <SGRAY@wooster.edu>
232Date: 07-Sep-2006 07:43
233Subject: Re: License for MP
234To: "Paul S. Wang" <pwang@cs.kent.edu>, Jordi Gutierrez Hermoso
235<jordigh@gmail.com>
236Cc: kajler@paris.ensmp.fr
237
238
239Agreed. Nice to hear this combination is still being used.
240
241
242Simon Gray, PhD
243Department of Mathematics and Computer Science
244College of Wooster
245
246
247---------- Forwarded message ----------
248From: Norbert Kajler <Norbert.Kajler@ensmp.fr>
249Date: 07-Sep-2006 07:35
250Subject: Re: License for MP
251To: Jordi Gutierrez Hermoso <jordigh@gmail.com>
252Cc: sgray@mcs.kent.edu, pwang@cs.kent.edu
253
254
255Dear Jordi, Paul, Simon,
256
257I have no objection either, and agrees with whatever Paul decides.
258
259BTW, I just attended a lecture by Richard Stallman yesterday.  I know next
260to nothing about DRM and software licenses but after listening Richard,
261my understanding is that a "free" program (in terms of GNU philosophy)
262is indeed a program that includes some kind of viral licence (so that
263programs derived from a "free" program must remain 100% "free", and so on).
264
265Therefore I am confused with the following sentences :
266
267 > The specific problem is that you do not allow modifications of your code fo
268r
269 > commercial purposes, which according to the DFSG, makes your code
270 > non-free.
271
272Not that I insist on any kind of license, but it looks like I missed
273something :-)
274
275Regards,
276-- Norbert
277
278
279
280---------- Forwarded message ----------
281From: Paul S. Wang <pwang@cs.kent.edu>
282Date: 06-Sep-2006 16:22
283Subject: Re: License for MP
284To: Jordi Gutierrez Hermoso <jordigh@gmail.com>
285Cc: kajler@paris.ensmp.fr, sgray@wooster.edu
286
287
288Jordi,
289
290I am agreeable to any reasonable license including GLP.
291
292I am forwarding the msg to Simon and Norbert to see what
293they say.
294
295Paul
296
Note: See TracBrowser for help on using the repository browser.