157 lines
3.2 KiB
Text
157 lines
3.2 KiB
Text
*********************************
|
|
* EQL5 is a Qt5 port of EQL/Qt4 *
|
|
*********************************
|
|
|
|
# contact: gmail, polos.ruetz
|
|
# mailing list: http://groups.google.com/group/eql-user/topics
|
|
#
|
|
# MANY THANKS to the users of the eql-user mailing list for their contributions!
|
|
|
|
|
|
|
|
TESTED WITH
|
|
===========
|
|
|
|
* ECL 16
|
|
* Qt 5.5
|
|
* Linux
|
|
|
|
|
|
|
|
REQUIREMENTS
|
|
============
|
|
|
|
* ECL threads + unicode
|
|
* Qt5
|
|
* /should/ run cross-platform
|
|
|
|
|
|
|
|
BUILD
|
|
=====
|
|
|
|
(N.B. for rebuilding, please see README-REBUILD.txt)
|
|
|
|
[Windows]
|
|
You first need to adapt the file src/windows.pri (include & library paths).
|
|
|
|
[MSVC]
|
|
substitute make with nmake
|
|
|
|
[OSX]
|
|
To force creation of a Makefile (instead of an Xcode project), use this flag:
|
|
qmake -spec macx-g++
|
|
|
|
1) In src/ run:
|
|
|
|
ecl -shell make-eql-lib.lisp
|
|
|
|
2) Do: (use qmake-qt4 if you have Qt5 installed)
|
|
|
|
qmake eql_lib.pro
|
|
make
|
|
|
|
qmake eql_exe.pro
|
|
make
|
|
|
|
This will build both the EQL executable and shared library.
|
|
|
|
3) cd ..
|
|
|
|
[Linux]
|
|
You need to create links to EQL, something like (note the "5"):
|
|
cd /usr/lib
|
|
sudo ln -s ~/eql5/libeql5.so.1 libeql5.so.1
|
|
cd /usr/bin
|
|
sudo ln -s ~/eql5/eql5 eql5
|
|
|
|
[OSX]
|
|
You need to create links to EQL, something like (note the "5"):
|
|
cd /usr/lib
|
|
sudo ln -s ~/eql5/libeql5.1.dylib libeql5.1.dylib
|
|
cd /usr/bin
|
|
sudo ln -s ~/eql5/eql5.app/Contents/MacOS/eql5 eql5
|
|
|
|
[Windows]
|
|
Add your EQL directory to the Path environment variable, see:
|
|
<Control Panel:System:Advanced:Environment Variables>
|
|
|
|
|
|
|
|
RUN
|
|
===
|
|
|
|
PLEASE NOTE:
|
|
You will often need to "reset" (command) your console/shell after EQL finished
|
|
working, especially during development time or other exits than "(eql:qquit)".
|
|
|
|
|
|
You can run a simple interactive REPL UI doing:
|
|
eql5 -qgui
|
|
|
|
To run a Lisp file without top-level, do:
|
|
eql5 examples/2-clock
|
|
|
|
(If you don't see the application window, it might be in the background.
|
|
Use your taskbar to show it.)
|
|
|
|
If you start the EQL executable without arguments, it will start the usual ECL top-level
|
|
(without processing Qt events).
|
|
|
|
To _not_ load ~/.eclrc on startup, do:
|
|
eql5 -norc
|
|
|
|
To quit the tool, do:
|
|
(eql:qquit) or
|
|
(eql:qq)
|
|
|
|
In order to run (sort of) a top-level processing Qt events, do (requires ECL threads):
|
|
eql5 -qtpl
|
|
|
|
Note: If you want to use "ecl-readline" together with "-qtpl", just compile
|
|
"eql5/src/lisp/ecl-readline.lisp" (which depends on the "readline" C library).
|
|
It will then be loaded automatically on startup.
|
|
|
|
|
|
|
|
QT MODULES (network, sql, opengl)
|
|
==========
|
|
|
|
To build an EQL module (corresponding to a Qt module), do the following in src/:
|
|
|
|
qmake module_<name>.pro (e.g. qmake module_network.pro)
|
|
make
|
|
|
|
[Linux,OSX]
|
|
You need to create links to the modules, see EQL library above.
|
|
|
|
In Lisp, use the function QREQUIRE to load a module:
|
|
(qrequire :network)
|
|
|
|
|
|
|
|
TIP
|
|
===
|
|
|
|
You might want to put this in your ~/.eclrc file:
|
|
|
|
#+eql
|
|
(setf eql:*qtpl* t ; same as -qtpl
|
|
eql:*break-on-errors* t)
|
|
|
|
|
|
|
|
NOTES
|
|
=====
|
|
|
|
For additional information see doc/index.html.
|
|
|
|
|
|
|
|
LICENSE
|
|
=======
|
|
|
|
MIT
|
|
|
|
for MAKE-QIMAGE (contributed by Mark Cox), please see LICENSE-MAKE-QIMAGE.txt
|
|
|