changeset 16: |
af615d1895cb |
parent: |
1fedeaa5bfc5
|
child: |
a1137af05c8d |
author: |
ellis <ellis@rwest.io> |
date: |
Fri, 26 May 2023 21:59:40 -0400 |
permissions: |
-rw-r--r-- |
description: |
refactoring, ui stuff (goin with slint for DSL power) |
2 (defparameter quiche-lib-path #p"./ffi/libquiche.dylib") 3 (defparameter rocksdb-lib-path #p"./ffi/librocksdb.dylib") 4 (defparameter demo-lib-path (find-rs-cdylib "libdemo.dylib")) 5 (defmacro find-rs-cdylib (name &optional debug) 6 "Find the rust dll specified by NAME." 8 ((uiop:directory-exists-p (merge-pathnames *cargo-target* "release")) 9 `,(mkstr "./target/release/" name)) 10 ((uiop:directory-exists-p (merge-pathnames *cargo-target* "debug")) 11 `,(mkstr "./target/debug/" name)) 13 ,(uiop:run-program '("cargo" "build" (unless debug "--release")) :output t) 14 (find-rs-cdylib ,name ,debug))))) 16 (define-foreign-library demo 17 (:win32 (:default "demo")) 18 (t (:default "libdemo"))) 19 (define-foreign-library quiche 20 (:win32 (:default "quiche")) 21 (t (:default "libquiche"))) 22 (define-foreign-library rocksdb 23 (:win32 (:default "rocksdb")) 24 (t (:default "librocksdb"))) 26 (defun load-libdemo () (load-foreign-library (find-rs-cdylib "libdemo.dylib"))) 27 (defun install-quiche-lib (&optional path) (load-foreign-library (or path quiche-lib-path))) 28 (defun install-rocksdb-lib (&optional path) (load-foreign-library (or path rocksdb-lib-path)))