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]