[emboss-dev] External Libraries, C++ App

ajb at ebi.ac.uk ajb at ebi.ac.uk
Thu Aug 2 14:46:06 UTC 2007


Hi Brandon,

The fewer configuration options there are the better. If the library
routines are of general use then they could go into AJAX, however
anything there should usually have the AJAX coding style/conventions
(PCRE is a bad precedent in that respect). In the case of libgmp
the best options are probably either:

a) Make it a condition of installation of the EMBASSY package
   that users install libgmp.

or, easier for the user (and support requests),

b) Make a sublibrary of the libgmp functions you need within the
   EMBASSY package. An example of how to do that is the Vienna EMBASSY
   package in CVS. In the src subdirectory the Makefile.am specifies
   that some of the source files are used to create a libvienna
   and then the other source files link against that and the standard
   EMBOSS libraries.

ATB

Alan









> Thanks for the tips and info, sounds good.  Another question is
> regarding the interoperability between AJAX and GMP.  Would it be
> acceptable for me to add some GMP oriented functions that are
> analogous to existing functions in AJAX and add an optional check in
> configure.in for GMP?  Since building EMBOSS with GMP would still be
> optional, my parametric alignment package could still be part of
> EMBASSY, but the AJAX GMP functions would be part of EMBOSS (but only
> built if the user has GMP, and maybe only if the user explicitly tells
> configure they want it).
>
> If not, I can try to make my own AJAX-like library for GMP types, but
> this doesn't seem ideal.
>
> On 8/1/07, Peter Rice <pmr at ebi.ac.uk> wrote:
>> Brandon Barker wrote:
>> > Hello, I'm currently developing a software package that I would like
>> to try
>> > to add to EMBOSS or EMBASSY.  There are two potential problems: the
>> package
>> > I'm working on is in C++, and most likely won't be changed to C.
>> Also, it
>> > makes heavy use (in innermost loops, unfortunately, but this can't be
>> > avoided) of arbitrary precision rationals (or integers) so I need to
>> use an
>> > external library (GMP). All the licensing should be fine, since all of
>> the
>> > software and libraries I'm using are under the LGPL or the GPL.  The
>> > application area is parametric and inverse parametric sequence
>> alignment (or
>> >  regular alignment with arbitrary precision parameters, but I don't
>> think too
>> >  many people are interested in that aspect).
>>
>> C++ should not be a problem. Licensing is also not a problem.
>>
>> But because you do need to compile with C++ and add an external library
>> I
>> suggest you make this an EMBASSY package. The reason is that you can
>> tailor the
>> EMBASSY package's configure.in and Makefile.am files for your build.
>>
>> The EMBOSS CVS server has an EMBASSY directory "myemboss" that can be
>> used as a
>> template for new EMBASSY packages.
>>
>> You have a choice of requiring users to install GMP or providing a copy
>> in the
>> EMBASSY package distribution.
>>
>> Please mail emboss-bug at emboss.open-bio.org for any help in configuring
>> (or
>> emboss-dev if it is of enough general interest)
>>
>> regards,
>>
>> Peter Rice
>>
>
>
> --
> Brandon Barker
> Phone: (859) 948-5335
> _______________________________________________
> emboss-dev mailing list
> emboss-dev at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/emboss-dev
>





More information about the emboss-dev mailing list