diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 190bf3c6..14591f5b 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -6,12 +6,12 @@ include(GNUInstallDirs) set(CMAKE_INCLUDE_CURRENT_DIR ON) -add_library(sbcl_librarian SHARED libsbcl_librarian.c libsbcl_librarian.h libsbcl_librarian_err.h entry_point.c) +add_library(sbcl_librarian SHARED sbcl_librarian.c sbcl_librarian.h sbcl_librarian_err.h entry_point.c) target_link_directories(sbcl_librarian PRIVATE $ENV{BUILD_PREFIX}/lib) target_link_libraries(sbcl_librarian sbcl) add_custom_command( - OUTPUT libsbcl_librarian.c libsbcl_librarian.h + OUTPUT sbcl_librarian.c sbcl_librarian.h COMMAND ${CMAKE_COMMAND} -E env CL_SOURCE_REGISTRY=${CMAKE_CURRENT_SOURCE_DIR}/..// sbcl --script ${CMAKE_CURRENT_SOURCE_DIR}/generate-bindings.lisp WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) @@ -20,6 +20,6 @@ install(TARGETS sbcl_librarian LIBRARY RUNTIME ) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libsbcl_librarian.core TYPE LIB) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libsbcl_librarian.h TYPE INCLUDE) -install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/libsbcl_librarian_err.h TYPE INCLUDE) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/sbcl_librarian.core TYPE LIB) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/sbcl_librarian.h TYPE INCLUDE) +install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/sbcl_librarian_err.h TYPE INCLUDE) diff --git a/lib/VERSION.txt b/lib/VERSION.txt index 6e8bf73a..699c6c6d 100644 --- a/lib/VERSION.txt +++ b/lib/VERSION.txt @@ -1 +1 @@ -0.1.0 +0.1.8 diff --git a/lib/entry_point.c b/lib/entry_point.c index c9cbd8b9..5d58483f 100644 --- a/lib/entry_point.c +++ b/lib/entry_point.c @@ -15,7 +15,7 @@ #include #include -#include "libsbcl_librarian.h" +#include "sbcl_librarian.h" #define BUF_SIZE 1024 @@ -28,10 +28,10 @@ static void do_initialize_lisp(const char *libsbcl_path) { char *libsbcl_dir = dir_name(libsbcl_path); int libsbcl_dir_len = strlen(libsbcl_dir); - int core_path_size = libsbcl_dir_len + sizeof("libsbcl_librarian.core") + 1; + int core_path_size = libsbcl_dir_len + sizeof("sbcl_librarian.core") + 1; char *core_path = malloc(core_path_size); - snprintf(core_path, core_path_size, "%slibsbcl_librarian.core", libsbcl_dir); + snprintf(core_path, core_path_size, "%ssbcl_librarian.core", libsbcl_dir); const char *init_args[] = {"", "--dynamic-space-size", "8192", "--core", core_path, "--noinform", "--no-userinit"}; diff --git a/lib/generate-bindings.lisp b/lib/generate-bindings.lisp index 16588ca8..120dfac2 100644 --- a/lib/generate-bindings.lisp +++ b/lib/generate-bindings.lisp @@ -11,7 +11,7 @@ (in-package #:sbcl-librarian/lib) -(define-aggregate-library libsbcl-librarian (:function-linkage "LIBSBCL_LIBRARIAN_API") +(define-aggregate-library sbcl-librarian (:function-linkage "LIBSBCL_LIBRARIAN_API") diagnostics environment errors @@ -83,6 +83,6 @@ (format stream "signal.signal(signal.SIGTERM, _term_handler)~%~%") (format stream "signal.signal(signal.SIGINT, _int_handler)~%~%"))) -(build-bindings libsbcl-librarian "." :omit-init-function t) -(build-python-bindings libsbcl-librarian "." :omit-init-call t) -(build-core-and-die libsbcl-librarian ".") +(build-bindings sbcl-librarian "." :omit-init-function t) +(build-python-bindings sbcl-librarian "." :omit-init-call t :write-python-header-fn #'write-python-header) +(build-core-and-die sbcl-librarian ".") diff --git a/lib/libsbcl_librarian_err.h b/lib/sbcl_librarian_err.h similarity index 100% rename from lib/libsbcl_librarian_err.h rename to lib/sbcl_librarian_err.h diff --git a/recipe/build.sh b/recipe/build.sh index f51900ab..eb482972 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -22,5 +22,5 @@ cmake --install . --prefix=$PREFIX popd # Package Python library -cp lib/build/libsbcl_librarian.py lib/python/src/sbcl_librarian/raw.py +cp lib/build/sbcl_librarian.py lib/python/src/sbcl_librarian/raw.py $PYTHON -m pip install lib/python/ --no-deps --ignore-installed -vv diff --git a/src/bindings.lisp b/src/bindings.lisp index d1c53c57..3b7a37e2 100644 --- a/src/bindings.lisp +++ b/src/bindings.lisp @@ -106,7 +106,7 @@ (let ((guard (format nil "_~A_h" c-name))) (format stream "#ifndef ~A~%" guard) (format stream "#define ~A~%~%" guard)) - (format stream "#include ~%~%") + (format stream "#include ~%~%") (when linkage (write-linkage-macro linkage build-flag stream)) (dolist (api (library-apis library)) diff --git a/src/python-bindings.lisp b/src/python-bindings.lisp index 3a531e58..56f54c32 100644 --- a/src/python-bindings.lisp +++ b/src/python-bindings.lisp @@ -10,7 +10,7 @@ :function-prefix function-prefix :error-map error-map) (format nil - "~a = ~a.~a + "~a = ~a_dll.~a ~a.restype = ~a ~a.argtypes = [~{~a~^, ~}] ~:[~;~a = sbcl_librarian.wrapper.lift_fn(\"~:*~a\", ~:*~a)~%~]" @@ -50,7 +50,7 @@ (format stream "except TypeError as e:~%") (format stream " raise Exception('Unable to locate ~a') from e~%~%" name))) - (format stream "~a = CDLL(str(libpath), mode=RTLD_GLOBAL)~%~%" name) + (format stream "~a_dll = CDLL(str(libpath), mode=RTLD_GLOBAL)~%~%" name) (unless omit-init-call (format stream "~a.init(str(libpath.parent / '~a.core').encode('utf-8'))~%~%" name name))))