[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: Packaging Mauve and libClustalW

On Thu, 13 Mar 2008, Robert Edgar wrote:

Sounds like you're suggesting I maintain a library version of muscle, i.e.
something that can be linked with a C/C++ program or whatever. I'm open to
discussing this, but at first glance it strikes me as being a /lot/ of work
for the benefit of only a handful of users.

Well, Aaron has obviousely experience in doing so and I have converted
a couple of projects to build a library using libtool as well.  So this
is our offer to take over the grunt work of the conversion.

It would require a lot of
documentation for my (ugly, badly designed) functions and classes

Well, the fact that Aaron used it as a lib is proof enough that it is not
that bad. ;-)
Regarding the documentation doxygen can take over a reasonable amount.
Those users who do not understand will just use your executable and those
who would like to understand will read the code.

and would
do bad things like pollute the global namespace unless I did a lot of
cleaning up.

In how far you expect a name space pollution?

I'd need to understand why fork() is not a solution. If fork()
isn't practical for some reason then a pretty general hack might be to
re-name my main() to MUSCLE_main() then call MUSCLE_main() from your program
with appropriate argc, argv. I do my best to keep backwards compatibility
with command-line options for the benefit of people with scripts. It should
be straightforward to capture output from muscle by reading output files or
via a pipe; if there are problems with this then that might be a reasonable
thing for me to fix & maintain in future versions. There is a good chance
that memory leaks will be a problem; I don't have to care about freeing
everything if main() is called only once. I'm not sure how much time I'd be
willing to invest in fixing that, but if someone (Aaron?) wanted to take on
the challenge of using a memory leak tool to find all the leaks then I might
be willing to commit to fixing it & keeping it clean going forward.

Well, finally it is Aarons decision how to cope with that.

Please change the version number if the content of your distribution
tarball changed.

I generally do this, but haven't been fanatical; I will try to be consistent
in the future.

Thanks for this and as well for the quick response.

Kind regards


Reply to: