summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio_core_filter.i2
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio_core_general.i2
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio_core_gengen.i2
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio_core_hier.i2
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio_core_io.i2
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio_core_runtime.i13
-rw-r--r--gr-audio-alsa/src/audio_alsa.i2
-rw-r--r--gr-audio-jack/src/audio_jack.i2
-rw-r--r--gr-audio-oss/src/audio_oss.i2
-rw-r--r--gr-audio-osx/src/audio_osx.i2
-rw-r--r--gr-audio-windows/src/audio_windows.i2
-rw-r--r--gr-comedi/src/comedi.i2
-rw-r--r--gr-cvsd-vocoder/src/lib/cvsd_vocoder.i2
-rw-r--r--gr-gcell/src/gcell.i2
-rw-r--r--gr-gsm-fr-vocoder/src/lib/gsm_full_rate.i2
-rw-r--r--gr-howto-write-a-block/swig/howto_swig.i2
-rw-r--r--gr-msdd6000/src/msdd_rs.i2
-rw-r--r--gr-noaa/swig/noaa_swig.i2
-rw-r--r--gr-pager/swig/pager_swig.i2
-rw-r--r--gr-qtgui/src/lib/qtgui.i2
-rw-r--r--gr-radio-astronomy/src/lib/ra.i2
-rw-r--r--gr-trellis/src/lib/trellis.i2
-rw-r--r--gr-uhd/swig/uhd_swig.i2
-rw-r--r--gr-usrp/src/usrp_swig.i2
-rw-r--r--gr-video-sdl/src/video_sdl.i2
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 %{