diff options
25 files changed, 36 insertions, 25 deletions
diff --git a/gnuradio-core/src/lib/swig/gnuradio_core_filter.i b/gnuradio-core/src/lib/swig/gnuradio_core_filter.i index d7262f140..e825467db 100644 --- a/gnuradio-core/src/lib/swig/gnuradio_core_filter.i +++ b/gnuradio-core/src/lib/swig/gnuradio_core_filter.i @@ -31,7 +31,7 @@ #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-gnuradio_core_filter" "scm_init_gnuradio_gnuradio_core_filter_module") +(load-extension-global "libguile-gnuradio-gnuradio_core_filter" "scm_init_gnuradio_gnuradio_core_filter_module") %} %goops %{ diff --git a/gnuradio-core/src/lib/swig/gnuradio_core_general.i b/gnuradio-core/src/lib/swig/gnuradio_core_general.i index e381f3509..adf6b469a 100644 --- a/gnuradio-core/src/lib/swig/gnuradio_core_general.i +++ b/gnuradio-core/src/lib/swig/gnuradio_core_general.i @@ -51,7 +51,7 @@ #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-gnuradio_core_general" "scm_init_gnuradio_gnuradio_core_general_module") +(load-extension-global "libguile-gnuradio-gnuradio_core_general" "scm_init_gnuradio_gnuradio_core_general_module") %} %goops %{ diff --git a/gnuradio-core/src/lib/swig/gnuradio_core_gengen.i b/gnuradio-core/src/lib/swig/gnuradio_core_gengen.i index d9fe6672a..496ced077 100644 --- a/gnuradio-core/src/lib/swig/gnuradio_core_gengen.i +++ b/gnuradio-core/src/lib/swig/gnuradio_core_gengen.i @@ -31,7 +31,7 @@ #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-gnuradio_core_gengen" "scm_init_gnuradio_gnuradio_core_gengen_module") +(load-extension-global "libguile-gnuradio-gnuradio_core_gengen" "scm_init_gnuradio_gnuradio_core_gengen_module") %} %goops %{ diff --git a/gnuradio-core/src/lib/swig/gnuradio_core_hier.i b/gnuradio-core/src/lib/swig/gnuradio_core_hier.i index 2869fd56b..0b8161c5d 100644 --- a/gnuradio-core/src/lib/swig/gnuradio_core_hier.i +++ b/gnuradio-core/src/lib/swig/gnuradio_core_hier.i @@ -31,7 +31,7 @@ #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-gnuradio_core_hier" "scm_init_gnuradio_gnuradio_core_hier_module") +(load-extension-global "libguile-gnuradio-gnuradio_core_hier" "scm_init_gnuradio_gnuradio_core_hier_module") %} %goops %{ diff --git a/gnuradio-core/src/lib/swig/gnuradio_core_io.i b/gnuradio-core/src/lib/swig/gnuradio_core_io.i index c8d818660..0d989ea87 100644 --- a/gnuradio-core/src/lib/swig/gnuradio_core_io.i +++ b/gnuradio-core/src/lib/swig/gnuradio_core_io.i @@ -31,7 +31,7 @@ #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-gnuradio_core_io" "scm_init_gnuradio_gnuradio_core_io_module") +(load-extension-global "libguile-gnuradio-gnuradio_core_io" "scm_init_gnuradio_gnuradio_core_io_module") %} %goops %{ diff --git a/gnuradio-core/src/lib/swig/gnuradio_core_runtime.i b/gnuradio-core/src/lib/swig/gnuradio_core_runtime.i index 78b717d22..579c51ce5 100644 --- a/gnuradio-core/src/lib/swig/gnuradio_core_runtime.i +++ b/gnuradio-core/src/lib/swig/gnuradio_core_runtime.i @@ -34,7 +34,18 @@ #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-gnuradio_core_runtime" "scm_init_gnuradio_gnuradio_core_runtime_module") + +;; Load our gsubr that loads libraries using the RTLD_GLOBAL option +(load-extension "libguile-gnuradio-dynl-global" "scm_init_gnuradio_dynl_global_module") + +;; Define load-extension-global in module '(guile) +(module-define! (resolve-module '(guile)) + 'load-extension-global + (lambda (lib init) + (dynamic-call init (dynamic-link-global lib)))) + +;; Use load-extension-global to load our swig modules +(load-extension-global "libguile-gnuradio-gnuradio_core_runtime" "scm_init_gnuradio_gnuradio_core_runtime_module") %} %goops %{ diff --git a/gr-audio-alsa/src/audio_alsa.i b/gr-audio-alsa/src/audio_alsa.i index 64550f788..215acf33d 100644 --- a/gr-audio-alsa/src/audio_alsa.i +++ b/gr-audio-alsa/src/audio_alsa.i @@ -76,7 +76,7 @@ class audio_alsa_sink : public gr_sync_block { #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-audio_alsa" "scm_init_gnuradio_audio_alsa_module") +(load-extension-global "libguile-gnuradio-audio_alsa" "scm_init_gnuradio_audio_alsa_module") %} %goops %{ diff --git a/gr-audio-jack/src/audio_jack.i b/gr-audio-jack/src/audio_jack.i index 565a7270e..67747cb16 100644 --- a/gr-audio-jack/src/audio_jack.i +++ b/gr-audio-jack/src/audio_jack.i @@ -76,7 +76,7 @@ class audio_jack_sink : public gr_sync_block { #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-audio_jack" "scm_init_gnuradio_audio_jack_module") +(load-extension-global "libguile-gnuradio-audio_jack" "scm_init_gnuradio_audio_jack_module") %} %goops %{ diff --git a/gr-audio-oss/src/audio_oss.i b/gr-audio-oss/src/audio_oss.i index b7758ab0c..2150cba9f 100644 --- a/gr-audio-oss/src/audio_oss.i +++ b/gr-audio-oss/src/audio_oss.i @@ -66,7 +66,7 @@ class audio_oss_source : public gr_sync_block { #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-audio_oss" "scm_init_gnuradio_audio_oss_module") +(load-extension-global "libguile-gnuradio-audio_oss" "scm_init_gnuradio_audio_oss_module") %} %goops %{ diff --git a/gr-audio-osx/src/audio_osx.i b/gr-audio-osx/src/audio_osx.i index 98038a607..a51e9bae0 100644 --- a/gr-audio-osx/src/audio_osx.i +++ b/gr-audio-osx/src/audio_osx.i @@ -91,7 +91,7 @@ class audio_osx_source : public gr_sync_block { #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-audio_osx" "scm_init_gnuradio_audio_osx_module") +(load-extension-global "libguile-gnuradio-audio_osx" "scm_init_gnuradio_audio_osx_module") %} %goops %{ diff --git a/gr-audio-windows/src/audio_windows.i b/gr-audio-windows/src/audio_windows.i index b4b5e566b..c154eacd6 100644 --- a/gr-audio-windows/src/audio_windows.i +++ b/gr-audio-windows/src/audio_windows.i @@ -64,7 +64,7 @@ class audio_windows_source : public gr_sync_block { #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-audio_windows" "scm_init_gnuradio_audio_windows_module") +(load-extension-global "libguile-gnuradio-audio_windows" "scm_init_gnuradio_audio_windows_module") %} %goops %{ diff --git a/gr-comedi/src/comedi.i b/gr-comedi/src/comedi.i index dadb57e90..36865afbe 100644 --- a/gr-comedi/src/comedi.i +++ b/gr-comedi/src/comedi.i @@ -72,7 +72,7 @@ class comedi_sink_s : public gr_sync_block { #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-comedi" "scm_init_gnuradio_comedi_module") +(load-extension-global "libguile-gnuradio-comedi" "scm_init_gnuradio_comedi_module") %} %goops %{ diff --git a/gr-cvsd-vocoder/src/lib/cvsd_vocoder.i b/gr-cvsd-vocoder/src/lib/cvsd_vocoder.i index 32d78d519..82662e84e 100644 --- a/gr-cvsd-vocoder/src/lib/cvsd_vocoder.i +++ b/gr-cvsd-vocoder/src/lib/cvsd_vocoder.i @@ -82,7 +82,7 @@ private: #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-cvsd_vocoder" "scm_init_gnuradio_cvsd_vocoder_module") +(load-extension-global "libguile-gnuradio-cvsd_vocoder" "scm_init_gnuradio_cvsd_vocoder_module") %} %goops %{ diff --git a/gr-gcell/src/gcell.i b/gr-gcell/src/gcell.i index f600a258e..7437b9d4e 100644 --- a/gr-gcell/src/gcell.i +++ b/gr-gcell/src/gcell.i @@ -31,7 +31,7 @@ #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-gcell" "scm_init_gnuradio_gcell_module") +(load-extension-global "libguile-gnuradio-gcell" "scm_init_gnuradio_gcell_module") %} %goops %{ diff --git a/gr-gsm-fr-vocoder/src/lib/gsm_full_rate.i b/gr-gsm-fr-vocoder/src/lib/gsm_full_rate.i index bbbb9e4fb..20bf8fdea 100644 --- a/gr-gsm-fr-vocoder/src/lib/gsm_full_rate.i +++ b/gr-gsm-fr-vocoder/src/lib/gsm_full_rate.i @@ -49,7 +49,7 @@ public: #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-gsm_full_rate" "scm_init_gnuradio_gsm_full_rate_module") +(load-extension-global "libguile-gnuradio-gsm_full_rate" "scm_init_gnuradio_gsm_full_rate_module") %} %goops %{ diff --git a/gr-howto-write-a-block/swig/howto_swig.i b/gr-howto-write-a-block/swig/howto_swig.i index c62ddf3eb..d0bbcdc11 100644 --- a/gr-howto-write-a-block/swig/howto_swig.i +++ b/gr-howto-write-a-block/swig/howto_swig.i @@ -12,7 +12,7 @@ #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-howto_swig" "scm_init_gnuradio_howto_swig_module") +(load-extension-global "libguile-gnuradio-howto_swig" "scm_init_gnuradio_howto_swig_module") %} %goops %{ diff --git a/gr-msdd6000/src/msdd_rs.i b/gr-msdd6000/src/msdd_rs.i index f4555edbd..8afb1fb7e 100644 --- a/gr-msdd6000/src/msdd_rs.i +++ b/gr-msdd6000/src/msdd_rs.i @@ -94,7 +94,7 @@ class msdd_rs_source_simple : public gr_sync_block { #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-msdd_rs" "scm_init_gnuradio_msdd_rs_module") +(load-extension-global "libguile-gnuradio-msdd_rs" "scm_init_gnuradio_msdd_rs_module") %} %goops %{ diff --git a/gr-noaa/swig/noaa_swig.i b/gr-noaa/swig/noaa_swig.i index 92d6804e4..3b6e92149 100644 --- a/gr-noaa/swig/noaa_swig.i +++ b/gr-noaa/swig/noaa_swig.i @@ -34,7 +34,7 @@ #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-noaa_swig" "scm_init_gnuradio_noaa_swig_module") +(load-extension-global "libguile-gnuradio-noaa_swig" "scm_init_gnuradio_noaa_swig_module") %} %goops %{ diff --git a/gr-pager/swig/pager_swig.i b/gr-pager/swig/pager_swig.i index b202242b0..2896fa368 100644 --- a/gr-pager/swig/pager_swig.i +++ b/gr-pager/swig/pager_swig.i @@ -37,7 +37,7 @@ #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-pager_swig" "scm_init_gnuradio_pager_swig_module") +(load-extension-global "libguile-gnuradio-pager_swig" "scm_init_gnuradio_pager_swig_module") %} %goops %{ diff --git a/gr-qtgui/src/lib/qtgui.i b/gr-qtgui/src/lib/qtgui.i index 063e78806..bb64c6ae2 100644 --- a/gr-qtgui/src/lib/qtgui.i +++ b/gr-qtgui/src/lib/qtgui.i @@ -122,7 +122,7 @@ public: #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-qtgui" "scm_init_gnuradio_qtgui_module") +(load-extension-global "libguile-gnuradio-qtgui" "scm_init_gnuradio_qtgui_module") %} %goops %{ diff --git a/gr-radio-astronomy/src/lib/ra.i b/gr-radio-astronomy/src/lib/ra.i index e5a4d5544..3e8f409e3 100644 --- a/gr-radio-astronomy/src/lib/ra.i +++ b/gr-radio-astronomy/src/lib/ra.i @@ -58,7 +58,7 @@ #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-ra" "scm_init_gnuradio_ra_module") +(load-extension-global "libguile-gnuradio-ra" "scm_init_gnuradio_ra_module") %} %goops %{ diff --git a/gr-trellis/src/lib/trellis.i b/gr-trellis/src/lib/trellis.i index 32b7a0a00..d035cea54 100644 --- a/gr-trellis/src/lib/trellis.i +++ b/gr-trellis/src/lib/trellis.i @@ -46,7 +46,7 @@ #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-trellis" "scm_init_gnuradio_trellis_module") +(load-extension-global "libguile-gnuradio-trellis" "scm_init_gnuradio_trellis_module") %} %goops %{ diff --git a/gr-uhd/swig/uhd_swig.i b/gr-uhd/swig/uhd_swig.i index 079f8120e..80a6a588a 100644 --- a/gr-uhd/swig/uhd_swig.i +++ b/gr-uhd/swig/uhd_swig.i @@ -105,7 +105,7 @@ static const size_t ALL_MBOARDS; #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-uhd_swig" "scm_init_gnuradio_uhd_swig_module") +(load-extension-global "libguile-gnuradio-uhd_swig" "scm_init_gnuradio_uhd_swig_module") %} %goops %{ diff --git a/gr-usrp/src/usrp_swig.i b/gr-usrp/src/usrp_swig.i index b18aa50f7..b1797d758 100644 --- a/gr-usrp/src/usrp_swig.i +++ b/gr-usrp/src/usrp_swig.i @@ -147,7 +147,7 @@ usrp_source_s_sptr.pick_rx_subdevice = __pick_rx_subdevice #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-usrp_swig" "scm_init_gnuradio_usrp_swig_module") +(load-extension-global "libguile-gnuradio-usrp_swig" "scm_init_gnuradio_usrp_swig_module") %} %goops %{ diff --git a/gr-video-sdl/src/video_sdl.i b/gr-video-sdl/src/video_sdl.i index c4f7e89a8..17b1b799c 100644 --- a/gr-video-sdl/src/video_sdl.i +++ b/gr-video-sdl/src/video_sdl.i @@ -63,7 +63,7 @@ class video_sdl_sink_s : public gr_sync_block { #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-video_sdl" "scm_init_gnuradio_video_sdl_module") +(load-extension-global "libguile-gnuradio-video_sdl" "scm_init_gnuradio_video_sdl_module") %} %goops %{ |