mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
gnc-module - move guile wrappers to bindings/guile
This commit is contained in:
@@ -6,5 +6,6 @@ set_local_dist(bindings_DIST_local
|
||||
business-core.i
|
||||
core-utils.i
|
||||
engine.i
|
||||
engine-common.i)
|
||||
engine-common.i
|
||||
gnc-module.i)
|
||||
set(bindings_DIST ${bindings_DIST_local} ${guile_DIST} ${python_bindings_DIST} PARENT_SCOPE)
|
||||
|
||||
@@ -20,6 +20,15 @@ gnc_add_swig_guile_command (swig-engine-c
|
||||
${CMAKE_SOURCE_DIR}/bindings/engine-common.i
|
||||
)
|
||||
|
||||
# Command to generate the swig-gnc-module.c wrapper file
|
||||
gnc_swig_extract_header_files (gnc-module GNC_MODULE_HEADERS)
|
||||
gnc_add_swig_guile_command (swig-gnc-module-c
|
||||
SWIG_GNC_MODULE_C swig-gnc-module.c
|
||||
${CMAKE_SOURCE_DIR}/bindings/gnc-module.i
|
||||
"${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_SOURCE_DIR}/libgnucash/gnc-module"
|
||||
${GNC_MODULE_HEADERS}
|
||||
)
|
||||
|
||||
set(guile_HEADERS
|
||||
glib-guile.h
|
||||
gnc-engine-guile.h
|
||||
@@ -37,7 +46,8 @@ add_library(gnucash-guile SHARED
|
||||
${guile_SOURCES}
|
||||
${guile_HEADERS}
|
||||
${SWIG_CORE_UTILS_GUILE_C}
|
||||
${SWIG_ENGINE_C})
|
||||
${SWIG_ENGINE_C}
|
||||
${SWIG_GNC_MODULE_C})
|
||||
|
||||
add_dependencies(gnucash-guile
|
||||
swig-runtime-h)
|
||||
@@ -57,6 +67,7 @@ target_link_libraries(gnucash-guile
|
||||
PRIVATE
|
||||
gnc-core-utils
|
||||
gncmod-engine
|
||||
gnc-module
|
||||
${GLIB2_LDFLAGS})
|
||||
|
||||
install(TARGETS gnucash-guile
|
||||
@@ -128,6 +139,17 @@ gnc_add_scheme_targets(scm-engine-2
|
||||
|
||||
add_custom_target(scm-engine ALL DEPENDS scm-engine-2 scm-engine-1 scm-engine-0)
|
||||
|
||||
set(scm_gnc_module_DEPENDS
|
||||
gnc-module
|
||||
gnucash-guile)
|
||||
|
||||
gnc_add_scheme_targets(scm-gnc-module
|
||||
gnc-module.scm
|
||||
gnucash
|
||||
"${scm_gnc_module_DEPENDS}"
|
||||
FALSE
|
||||
)
|
||||
|
||||
gnc_add_scheme_targets(price-quotes
|
||||
price-quotes.scm
|
||||
gnucash
|
||||
@@ -137,6 +159,7 @@ gnc_add_scheme_targets(price-quotes
|
||||
set_local_dist(guile_DIST_local
|
||||
CMakeLists.txt
|
||||
core-utils.scm
|
||||
gnc-module.scm
|
||||
price-quotes.scm
|
||||
${guile_SOURCES}
|
||||
${guile_HEADERS}
|
||||
|
||||
@@ -20,8 +20,6 @@
|
||||
;; Boston, MA 02110-1301, USA gnu@gnu.org
|
||||
|
||||
;; Copyright 2000 Rob Browning <rlb@cs.utexas.edu>
|
||||
(use-modules (gnucash gnc-module))
|
||||
|
||||
(eval-when
|
||||
(compile load eval expand)
|
||||
(load-extension "libgnucash-guile" "gnc_guile_bindings_init"))
|
||||
|
||||
@@ -34,6 +34,7 @@ static int is_initialized = 0;
|
||||
|
||||
extern SCM scm_init_sw_core_utils_module (void);
|
||||
extern SCM scm_init_sw_engine_module (void);
|
||||
extern SCM scm_init_sw_gnc_module_module (void);
|
||||
|
||||
void
|
||||
gnc_guile_bindings_init(void)
|
||||
@@ -43,6 +44,7 @@ gnc_guile_bindings_init(void)
|
||||
/* Do what's necessary to initialize the bindings */
|
||||
scm_init_sw_core_utils_module();
|
||||
scm_init_sw_engine_module();
|
||||
scm_init_sw_gnc_module_module();
|
||||
|
||||
is_initialized = 1;
|
||||
}
|
||||
|
||||
@@ -30,23 +30,20 @@
|
||||
;; Guile 2 needs to find the symbols from the extension at compile time already
|
||||
(eval-when
|
||||
(compile load eval expand)
|
||||
(load-extension "libgnc-module" "scm_init_sw_gnc_module_module"))
|
||||
|
||||
(load-extension "libgnucash-guile" "gnc_guile_bindings_init"))
|
||||
(use-modules (sw_gnc_module))
|
||||
|
||||
(define gnc:module-system-init gnc-module-system-init)
|
||||
(define gnc:module-system-refresh gnc-module-system-refresh)
|
||||
(define gnc:module-load gnc-module-load)
|
||||
(define gnc:module-load-optional gnc-module-load-optional)
|
||||
(define gnc:module-unload gnc-module-unload)
|
||||
; Export the swig-wrapped symbols in the public interface of this module
|
||||
(let ((i (module-public-interface (current-module))))
|
||||
(module-use! i (resolve-interface '(sw_gnc_module))))
|
||||
|
||||
(export gnc:module-system-init)
|
||||
(export gnc:module-system-refresh)
|
||||
(export gnc:module-load)
|
||||
(export gnc:module-load-optional)
|
||||
(export gnc:module-unload)
|
||||
(export gnc:module-begin-syntax)
|
||||
(define-public gnc:module-system-init gnc-module-system-init)
|
||||
(define-public gnc:module-system-refresh gnc-module-system-refresh)
|
||||
(define-public gnc:module-load gnc-module-load)
|
||||
(define-public gnc:module-load-optional gnc-module-load-optional)
|
||||
(define-public gnc:module-unload gnc-module-unload)
|
||||
|
||||
;; Guile 2 needs to load external modules at compile time
|
||||
(define-syntax-rule (gnc:module-begin-syntax form ...)
|
||||
(eval-when (load compile eval expand) (begin form ...)))
|
||||
(export gnc:module-begin-syntax)
|
||||
@@ -2,12 +2,6 @@
|
||||
add_subdirectory(test)
|
||||
add_subdirectory(example)
|
||||
|
||||
# Command to generate the swig-gnc-module.c wrapper file
|
||||
gnc_add_swig_guile_command (swig-gnc-module-c
|
||||
SWIG_GNC_MODULE_C swig-gnc-module.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/gnc-module.i ""
|
||||
)
|
||||
|
||||
set (gnc_module_SOURCES gnc-module.c)
|
||||
|
||||
# Add dependency on config.h
|
||||
@@ -21,7 +15,6 @@ set (gnc_module_HEADERS
|
||||
add_library (gnc-module
|
||||
${gnc_module_SOURCES}
|
||||
${gnc_module_HEADERS}
|
||||
${SWIG_GNC_MODULE_C}
|
||||
)
|
||||
|
||||
target_link_libraries(gnc-module ${GUILE_LDFLAGS} ${GMODULE_LDFLAGS} ${GLIB2_LDFLAGS})
|
||||
@@ -43,20 +36,6 @@ install(TARGETS gnc-module
|
||||
|
||||
install(FILES ${gnc_module_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gnucash)
|
||||
|
||||
# --- Compile Scheme file(s) ---
|
||||
|
||||
set (gnc_module_SCHEME gnc-module.scm)
|
||||
|
||||
set(GUILE_OUTPUT_DIR gnucash)
|
||||
set(GUILE_DEPENDS gnc-module)
|
||||
|
||||
gnc_add_scheme_targets(scm-gnc-module
|
||||
"${gnc_module_SCHEME}"
|
||||
${GUILE_OUTPUT_DIR}
|
||||
"${GUILE_DEPENDS}"
|
||||
FALSE
|
||||
)
|
||||
|
||||
set_local_dist(gnc_module_DIST_local CMakeLists.txt ${gnc_module_SOURCES} ${gnc_module_HEADERS}
|
||||
gnc-module.i gnc-module.scm README)
|
||||
README)
|
||||
set(gnc_module_DIST ${gnc_module_DIST_local} ${test_gnc_module_DIST} ${example_DIST} PARENT_SCOPE)
|
||||
|
||||
@@ -56,7 +56,7 @@ set(test_gnc_module_SCHEME
|
||||
)
|
||||
|
||||
set(CORE_GUILE_DEPENDS
|
||||
gnc-module
|
||||
scm-gnc-module
|
||||
scm-test-core
|
||||
scm-mod-foo
|
||||
gncmod-bar
|
||||
|
||||
@@ -10,6 +10,7 @@ bindings/guile/gnc-engine-guile.c
|
||||
bindings/guile/gnc-guile-bindings.c
|
||||
bindings/guile/gnc-guile-utils.c
|
||||
bindings/guile/gnc-kvp-guile.cpp
|
||||
bindings/guile/gnc-module.scm
|
||||
bindings/guile/gnc-numeric.scm
|
||||
bindings/guile/price-quotes.scm
|
||||
bindings/guile/utilities.scm
|
||||
@@ -688,7 +689,6 @@ libgnucash/engine/Transaction.c
|
||||
libgnucash/engine/TransLog.c
|
||||
libgnucash/gnc-module/example/gncmod-example.c
|
||||
libgnucash/gnc-module/gnc-module.c
|
||||
libgnucash/gnc-module/gnc-module.scm
|
||||
libgnucash/tax/de_DE/tax.scm
|
||||
libgnucash/tax/de_DE/txf-help.scm
|
||||
libgnucash/tax/de_DE/txf.scm
|
||||
|
||||
Reference in New Issue
Block a user