| Karim Belabas on Tue, 15 Nov 2005 13:59:43 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: Not shipping pari.desc in the tarball and other wishlist |
* Bill Allombert [2005-11-15 12:07]:
> On Tue, Nov 15, 2005 at 11:10:24AM +0100, Karim Belabas wrote:
> > * Bill Allombert [2005-11-10 22:11]:
> > > We should try to remove pari.desc from the tarball. This is
> > > useless since pari.desc can be trivially rebuild with find and cat,
> > > and is not needed for normal build.
> > > (This would save 186kB and reduce the tar.gz by 44kB ).
> >
> > This is quite easy, the file is added explicitly in get_MANIFEST.
>
> Yes, but now you need perl to build, apparently.
>
> cd ../src/desc && perl merge_822 ../functions/*/* > def-linux-i686-14787.tmp
> mv ../src/desc/def-linux-i686-14787.tmp ../src/desc/pari.desc
> cd ../src/desc && perl gen_proto gp pari.desc > gp_init-linux-i686-14787.tmp &&
> perl gen_help gp pari.desc >> gp_init-linux-i686-14787.tmp
>
> I completly for got that src/desc/merge_822 was in perl, sorry...
> Maybe the 44kb save is not worth the trouble...
I don't think you need perl. This part is only included in the $objdir Makefile
if $add_funclist is non-empty. It is empty when perl doesn't work.
I just tried
rm src/desc/pari.desc
make clean
Configure -l \\ after editing pari.cfg to pretend I don't have perl
make
It does work ( and doesn't regenerate any of the header files from the
description system, of course ).
> > > Third, we should implement a top-level makefile target that take care
> > > of setting up the source tree in a way such that parallel build of
> > > pari in separate Oxxx-xxx object dir are safe. Currently there is a
> > > small risk of two threads updating the autogenerated .h files
> > > at the same times and producing garbage.
> >
> > I am not sure how to do this. As long as the generated files end up in
> > the source tree (even if created elsewhere), two threads may try to 'mv'
> > identical files to the same spot at the same time.
>
> Well, we could have a target that build all the autogenerated files.
> After running it, it should be safe to run parallel build since
> normally they should no more modify the source tree?
Ah, you meant a target that the user would invoke before launching any
parallel make. That would work. But a single 'make' (or make -j4, etc) has
the same effect right now, doesn't it ?
The point is not to launch any make for a different architecture before the
first one has generated those header files. Do we really need a separate
target in the top-level Makefile for that ?
Cheers,
Karim.
--
Karim Belabas Tel: (+33) (0)5 40 00 26 17
Universite Bordeaux 1 Fax: (+33) (0)5 40 00 69 50
351, cours de la Liberation http://www.math.u-bordeaux.fr/~belabas/
F-33405 Talence (France) http://pari.math.u-bordeaux.fr/ [PARI/GP]