Page 1 of 1

New patches for multiquantum

Posted: 2012-12-31T04:48:09-07:00
by broucaries
Hi,

I have done a few patch for multi arch multi quantum:
- first one is an multiarch enhancement, it allow to have all except magick-baseconfig.h architecture independant.
- the second one allow headers to be quantum depth neutral. At the price of using two define during compilation, but old automatic ways work also.
It will allow to install only once the headers file.

Please found the patches at usual mail adress.

Next step will be to have multiple perl magick for each quantum depth.
Image::Magick::Q16 for instance

In order to be backward compatible we will need to alias Image::Magick to default implementation Image::Magick::Q16 for instance.
Using http://search.cpan.org/~ovid/aliased-0. ... aliased.pm it is only a matter of doing in magick.pm
use aliased "Image::Magick::Q16" => "Image::Magick";

Thanks

Bastien

Re: New patches for multiquantum

Posted: 2012-12-31T08:32:24-07:00
by magick
Thanks for the arch patches. Look for them in ImageMagick SVN in about an hour.

Re: New patches for multiquantum

Posted: 2013-01-03T16:48:30-07:00
by broucaries
I have created a new patch for multiquantum and perl. Please review.

It does not pass the whole test suite (I forget @EXPORT some routine). Please review.

Re: New patches for multiquantum

Posted: 2013-01-03T17:56:31-07:00
by magick
We have not added this patch to SVN yet. In our development environment we added the patch and got:
  • [magick@studio PerlMagick]# perl Makefile.PL
    Warning: -L../magick/.libs changed to -L/home/cristy/ImageMagick-6.8.1-9/PerlMagick/../magick/.libs
    Note (probably harmless): No library found for -lperl
    Warning: -L../../magick/.libs changed to -L/home/cristy/ImageMagick-6.8.1-9/PerlMagick/QUANTUM/../../magick/.libs
    Note (probably harmless): No library found for -lperl
    Writing Makefile for Image::Magick::Q16
    Writing MYMETA.yml and MYMETA.json
    Writing Makefile for Image::Magick
    Writing MYMETA.yml and MYMETA.json
    [magick@studio PerlMagick]# make
    Skip blib/lib/Image/Magick.pm (unchanged)
    make[1]: Entering directory `/home/cristy/ImageMagick-6.8.1-9/PerlMagick/QUANTUM'
    make[1]: *** No rule to make target `Q16.pm', needed by `pm_to_blib'. Stop.
    make[1]: Leaving directory `/home/cristy/ImageMagick-6.8.1-9/PerlMagick/QUANTUM'
    make: *** [subdirs] Error 2

Re: New patches for multiquantum

Posted: 2013-01-04T02:13:23-07:00
by broucaries
I know it need automaker in order to work

Do
Autoreconf -f -i
Make dist-clean
Configure --with-perl
Make perl-build

I am not a perl monk so I use automake to do substitution

Might be achiviable in perlmaker?

Bastien

Re: New patches for multiquantum

Posted: 2013-01-08T05:21:53-07:00
by broucaries
Have you tried using automake ?

bastien

Re: New patches for multiquantum

Posted: 2013-01-08T05:40:35-07:00
by magick
We tried automake and autoreconf, but returned the same result:
  • cd PerlMagick && /usr/bin/perl Makefile.PL
    Warning: -L../magick/.libs changed to -L/home/cristy/ImageMagick-6.8.1-10/PerlMagick/../magick/.libs
    Note (probably harmless): No library found for -lperl
    Warning: -L../../magick/.libs changed to -L/home/cristy/ImageMagick-6.8.1-10/PerlMagick/QUANTUM/../../magick/.libs
    Note (probably harmless): No library found for -lperl
    Writing Makefile for Image::Magick::Q16
    Writing MYMETA.yml and MYMETA.json
    Writing Makefile for Image::Magick
    Writing MYMETA.yml and MYMETA.json
    ( cd PerlMagick && make CC='gcc -std=gnu99 -std=gnu99' )
    make[1]: Entering directory `/home/cristy/ImageMagick-6.8.1-10/PerlMagick'
    Skip blib/lib/Image/Magick.pm (unchanged)
    make[2]: Entering directory `/home/cristy/ImageMagick-6.8.1-10/PerlMagick/QUANTUM'
    make[2]: *** No rule to make target `Q16.pm', needed by `pm_to_blib'. Stop.
    make[2]: Leaving directory `/home/cristy/ImageMagick-6.8.1-10/PerlMagick/QUANTUM'
    make[1]: *** [subdirs] Error 2
    make[1]: Leaving directory `/home/cristy/ImageMagick-6.8.1-10/PerlMagick'
    make: *** [perl-build] Error 2