example 'cl-repl': prepare for manually adding OpenSSL on android (not included here)

This commit is contained in:
pls.153 2022-12-09 15:51:28 +01:00
parent 19375582cd
commit 9073f1881d
4 changed files with 18 additions and 14 deletions

2
.gitignore vendored
View file

@ -2,6 +2,7 @@ TODO
lqml lqml
_* _*
*.a *.a
*.eclrc
*.fas* *.fas*
*.*history *.*history
*.lib *.lib
@ -13,6 +14,7 @@ _*
*.qm *.qm
*.stash *.stash
*.ts *.ts
*.version
*~ *~
*.~ *.~
#*.*# #*.*#

View file

@ -64,7 +64,12 @@ android {
LIBS += -lasdf -lecl-help -ldeflate -lecl-cdb -lecl-curl -lql-minitar -lsockets LIBS += -lasdf -lecl-help -ldeflate -lecl-cdb -lecl-curl -lql-minitar -lsockets
LIBS += -L../../../platforms/android/lib LIBS += -L../../../platforms/android/lib
ANDROID_EXTRA_LIBS += $$ECL/lib/libecl.so ANDROID_EXTRA_LIBS += $$ECL/lib/libecl.so
# optional, not included in LQML
#SSL_PATH = ../../../platforms/android/lib
#ANDROID_EXTRA_LIBS += $$SSL_PATH/libcrypto.so $$SSL_PATH/libssl.so
ANDROID_PACKAGE_SOURCE_DIR = ../platforms/android ANDROID_PACKAGE_SOURCE_DIR = ../platforms/android
32bit { 32bit {

View file

@ -58,4 +58,12 @@
;;; hacks ;;; hacks
(asdf:defsystem :sb-bsd-sockets) ; needed for :sockets (linked as static lib) ;; needed for :sockets (linked as static lib)
(asdf:defsystem :sb-bsd-sockets)
;; eventual ssl libs (not included in LQML) need to be loaded manually
#+android
(when (probe-file "libssl.so")
(ffi:load-foreign-library "libcrypto.so")
(ffi:load-foreign-library "libssl.so"))

View file

@ -134,23 +134,12 @@ int main(int argc, char* argv[]) {
ecl_init_module(NULL, init_lib_ASDF); ecl_init_module(NULL, init_lib_ASDF);
#endif #endif
#ifdef INI_SSL
#ifdef Q_OS_ANDROID
// ssl libs need to be loaded manually
LQML::eval("(ffi:load-foreign-library \"libcrypto.so\")");
LQML::eval("(ffi:load-foreign-library \"libssl.so\")");
#endif
LQML::eval("(push :cl+ssl-foreign-libs-already-loaded *features*)");
#endif
// load .eclrc // load .eclrc
if (arguments.contains("-norc")) { if (arguments.contains("-norc")) {
arguments.removeAll("-norc"); arguments.removeAll("-norc");
} else { } else {
#if (defined Q_OS_ANDROID) || (defined Q_OS_IOS) #if (defined Q_OS_ANDROID) || (defined Q_OS_IOS)
// mobile: don't hang on startup // nothing
LQML::eval("(x:when-it (probe-file \"~/.eclrc\")"
" (ignore-errors (load x:it)))");
#else #else
#ifndef DESKTOP_APP #ifndef DESKTOP_APP
LQML::eval("(x:when-it (probe-file \"~/.eclrc\")" LQML::eval("(x:when-it (probe-file \"~/.eclrc\")"