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

Re: [help] modern packaging of multi-precision scientific library



2014-09-03 12:59 GMT+01:00 Felix Salfelder <salfelder@em.cs.uni-frankfurt.de>:
On Wed, Sep 03, 2014 at 12:15:13PM +0100, Ghislain Vaillant wrote:
> I fail to understand what you mean. My problem is not with upstream.
> Upstream
> does provide all the necessary stuff to generate different versions of the
> library for
> different precisions. In fact, upstream's build system is heavily inspired
> from the
> FFTW one. You can do something like:

hi Ghislain.

> configure && make && make install --> lib<name>.so --> lib<name>-double.deb
> configure --enable-single --suffix=f && make && make install -->
> lib<name>f.so --> lib<name>-single.deb
> configure --enable-double --suffix=l && make && make install -->
> lib<name>l.so --> lib<name>-longdouble.deb

from what i know, dh does not support magic for multiple builds, so you
could either change (fix?) upstream as Julien proposes, or

> My issue is with being able to translate the build of the different
> versions of the
> library for each supported precision in modern styled d/rules.

to get closer to dh, you may wish to override the dh targets and stick
to their respective semantics, if you consider that useful.

so instead of

some_batch_target:
   ./configure --this; make check; make install DESTDIR=debian/here; make clean
   ./configure --that; make check: make install DESTDIR=debian/there; make clean

you may want to have

%:; dh %

override_dh_auto_configure:
   -mkdir this that
   cd this; ../configure --this
   cd that; ../configure --that

override_dh_auto_check:
   $(MAKE) -C this check
   $(MAKE) -C that check

[..]

from there it's also easy to parallelize the independent builds. you get
the idea...

cheers, hth
felix


Ok so the idea would be to loop through each precision for each of the dh targets,
i.e build, clean, check, install..., am I right ?

Ghis

Reply to: