auto cast QEvent to specific class in QADD-EVENT-FILTER and QT-OBJECT-?
[eql:eql.git] / README.txt
1 # contact: gmail, polos.ruetz
2 # mailing list: http://groups.google.com/group/eql-user/topics
3 #
4 # MANY THANKS to the users of the eql-user mailing list for their contributions!
5
6
7
8 TESTED WITH
9 ===========
10
11 * ECL 11.1.1 / 12.7.1 / 12.12.1 / 13.5.1 (all: threads + unicode)
12 * Qt 4.6 (not recommended), 4.7, 4.8
13 * Linux / OSX 10.4 / Windows XP, 7 (MSVC 2008, 2010)
14
15
16
17 REQUIREMENTS
18 ============
19
20 * ECL >= 11.1.1 threads + unicode
21 * Qt4 >= 4.6 http://qt-project.org/downloads
22          (Qt5 is currently not planned to be supported in the near future)
23
24 * Slime: any version that plays together with your ECL version (requires ECL threads)
25          (on Windows you'll need ECL >= 12.12.1 / git >= 2012-09-01)
26
27
28
29 BUILD (see also: "Windows Easy Guide" in doc/)
30 =====
31
32 (N.B. for rebuilding, please see README-REBUILD.txt)
33
34   [Windows]
35     You first need to adapt the file src/windows.pri (include & library paths).
36     
37   [MSVC]
38     substitute make with nmake
39
40   [OSX]
41     To force creation of a Makefile (instead of an Xcode project), use this flag:
42         qmake -spec macx-g++
43
44 1) In src/ run:
45
46     ecl -shell make-eql-lib.lisp
47
48 2) Do:
49
50     qmake eql_lib.pro
51     make
52
53     qmake eql_exe.pro
54     make
55
56    This will build both the EQL executable and shared library.
57
58 3) cd ..
59
60   [Linux]
61     You need to create links to EQL, something like:
62         cd /usr/lib
63         sudo ln -s ~/eql/libeql.so.1 libeql.so.1
64         cd /usr/bin
65         sudo ln -s ~/eql/eql eql
66
67   [OSX]
68     You need to create links to EQL, something like:
69         cd /usr/lib
70         sudo ln -s ~/eql/libeql.1.dylib libeql.1.dylib
71         cd /usr/bin
72         sudo ln -s ~/eql/eql.app/Contents/MacOS/eql eql
73         
74   [Windows]
75     Add your EQL directory to the Path environment variable, see:
76     <Control Panel:System:Advanced:Environment Variables>
77
78
79
80 RUN
81 ===
82
83 You can run a simple interactive REPL UI doing:
84     eql -qgui
85
86 To run a Lisp file without top-level, do:
87     eql examples/2-clock
88
89 (If you don't see the application window, it might be in the background.
90 Use your taskbar to show it.)
91
92 If you start the EQL executable without arguments, it will start the usual ECL top-level
93 (without processing Qt events).
94
95 To quit the tool, do:
96     (eql:qquit) or
97     (eql:qq)
98
99 In order to run (sort of) a top-level processing Qt events, do (requires ECL threads):
100   eql -qtpl
101
102   Note: If you want to use "ecl-readline" together with "-qtpl", just compile
103         "eql/src/lisp/ecl-readline.lisp" (which depends on the "readline" C library).
104         It will then be loaded automatically on startup.
105
106
107
108 QT MODULES
109 ==========
110
111 To build an EQL module (corresponding to a Qt module), do the following in src/:
112
113     qmake module_<name>.pro (e.g. qmake module_network.pro)
114     make
115
116   [Linux,OSX]
117     You need to create links to the modules, see EQL library above.
118
119 In Lisp, use the function QREQUIRE to load a module:
120     (qrequire :network)
121
122
123
124 NOTES
125 =====
126
127 For additional information see doc/index.html.
128
129
130
131 LICENSE
132 =======
133
134 LGPL
135
136 for MAKE-QIMAGE (contributed by Mark Cox), please see LICENSE-MAKE-QIMAGE.txt
137