On Mon, Dec 19, 2011 at 10:40 AM, Philip Balister <address@hidden>
On 12/18/2011 08:30 PM, Michael Dickens wrote:At the same time, can we clean up the various combination of
> On Dec 18, 2011, at 3:41 PM, Tom Rondeau wrote:
>> The differences, though, coming in the naming scheme and installation
>> method. Instead of having a gr_<name>.h file installed into
>> $prefix/include/gnuradio, it's just <name>.h that is installed into
>> $prefix/include/gnuradio/blocks. Likewise, the headers in gr-filter are
>> installed into $prefix/include/gnuradio/filter.
> I like this change in header include structure. Most of the projects I work on do it this way, and it makes a lot of sense. Because this will be a change that impacts just about everyone doing C++ development using GNU Radio, I think -if possible- it would be good to keep the "gr_<name>.h" headers around, but all they do is 2 things:
> 1) print out a #warning about being deprecated, and to instead use "blocks/<name>.h" -- or, whatever makes sense for such a message; and
> 2) #include "blocks/<name>.h" so that the user's code still compiles as before
> That way, we benefit from the new header include structure, but aren't totally screwed if we've forgotten to use it. And, somewhere down the road after an appropriate amount of time, the "gr_<name>.h" headers can be removed entirely, if desired, because everyone has been well warned. I hope something along this line can be done.
I'd like to see the use of -I dropped where possible and all header
files referred to relative to /usr/include (or /usr/local/include)
Agreed. We should definitely make it that way.
If, following along from my thoughts to Martin, we move to v4.0, we would probably want to change every block to have the new constructor style. At the same time, we'd need to change everything to work with the new include hierarchy.
Man, that's going to be fun....