1----------------------------------------------
2ECLiPSe - Constraint Logic Programming System
3----------------------------------------------
4
5-----------------------------------------------------------------------------
6ECLiPSe on Windows (see README_UNIX for UNIX/Linux, README_MACOSX for MacOSX)
7-----------------------------------------------------------------------------
8
9*** These instructions are for installing a binary distribution!
10*** If you want to compile from source, see the file INSTALL,
11*** and document/internal/SetupGuide.pdf for more detailed help. 
12
13ECLiPSe for Windows should be run on Windows XP/Vista/7 or newer;
14earlier versions may have restricted functionality.
15
16For 32-bit Windows use the "i386_nt" distribution of ECLiPSe.
17For 64-bit Windows use the "x86_64_nt" distribution of ECLiPSe.
18
19
20--------------------------------------
21Using the Windows Installer
22--------------------------------------
23
24For the most common Windows install configurations, use the ECLiPSe
25Windows Installer. To do so, download and execute the single file
26
27	ECLiPSe<Version>_<Build>.exe
28
29Run this installer program as a user with "administrator" rights.
30
31The installer contains the ECLiPSe kernel, basic libraries,
32and the following optional packages:
33
34- Documentation (html, txt, pdf)
35- An interface to COIN-OR's open source solvers CLP and CBC
36- An interface to a version of Dash Optimization's XPRESS-MP solver
37- 3rd party libraries
38- A bundled standalone distribution of GraphViz
39  (to support the visualisation tools)
40- A bundled (but not standalone) distribution of Tcl/Tk
41  (to support the TkECLiPSE GUI)
42
43For installation, double click on ECLiPSe<Version>_<Build>.exe and
44the install wizard will guide you through the installation.
45
46Then try to launch tkeclipse via the Start menu, or look at the
47documentation, e.g. the tutorial.
48
49
50---------------------------------------------------
51Alternative: Manual Installation from .tgz Packages
52---------------------------------------------------
53
54You may want to use this method if you want to install ECLiPSe in a
55non-standard location.
56
57You need to get the following files for the "i386_nt" or the "x86_64_nt"
58architecture. These are tar-files compressed with gzip.  Note that
59these .tgz Packages for Windows may not be available for download via
60SourceForge, but they are available from the www.eclipseclp.org site.
61
62Base:
63    README_WIN.TXT		The file you are reading now
64    eclipse_basic.tgz        	Kernel and basic libraries
65    eclipse_doc.tgz		Documentation (html,txt,man,pdf)
66
67Optional:
68    eclipse_misc.tgz		Free/3rd party libraries
69    if_osiclpcbc.tgz            Interface to COIN-OR's open source solvers 
70                                CLP and CBC
71
72Support:
73    tcltk.tgz			A matching Tcl/Tk release (8.5)
74    				(you may have that already).
75				Needed for the tkeclipse development GUI.
76    editors_eclipse_support.tgz Support for various editors for editing
77                                ECLiPSe code.  
78
79These other files are only needed under special circumstances:
80    eclipse_rt.tgz		Runtime only (subset of eclipse_basic.tgz)
81    if_xpressXY.tgz		Interface to XPRESS-MP version XY
82
83You can make installations (with reduced functionality) from subsets of
84these files. The minimum you always need is either eclipse_basic (for a
85development system) or eclipse_rt (for embedded applications only).
86
87
88
89Manual Installation steps
90
911.  Make a folder for ECLiPSe on your machine and move the
92    distribution files there.
93
94    In the following we will refer to this folder as <eclipsedir>. 
95    Note that you can have different versions of ECLiPSe installed
96    at the same time (in different folders).
97
98    The ECLiPSe installation folder can also be shared between
99    machines even with different hardware/operating system
100    architectures, e.g. i386_nt and sparc_sunos5.  To do so, just
101    unpack the distributions for the different architectures in the
102    same installation directory.  All architecture-dependent files
103    will go in separate subdirectories.
104
105
1062.  Unpack the distribution files in this folder
107
108    You can use a tool like WinZip, GNU tar/gzip etc.
109    Beware of your download or unpacking tool trying to do clever
110    modifications of the file contents!  E.g. with WinZip be sure to
111    disable Options->Configurations->Smart Tarfile CR/LF Conversion.
112
113    After unpacking, you should have the ECLiPSe directory structure
114    inside the <eclipsedir> folder.
115
116    If you are on  Windows-9X (not NT/XP), you need to make sure you have
117    the 3 system DLLs WS2HELP.DLL, WS2_32.DLL (Winsock2) and MSVCRT.DLL.
118
119
1203.  Make a registry entry for ECLiPSe. You can do this by running
121    <eclipsedir>/ecl_inst.js
122
123    Alternatively, you can do this manually, by
124
125
126    - run regedit (Start->Run...->regedit)
127
128    - create the registry key
129      HKEY_LOCAL_MACHINE\SOFTWARE\IC-Parc\ECLiPSe\<version>
130      where <version> is e.g. 5.10
131
132    - create a "String Value" under this key, with name ECLIPSEDIR and
133      value <eclipsedir>, i.e. the folder where you have unpacked the
134      distribution, e.g. "C:\Program Files\ECLiPSe 5.10"
135
136    You should now be able to run the command line version of eclipse, i.e.
137
138	<eclipsedir>/lib/i386_nt/eclipse.exe
139
140
1414.  If you have a regular installation of Tcl/Tk, you can now also execute
142    the tkeclipse development environment by simply double-clicking on
143
144	<eclipsedir>/lib_tcl/tkeclipse.tcl
145
146    If, however, you have only unpacked the Tcl/Tk that is bundled with
147    ECLiPSe, then this will not work, since no bindings for the .tcl
148    extension have been defined.  You can still execute tkeclipse.tcl
149    (or the tcl examples) by either
150
151     - dragging them onto the wish-executable, which is
152	<eclipsedir>\tcltk\i386_nt\bin\wish<version>.exe
153
154     - by running the wish-executable with the .tcl script as its
155       command line argument, e.g.
156       <eclipsedir>\tcltk\i386_nt\bin\wish<version>.exe tkeclipse.tcl
157
158     - create a shortcut that invokes the wish-executable with the .tcl
159       script as its argument
160
161    where wish<version>.exe is the actual name of the wish application, e.g.
162    wish85.exe. See the debugdemo.ecl example for how to do this from ECLiPSe
163
164
1655.  Some ECLiPSe components, e.g. the Visualisation Tools, need Java.
166    In order for them to find the Java installation, you need to create
167    a further registry entry.  Under the the registry key
168      HKEY_LOCAL_MACHINE\SOFTWARE\IC-Parc\ECLiPSe\<version>
169    create a "String Value" with name JRE_HOME and set it to the folder
170    where the Java runtime environemnt is located, e.g.
171    C:\Program Files\Java\jre1.5.0
172
173
174
175----------------------------------------------
176General Topics
177----------------------------------------------
178
179Directory structure
180-------------------
181
182Directories in the binary distribution:
183
184    lib			supported libraries, object files, executables
185    lib_public		third party Prolog libraries
186    lib_tcl		tcl files for the graphical interface
187    include		include files for C/C++ interface
188    doc			online documentation, pdf files and example code
189    tcltk		the bundled Tcl/Tk distribution
190
191
192The important files are in <eclipsedir>\lib\i386_nt:
193
194    eclipse.exe		ECLiPSe standalone executable (needs eclipse.dll)
195    eclipse.dll		ECLiPSe linkable library
196    eclipse.lib		ECLiPSe linkable library stubs
197    eclipse.def		Export specification of the dll
198    eclipse.reg		Registry file for use with regedit
199
200To compile an application using the eclipse.dll you will need the
201include files in <eclipsedir>\include\i386_nt.
202
203The files related to the GUI version are in <eclipsedir>\lib_tcl:
204
205    tkeclipse.tcl	ECLiPSe development GUI (executable)
206    eclipse.tcl		eclipse package for Tcl/Tk-embedding
207    eclipse_tools.tcl	eclipse_tools package with support tools
208    example*.tcl	examples for using eclipse from Tcl/Tk
209
210Code for embedding into Visual Basic is in <eclipsedir>\doc\examples.
211
212
213
214Differences between UNIX and Windows versions of ECLiPSe
215--------------------------------------------------------
216
217Pathnames: Eclipse internally always works with platform independent
218path names using forward slashes, e.g.
219
220Windows pathname:	C:\Software\Eclipse
221ECLiPSe form:		//C/Software/Eclipse
222
223
224Documentation
225-------------
226
227The installation subdirectory <eclipsedir>/doc contains html and pdf
228versions of the user documentation. To read the html documentation,
229set your browser to e.g.
230
231    file:<eclipsedir>/doc/index.html
232
233
234The printable documentation is contained in the files:
235
236    tutorial.pdf	Tutorial
237
238    userman.pdf		Basic user manual
239
240    libman.pdf		Library user manual (constraints libraries)
241
242    embedding.pdf	Interfacing and embedding manual
243
244The Reference Manual (the detailed descriptions of the built-in
245predicates and all the libraries) is available exclusively in html
246format and via the help/1 predicate from within ECLiPSe.
247
248
249Installation hints for the 'eplex' library
250----------------------------------------------
251
252The ECLiPSe 'eplex' library is an interface to an external LP/MIP solver,
253which can be either a free COIN-OR solver (www.coin-or.org), or a
254commercial Xpress-MP or CPLEX solver.
255
256For the COIN-OR solvers, you do not need a licence to use them. For 
257Xpress-MP or CPLEX, you need to own a separate Xpress-MP or CPLEX licence
258to use the 'eplex' library with the corresponding solver. In this case, you
259need to download a version of 'eplex' that matches the version of the
260Xpress-MP licence that you have (although it may be possible to
261run an older version with a newer licence). For example, for Xpress-MP X.Y,
262you need the package if_xpressXY.tgz. You can install a mix of different
263versions by just unpacking multiple packages.
264
265Note that we no longer distribute the CPLEX solver for eplex in binary 
266form, as the CPLEX library is statically linked. You need to compile 
267ECLiPSe from source if you want to use CPLEX with the `eplex' library.
268
269To tell ECLiPSe which licence you have on which machine, add the
270necessary lines to the text file <eclipsedir>/lib/eplex_lic_info.ecl,
271according to the instructions provided there.  With this setup, you
272can load the eplex library from ECLiPSe by just invoking lib(eplex),
273and you will get the correct version for each machine.
274
275Academic licences for CPLEX are available from ILOG at
276    http://www.ilog.com/partners/academic/license.cfm
277Academic licences for XPRESS-MP are available from Dash Optimization at
278    http://www.dashoptimization.com/home/users/app.html
279
280
281Installation hints for the 'dbi' library
282-----------------------------------------
283
284The ECLiPSe 'dbi' library is an interface to an external
285database. Currently the MySQL database is supported. Because of licensing
286issues, we do not include the MySQL dynamic load library (libmysql.dll) in
287our binary distributions. You will need to obtain this library from
288MySQL AB:
289
290    http://dev.mysql.com/downloads
291
292When 'dbi' is loaded (for example by lib(dbi)), it will need to find and
293load this MySQL dynamic library. If it is in one of the standard system
294library paths, then the library can be loaded without further
295action. Otherwise, you can copy libmysql.dll file to where your ECLiPSe
296dynamic libraries are, i.e. <eclipsedir>/lib/i386_nt. 
297
298You need to be able to connect to a running MySQL server in order to use
299the library. This can be on your local machine, or on a remote machine
300reachable from your network.
301
302
303Graphics
304--------
305
306The Embedding Interface and the TkEclipse Development Environment
307require Tcl/Tk version 8.3 or later.
308This might already be installed on your machine, otherwise install
309it by executing tcl831.exe.
310
311Several visualisation features require Java. The recommended version
312is at least 1.4, but versions from 1.2 upwards should still work.
313
314
315Emacs ECLiPSe mode
316------------------
317
318If you use the GNU emacs editor, an ECLiPSe mode is now provided for it.
319It is not part of the ECLiPSe distribution, and you need to download it
320separately. **Version 20 (or later) of GNU emacs is required.** 
321This mode is based on the prolog mode by Umeda, and provides extensive 
322syntax colouring  for ECLiPSe-specific features. See http://www.gnu.org/ 
323if you need more information on GNU and its software. 
324
325In order to use this mode, add the following line to your .emacs file:
326
327(autoload 'eclipse-mode "<eclipsedir>/lib_public/eclipse.el" "ECLIPSE editing mode" t)
328
329where <eclipsedir> is the path to your ECLiPSe installation directory.
330
331You may also need to add these lines so that the .pl and .ecl extensions
332are recognised to be ECLiPSe programs:
333
334(setq auto-mode-alist (cons '("\\.pl" . eclipse-mode) auto-mode-alist))
335(setq auto-mode-alist (cons '("\\.ecl" . eclipse-mode) auto-mode-alist))
336
337The eclipse.el file needs to be placed somewhere where your emacs can find
338it.
339
340See the start of the eclipse.el file for some instructions on using this mode.
341
342
343Contact Addresses
344-----------------
345
346News about ECLiPSe are available from the following sources
347
348    http://www.eclipseclp.org
349
350    http://www.sourceforge.net/projects/eclipse-clp
351
352    comp.constraints    (via news server or e.g. groups.google.com)
353
354Via http://www.eclipseclp.org/mailinglist.html you can subscribe to
355one of the ECLiPSe mailing lists
356
357    eclipse-clp-announce@lists.sf.net	(release announcements)
358    eclipse-clp-users@lists.sf.net	(user discussion)
359
360Problem and bug reports can be submitted via the web site
361
362    http://www.eclipseclp.org/bugs.html
363
364Please take the time to report problems. Your feedback helps us to
365make ECLiPSe more reliable!
366
367