summaryrefslogtreecommitdiff
path: root/gnuradio-core
diff options
context:
space:
mode:
authorEric Blossom2010-12-03 14:08:07 -0800
committerEric Blossom2010-12-03 14:08:07 -0800
commit9bc62cca21a0a171cbc220419af91b3d8f7e333b (patch)
tree8b49500adfc44110d6a5b4b52c5106c67cb2c440 /gnuradio-core
parent331a74a4d9f0f983c6892ca5d01e8ef4f5308e76 (diff)
downloadgnuradio-9bc62cca21a0a171cbc220419af91b3d8f7e333b.tar.gz
gnuradio-9bc62cca21a0a171cbc220419af91b3d8f7e333b.tar.bz2
gnuradio-9bc62cca21a0a171cbc220419af91b3d8f7e333b.zip
Add "shims" for booting (mostly) from magic file system
Diffstat (limited to 'gnuradio-core')
-rw-r--r--gnuradio-core/src/guile/+boot+/ice-9/boot-9.scm27
-rw-r--r--gnuradio-core/src/guile/Makefile.am1
2 files changed, 28 insertions, 0 deletions
diff --git a/gnuradio-core/src/guile/+boot+/ice-9/boot-9.scm b/gnuradio-core/src/guile/+boot+/ice-9/boot-9.scm
new file mode 100644
index 000000000..4926c6f3c
--- /dev/null
+++ b/gnuradio-core/src/guile/+boot+/ice-9/boot-9.scm
@@ -0,0 +1,27 @@
+;;; install shims for magic file system (if defined), then chain to real boot code.
+
+(if (defined? 'xyzzy-primitive-load)
+ (set! primitive-load xyzzy-primitive-load))
+
+(if (defined? 'xyzzy-primitive-load-path)
+ (set! primitive-load-path xyzzy-primitive-load-path))
+
+(if (defined? 'xyzzy-search-path)
+ (set! search-path xyzzy-search-path))
+
+(if (defined? 'xyzzy-search-load-path)
+ (set! search-load-path xyzzy-search-load-path))
+
+;; Remove any path containing /+boot+ from %load-path
+(set! %load-path
+ (let ((new-path '()))
+ (let loop ((path %load-path))
+ (cond ((not (pair? path))
+ (reverse! new-path))
+ ((string-contains (car path) "/+boot+")
+ (loop (cdr path)))
+ (else
+ (set! new-path (cons (car path) new-path))
+ (loop (cdr path)))))))
+
+(primitive-load-path "ice-9/boot-9.scm")
diff --git a/gnuradio-core/src/guile/Makefile.am b/gnuradio-core/src/guile/Makefile.am
index 447500b46..cebef89f1 100644
--- a/gnuradio-core/src/guile/Makefile.am
+++ b/gnuradio-core/src/guile/Makefile.am
@@ -39,6 +39,7 @@ SUBDIRS = example-waveforms
# gnuradio/runtime-shim implements "guile friendly" versions of connect & disconnect.
nobase_guile_DATA = \
+ +boot+/ice-9/boot-9.scm \
Swig/common.scm \
gnuradio/core.scm \
gnuradio/export-safely.scm \