diff mbox

perl-gd: fix configure/build

Message ID 1417195423-17839-1-git-send-email-francois.perrad@gadz.org
State Superseded
Headers show

Commit Message

Francois Perrad Nov. 28, 2014, 5:23 p.m. UTC
see http://autobuild.buildroot.net/results/e74/e74efded899744d757cb798c44f096b54898f95a/

this new patch prevents the use of a host gdlib-config

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 package/perl-gd/perl-gd-04-no-autoconfig.patch | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 package/perl-gd/perl-gd-04-no-autoconfig.patch

Comments

Peter Korsgaard Nov. 28, 2014, 8:44 p.m. UTC | #1
>>>>> "Francois" == Francois Perrad <fperrad@gmail.com> writes:

 > see http://autobuild.buildroot.net/results/e74/e74efded899744d757cb798c44f096b54898f95a/
 > this new patch prevents the use of a host gdlib-config

 > Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
 > ---
 >  package/perl-gd/perl-gd-04-no-autoconfig.patch | 19 +++++++++++++++++++
 >  1 file changed, 19 insertions(+)
 >  create mode 100644 package/perl-gd/perl-gd-04-no-autoconfig.patch

 > diff --git a/package/perl-gd/perl-gd-04-no-autoconfig.patch b/package/perl-gd/perl-gd-04-no-autoconfig.patch
 > new file mode 100644
 > index 0000000..c067d41
 > --- /dev/null
 > +++ b/package/perl-gd/perl-gd-04-no-autoconfig.patch
 > @@ -0,0 +1,19 @@
 > +prevents the use of gdlib-config in a cross-compilation environment
 > +
 > +Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
 > +
 > +Index: b/Makefile.PL
 > +===================================================================
 > +--- a/Makefile.PL
 > ++++ b/Makefile.PL
 > +@@ -272,6 +272,7 @@
 > + exit 0;
 > +
 > + sub try_to_autoconfigure {
 > ++  return; # hack for BR

But does that do the right thing?

This is what our gdlib-config returns when E.G. building with png and
jpeg support:

./staging/usr/bin/gdlib-config --all                                         ~/source/buildroot/outputgd
GD library  2.1.0
includedir: /home/peko/source/buildroot/outputgd/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include
cflags:     -I/home/peko/source/buildroot/outputgd/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include
ldflags:     -pthread
libs:       -ljpeg -lz -lm  -L/home/peko/source/buildroot/outputgd/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib -lpng16  
libdir:     /home/peko/source/buildroot/outputgd/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib
features:   GD_JPEG GD_PNG GD_GIF GD_GIFANIM GD_OPENPOLYGON

As far as I can see it doesn't end up linking with those libraries /
using -pthread. Does it work for you? (it might, when using shared linking).
Francois Perrad Nov. 29, 2014, 9:50 a.m. UTC | #2
2014-11-28 21:44 GMT+01:00 Peter Korsgaard <peter@korsgaard.com>:

> >>>>> "Francois" == Francois Perrad <fperrad@gmail.com> writes:
>
>  > see
> http://autobuild.buildroot.net/results/e74/e74efded899744d757cb798c44f096b54898f95a/
>  > this new patch prevents the use of a host gdlib-config
>
>  > Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
>  > ---
>  >  package/perl-gd/perl-gd-04-no-autoconfig.patch | 19 +++++++++++++++++++
>  >  1 file changed, 19 insertions(+)
>  >  create mode 100644 package/perl-gd/perl-gd-04-no-autoconfig.patch
>
>  > diff --git a/package/perl-gd/perl-gd-04-no-autoconfig.patch
> b/package/perl-gd/perl-gd-04-no-autoconfig.patch
>  > new file mode 100644
>  > index 0000000..c067d41
>  > --- /dev/null
>  > +++ b/package/perl-gd/perl-gd-04-no-autoconfig.patch
>  > @@ -0,0 +1,19 @@
>  > +prevents the use of gdlib-config in a cross-compilation environment
>  > +
>  > +Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
>  > +
>  > +Index: b/Makefile.PL
>  > +===================================================================
>  > +--- a/Makefile.PL
>  > ++++ b/Makefile.PL
>  > +@@ -272,6 +272,7 @@
>  > + exit 0;
>  > +
>  > + sub try_to_autoconfigure {
>  > ++  return; # hack for BR
>
> But does that do the right thing?
>
>
with this patch, gdlib-config is never called, the configure step uses only
values from PERL_GD_CONF_OPTS.

François


> This is what our gdlib-config returns when E.G. building with png and
> jpeg support:
>
> ./staging/usr/bin/gdlib-config --all
>    ~/source/buildroot/outputgd
> GD library  2.1.0
> includedir:
> /home/peko/source/buildroot/outputgd/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include
> cflags:
>  -I/home/peko/source/buildroot/outputgd/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include
> ldflags:     -pthread
> libs:       -ljpeg -lz -lm
> -L/home/peko/source/buildroot/outputgd/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib
> -lpng16
> libdir:
>  /home/peko/source/buildroot/outputgd/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib
> features:   GD_JPEG GD_PNG GD_GIF GD_GIFANIM GD_OPENPOLYGON
>
> As far as I can see it doesn't end up linking with those libraries /
> using -pthread. Does it work for you? (it might, when using shared
> linking).
>
> --
> Bye, Peter Korsgaard
>
Peter Korsgaard Nov. 29, 2014, 11:25 a.m. UTC | #3
>>>>> "François" == François Perrad <fperrad@gmail.com> writes:

Hi,

 >> > + sub try_to_autoconfigure {
 >> > ++  return; # hack for BR
 >> 
 >> But does that do the right thing?
 >> 
 > with this patch, gdlib-config is never called, the configure step uses only
 > values from PERL_GD_CONF_OPTS.

Yes, exactly. Does it end up linking with the right libraries flags
(-pthread -ljpeg -lz -lm)?
Francois Perrad Nov. 29, 2014, 6:22 p.m. UTC | #4
2014-11-29 12:25 GMT+01:00 Peter Korsgaard <peter@korsgaard.com>:

> >>>>> "François" == François Perrad <fperrad@gmail.com> writes:
>
> Hi,
>
>  >> > + sub try_to_autoconfigure {
>  >> > ++  return; # hack for BR
>  >>
>  >> But does that do the right thing?
>  >>
>  > with this patch, gdlib-config is never called, the configure step uses
> only
>  > values from PERL_GD_CONF_OPTS.
>
> Yes, exactly. Does it end up linking with the right libraries flags
> (-pthread -ljpeg -lz -lm)?
>
>

On my box, it links with : -lgd -lfreetype -lpng -lz -lm
that seems coherent with
    PERL_GD_DEPENDENCIES = perl zlib libpng freetype gd

François


> --
> Venlig hilsen,
> Peter Korsgaard
>
diff mbox

Patch

diff --git a/package/perl-gd/perl-gd-04-no-autoconfig.patch b/package/perl-gd/perl-gd-04-no-autoconfig.patch
new file mode 100644
index 0000000..c067d41
--- /dev/null
+++ b/package/perl-gd/perl-gd-04-no-autoconfig.patch
@@ -0,0 +1,19 @@ 
+prevents the use of gdlib-config in a cross-compilation environment
+
+Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
+
+Index: b/Makefile.PL
+===================================================================
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -272,6 +272,7 @@
+ exit 0;
+
+ sub try_to_autoconfigure {
++  return; # hack for BR
+   my ($options,$lib_gd_path,$INC,$LIBPATH,$LIBS) = @_;
+   my $config = `gdlib-config --all`;
+   return unless $config;
+--
+2.1.0
+