[Buildroot] [PATCH RFC 2/2] package/perl-gd: Add a new option to set the path to gdlib-config

Romain Naour romain.naour at openwide.fr
Sat Dec 20 23:51:00 UTC 2014


The build of perl-gd use the gdlib-config from the host that in result
incorect features enabled, incorrect header and library paths.

Should fixes:
http://autobuild.buildroot.net/results/15c/15ce69b916167305aba2820a157c880e487ee8c7/
http://autobuild.buildroot.net/results/504/504d64d992eb504e02c127feb4734a917ad95d0a/
http://autobuild.buildroot.net/results/551/5512213c8861e51b390c1c223d53add0ec1ed758/

And many more.

Note:
In the generated Makefile, LDFLAGS still contains "-L/usr/local/lib"

Signed-off-by: Romain Naour <romain.naour at openwide.fr>
---
 .../0004-gdlib-config-is-now-configurable.patch    | 67 ++++++++++++++++++++++
 package/perl-gd/perl-gd.mk                         |  3 +-
 2 files changed, 69 insertions(+), 1 deletion(-)
 create mode 100644 package/perl-gd/0004-gdlib-config-is-now-configurable.patch

diff --git a/package/perl-gd/0004-gdlib-config-is-now-configurable.patch b/package/perl-gd/0004-gdlib-config-is-now-configurable.patch
new file mode 100644
index 0000000..dea6126
--- /dev/null
+++ b/package/perl-gd/0004-gdlib-config-is-now-configurable.patch
@@ -0,0 +1,67 @@
+From f417f38929fe558d388b9a9343da9b2c0e6984aa Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour at openwide.fr>
+Date: Sat, 20 Dec 2014 23:22:41 +0100
+Subject: [PATCH] Makefile.PL: gdlib-config is now configurable
+
+Signed-off-by: Romain Naour <romain.naour at openwide.fr>
+---
+ Makefile.PL | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.PL b/Makefile.PL
+index dfe8ad7..0fa6ef3 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -21,7 +21,7 @@ END
+ my (@INC, at LIBPATH, at LIBS);
+ my $AUTOCONFIG = 0;      # global set by try_to_autoconfigure() below
+ 
+-my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path,$force);
++my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path,$force,$gdlib_config_path);
+ 
+ use Getopt::Long;
+ my $result = GetOptions("options=s"         => \$options,
+@@ -32,6 +32,7 @@ my $result = GetOptions("options=s"         => \$options,
+ 			"lib_xpm_path=s"    => \$lib_xpm_path,
+ 			"lib_zlib_path=s"   => \$lib_zlib_path,
+ 			"ignore_missing_gd" => \$force,
++			"gdlib_config_path=s" => \$gdlib_config_path,
+ 		       );
+ 
+ unless (try_to_autoconfigure(\$options,\$lib_gd_path,\@INC,\@LIBPATH,\@LIBS) || $force) {
+@@ -72,6 +73,7 @@ Configure GD module.
+      -lib_xpm_path  path            path to libxpm
+      -lib_zlib_path path            path to libpng
+      -ignore_missing_gd             Ignore missing or old libgd installations and try to compile anyway
++     -gdlib_config_path path        path to gdlib-config
+ 
+ If no options are passed on the command line.  The program will
+ attempt to autoconfigure itself with the gdlib-config program (present
+@@ -118,6 +120,15 @@ if( defined($lib_zlib_path) )
+     @INC     = ("-I$lib_zlib_path/include", @INC);
+     @LIBPATH = ("-L$lib_zlib_path/lib", @LIBPATH); 
+ }
++if( defined($gdlib_config_path) )
++{
++    print "gdlib-config used:          $gdlib_config_path\n";
++}
++else
++{
++    $gdlib_config_path = "gdlib-config";
++    print "$gdlib_config_path used from the PATH\n";
++}
+ #############################################################################################
+ 
+ if ($^O eq 'VMS'){
+@@ -275,7 +286,7 @@ exit 0;
+ 
+ sub try_to_autoconfigure {
+   my ($options,$lib_gd_path,$INC,$LIBPATH,$LIBS) = @_;
+-  my $config = `gdlib-config --all`;
++  my $config = `$gdlib_config_path --all`;
+   return unless $config;
+   $AUTOCONFIG++;
+ 
+-- 
+1.9.3
+
diff --git a/package/perl-gd/perl-gd.mk b/package/perl-gd/perl-gd.mk
index 6df0e10..843687b 100644
--- a/package/perl-gd/perl-gd.mk
+++ b/package/perl-gd/perl-gd.mk
@@ -17,6 +17,7 @@ PERL_GD_CONF_OPTS = \
 	-lib_ft_path=$(STAGING_DIR)/usr \
 	-lib_png_path=$(STAGING_DIR)/usr \
 	-lib_zlib_path=$(STAGING_DIR)/usr \
-	-ignore_missing_gd
+	-ignore_missing_gd \
+	-gdlib=$(STAGING_DIR)/usr/bin/gdlib-config
 
 $(eval $(perl-package))
-- 
1.9.3




More information about the buildroot mailing list