Hey,
So Ilja and I had been thinking a bit about adding a directory for some of the
Sieve code. Well, Ilja suggesting to do that and me disagreeing ;-)
Right, that was before I was done with the conditional compilation. For my
testing purposes, I had not yet set up the Makefile.am to allow a build
without the sorting and Sieve stuff built in. I'm working on that now, and
realizing that it would probably be a good idea to get the sorting code into a
directory because:
a) as written, you can do sorting with Sieve or with an as-yet-unwritten, but
maybe-in-the-future Regex sorting handler (one actually was written, and so I
included support for having something like it, though better abstracted behind
a generic sorting layer). So it might make some organizational sense.
b) Automake doesn't like conditional source dependencies. If that's what you
need, then the conditional parts should be in a directory and a convenience
library used. So it might actually be a necessity.
I'm kinda throwing it out there in case anyone else has any better
suggestions, otherwise what I'm going to suggest is the following:
- Sources for timsieved and sievecmd should remain in the top level with the
other executable and program sources.
- Sources for the sorting layer should be moved into a directory named sort or
sorting. I think sort is a better name for brevity.
- Do some renaming for consistency:
dbmail/sort.h (was sorting.h)
dbmail/sort/sort.c (main interface to sorting layer)
dbmail/sort/sortsieve.* (Sieve backend of sorting layer)
The result of all this should be that sort looks a lot like auth :-)
Aaron
So Ilja and I had been thinking a bit about adding a directory for some of the
Sieve code. Well, Ilja suggesting to do that and me disagreeing ;-)
Right, that was before I was done with the conditional compilation. For my
testing purposes, I had not yet set up the Makefile.am to allow a build
without the sorting and Sieve stuff built in. I'm working on that now, and
realizing that it would probably be a good idea to get the sorting code into a
directory because:
a) as written, you can do sorting with Sieve or with an as-yet-unwritten, but
maybe-in-the-future Regex sorting handler (one actually was written, and so I
included support for having something like it, though better abstracted behind
a generic sorting layer). So it might make some organizational sense.
b) Automake doesn't like conditional source dependencies. If that's what you
need, then the conditional parts should be in a directory and a convenience
library used. So it might actually be a necessity.
I'm kinda throwing it out there in case anyone else has any better
suggestions, otherwise what I'm going to suggest is the following:
- Sources for timsieved and sievecmd should remain in the top level with the
other executable and program sources.
- Sources for the sorting layer should be moved into a directory named sort or
sorting. I think sort is a better name for brevity.
- Do some renaming for consistency:
dbmail/sort.h (was sorting.h)
dbmail/sort/sort.c (main interface to sorting layer)
dbmail/sort/sortsieve.* (Sieve backend of sorting layer)
The result of all this should be that sort looks a lot like auth :-)
Aaron