add 'eql5.pro' for simpler build process

This commit is contained in:
polos 2017-04-28 16:07:52 +02:00
parent 71bc1d3525
commit a7474cd78e
9 changed files with 62 additions and 56 deletions

1
.gitignore vendored
View file

@ -25,6 +25,7 @@ t.lisp
tr.h
moc_*.cpp
Makefile
Makefile.*
eql
eql5
eql.app

View file

@ -81,7 +81,7 @@ hard-coded in the executable).
BUILD
=====
(N.B. for rebuilding, please see README-REBUILD.txt)
(N.B. for rebuilding, please see README-2-REBUILD.txt)
[Windows]
You first need to adapt the file 'src/windows.pri' (include & library
@ -103,21 +103,18 @@ BUILD
flag:
qmake -spec macx-g++
1) In src/ run:
1) Change to src/ and run:
ecl -shell make-eql-lib.lisp
ecl -shell make.lisp
2) Do:
2) Edit 'eql5.pro' and comment out all modules you don't need (see comment).
Then run:
qmake eql_lib.pro
qmake eql5.pro
make
sudo make install (unix only)
sudo make install (Unix only)
qmake eql_exe.pro
make
sudo make install (unix only)
This will build both the EQL executable and shared library.
This will build the executable, the shared library and the modules.
If you ran "make install", you'll find the installed files here:
@ -128,7 +125,7 @@ BUILD
3) cd ..
[Linux]
N.B: skip this if you did "sudo make install"
N.B. skip this if you did "sudo make install"
You need to create links to EQL, something like (note the "5"):
cd /usr/lib
@ -137,7 +134,7 @@ BUILD
sudo ln -s ~/eql5/eql5 eql5
[OSX]
N.B: skip this if you did "sudo make install"
N.B. skip this if you did "sudo make install"
You need to create links to EQL, something like (note the "5"):
cd /usr/local/lib
@ -199,7 +196,7 @@ To build an EQL module (corresponding to a Qt module), do the following in src/:
sudo make install (unix only)
[Linux,OSX]
(N.B: skip this if you did "sudo make install")
(N.B. skip this if you did "sudo make install")
You need to create links to the modules, see EQL library above.
In Lisp, use function QREQUIRE to load a module:

View file

@ -5,25 +5,21 @@ REBUILD STEPS (on every upgrade of: ECL, Qt, EQL)
1) remove directory tmp/
2) ecl -shell make-eql-lib.lisp
2) ecl -shell make.lisp
3) qmake, make, sudo make install (Unix only) in this order: (MSVC: nmake)
eql_lib.pro
eql_exe.pro
module_network.pro
module_...
3) qmake eql5.pro
make (MSVC: nmake)
sudo make install (Unix only)
Optionally (integrate wrapper functions):
4) eql5 make-eql-lib-wrappers.lisp
4) eql5 make-wrappers.lisp
5) re-link EQL library:
touch tmp/eql.o (or delete "tmp/eql.o*")
qmake eql_lib.pro
make
make (MSVC: nmake)
sudo make install (Unix only)

View file

@ -17,13 +17,14 @@ Notes
If you want to add the wrappers permanently, build EQL as usual, then run
eql5 make-eql-lib-wrappers.lisp ; (will take a little looong)
eql5 make-wrappers.lisp
Re-link EQL doing something like:
touch tmp/eql.o* (or delete "tmp/eql.o*")
qmake eql_lib.pro
make
sudo make install (Unix only)
(The resulting shared library will be considerably bigger than before).

View file

@ -18,7 +18,7 @@ EQL::EQL() : QObject() {
cl_boot(1, (char**)_argv_); }
iniCLFunctions();
LObjects::ini(this);
read_VV(OBJNULL, ini_EQL); } // see "src/make-eql-lib.lisp"
read_VV(OBJNULL, ini_EQL); } // see "src/make.lisp"
void EQL::ini(char** argv) {
cl_booted = true;

24
src/eql5.pro Normal file
View file

@ -0,0 +1,24 @@
TEMPLATE = subdirs
SUBDIRS = lib exe \
# comment out all modules you don't need:
help \
multimedia \
network \
quick \
sql \
svg \
webengine \
webkit
lib.file = eql_lib.pro
exe.depends = lib
exe.file = eql_exe.pro
help.file = module_help.pro
multimedia.file = module_multimedia.pro
network.file = module_network.pro
quick.file = module_quick.pro
sql.file = module_sql.pro
svg.file = module_svg.pro
webengine.file = module_webengine.pro
webkit.file = module_webkit.pro

View file

@ -23,3 +23,17 @@
(format nil "lisp/~A.~A" file #+msvc "obj" #-msvc "o"))
*lisp-files*)
:init-name "ini_EQL")
;; for eql5.pro (doesn't create directories)
(dolist (dirs '("."
"tmp/help"
"tmp/multimedia"
"tmp/network"
"tmp/quick"
"tmp/sql"
"tmp/svg"
"tmp/webengine"
"tmp/webkit"))
(ensure-directories-exist (format nil "~A/tmp/" dirs)))

View file

@ -2,41 +2,14 @@ rm -fr tmp
rm *.a
rm lisp/*.o
ecl -shell make-eql-lib.lisp &&
qmake eql_lib.pro &&
ecl -shell make.lisp &&
qmake eql5.pro &&
make &&
sudo make install &&
qmake eql_exe.pro &&
make &&
sudo make install &&
eql5 make-eql-lib-wrappers.lisp &&
eql5 make-wrappers.lisp &&
touch tmp/eql.o &&
qmake eql_lib.pro &&
make &&
sudo make install &&
qmake module_help.pro &&
make &&
sudo make install &&
qmake module_multimedia.pro &&
make &&
sudo make install &&
qmake module_network.pro &&
make &&
sudo make install &&
qmake module_quick.pro &&
make &&
sudo make install &&
qmake module_sql.pro &&
make &&
sudo make install &&
qmake module_svg.pro &&
make &&
sudo make install &&
# qmake module_webkit.pro &&
# make
# sudo make install &&
qmake module_webengine.pro &&
make &&
sudo make install
echo OK