summaryrefslogtreecommitdiff
path: root/Guile-TODO
blob: 93d96fa1792358f02f0c596a31eebb72461c49cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
In no particular order:

2)  SIGINT handling in gr_top_block::wait

3)  Ensure that all 4 combinations of
    --{enable,disable}-python --{enable,disable}-guile
    work correctly.

    When both are disabled swig should NOT be run.
    When --enable-guile --disable-python, python swig stuff should not be generated.
    When --disable-guile --enable-python, guile swig stuff should not be generated.

5)  Ensure that all gr-* components are generating guile code when
    enabled, and that (1) and (3) are handled in all gr-* components.

5b) Don't forget gr-howto-write-a-block. (It's got its own
    configure.ac and is built separately from the rest.)

6)  Fix printed representation of blocks in gr_block.i

9)  Any other FIXME style warnings

10) Finish gnuradio-core test cases

11) Write test cases for gr-* components.

    For the one's that have a h/w dependency, just confirm that we can
    load the module.  See gr_audio_alsa/src/audio_alsa.test for an
    example.

    For the others, write a test in the style of the ones in
    gnuradio-core. 

12) Swig guile modules names: s/_/-/g

13) Change guile libnames to libguile-gnuradio-<module-name>

14) Add support to setup_guile_test_env.in for
    "withlibs", OS/X (DYLD_LIBRARY_PATH), windows (PATH)

15) Rewrite gr-run-waveform as C/C++ code that embeds guile.
    See if we can't statically link libguile into this.
    Will need to figure out which packages provide libguile.a.

16) Test this stuff with Guile 1.9 to confirm that it works and to see
    how much faster it is.  Load time currently is currently kind of doggy.



I'm sure I'm forgetting some things...



80) Confirm make dist and make distcheck work

81) Anything else that would keep us from merging into next.

82) Get some other developers to try it out.




90)  Merge to next

100) Handle any fallout we missed.


-------------------------------------------------------------------------------
These are done:


1)  [DONE] Ensure that libraries containing swig generated code are regenerated
    when any relevant .i file is touched.

4)  [DONE] Fix GR_SWIG_BLOCK_MAGIC so that in the guile case we don't map all
    the constructors into the same name.  E.g. audio_alsa_sink -> sink.
    (Causes problem when multiple gr-* modules are used.)

7)  [DONE] Fix gr-usrp so that it works.  Probably related to
    warning received when generating python bindings.
    Making the swig/python warning go away will probably resolve the
    guile problem.

8)  [DONE] Fix gr_message_{sink,source} so that they work under guile.
    (Not sure if I disabled one or both of these...)

17) [DONE] Get std::vector< std::complex<float> > working