1 In-House patch. |
1 In-House patch. |
2 Making sure Perl-Tk does not build its own copy of libpng and libz, instead links against these libraries already present in Solaris in /usr/lib. |
2 Making sure Perl-Tk does not build its own copy of libpng and libz, instead links against these libraries already present in Solaris in /usr/lib. |
3 |
3 |
4 --- Tk-804.031/PNG/Makefile.PL.orig Tue Nov 12 22:36:34 2013 |
4 --- Tk-804.033/PNG/Makefile.PL.orig 2015-05-01 10:47:20.131896716 -0700 |
5 +++ Tk-804.031/PNG/Makefile.PL Tue Nov 12 22:36:41 2013 |
5 +++ Tk-804.033/PNG/Makefile.PL 2015-05-01 10:52:57.599540636 -0700 |
6 @@ -2,19 +2,7 @@ |
6 @@ -2,19 +2,6 @@ |
7 use strict; |
7 use strict; |
8 use Tk::MMutil; |
8 use Tk::MMutil; |
9 use Tk::Config (); |
9 use Tk::Config (); |
10 -use Tk::MMtry; |
10 -use Tk::MMtry; |
11 -use File::Copy; |
11 -use File::Copy; |
12 |
12 - |
13 -my $l = $Config::Config{'lib_ext'}; |
13 -my $l = $Config::Config{'lib_ext'}; |
14 -my $cc = $Config::Config{'cc'}; |
14 -my $cc = $Config::Config{'cc'}; |
15 -my $zlib = "libz$l"; |
15 -my $zlib = "libz$l"; |
16 - |
16 - |
17 -foreach my $file (qw(zlib/Makefile.PL libpng/Makefile.PL)) |
17 -foreach my $file (qw(zlib/Makefile.PL libpng/Makefile.PL)) |
18 - { |
18 - { |
|
19 - next unless -f $file; |
19 - chmod(0666,$file) unless -w $file; |
20 - chmod(0666,$file) unless -w $file; |
20 - unlink($file); |
21 - unlink($file); |
21 - } |
22 - } |
22 - |
23 |
23 my $libpng_cflags; |
24 my $all_cflags; |
24 my $libpng_libs; |
25 my $all_libs; |
25 system('pkg-config --exists libpng'); |
26 @@ -27,12 +14,6 @@ |
26 @@ -21,74 +9,17 @@ |
27 chomp($libpng_cflags = `pkg-config --cflags libpng`); |
27 if ($? == 0) { |
28 chomp($libpng_libs = `pkg-config --libs libpng`); |
28 chomp($libpng_cflags = `pkg-config --cflags libpng`); |
29 } |
29 chomp($libpng_libs = `pkg-config --libs libpng`); |
30 - else |
30 -} else { |
31 - { |
31 - warn "'pkg-config libpng' failed, continue with fallback values for cflags and libs...\n"; |
32 - warn "'pkg-config libpng' failed, continue with fallback values for cflags and libs...\n"; |
32 - $libpng_cflags = '-I/usr/local/include'; |
33 - $libpng_cflags = '-I/usr/local/include'; |
33 - $libpng_libs = '-lpng -lz -lm'; |
34 - $libpng_libs = '-lpng -lm'; |
|
35 - } |
|
36 |
|
37 my $zlib_cflags; |
|
38 my $zlib_libs; |
|
39 @@ -51,65 +32,18 @@ |
|
40 |
|
41 $all_cflags = "$libpng_cflags $zlib_cflags"; |
|
42 $all_libs = "$libpng_libs $zlib_libs"; |
|
43 + |
|
44 + Tk::MMutil::TkExtMakefile( |
|
45 + NAME => 'Tk::PNG', |
|
46 + VERSION_FROM => 'PNG.pm', |
|
47 + XS_VERSION => $Tk::Config::VERSION, |
|
48 + dist => { COMPRESS => 'gzip -f9', SUFFIX => '.gz' }, |
|
49 + OBJECT => '$(O_FILES)', |
|
50 + INC => $libpng_cflags, |
|
51 + LIBS => [$libpng_libs], |
|
52 + ); |
34 } |
53 } |
35 |
54 |
36 -if ($Tk::MMtry::VERSION ge '4.007' && |
55 -if ($Tk::MMtry::VERSION ge '4.007' && |
37 - try_run("config/has_png.c",[$libpng_cflags],[$libpng_libs])) |
56 - try_run("config/has_png.c",[$all_cflags],[$all_libs])) |
38 - { |
57 - { |
|
58 - warn "Using system's -lpng\n"; |
39 - Tk::MMutil::TkExtMakefile( |
59 - Tk::MMutil::TkExtMakefile( |
40 - NAME => 'Tk::PNG', |
60 - NAME => 'Tk::PNG', |
41 - VERSION_FROM => 'PNG.pm', |
61 - VERSION_FROM => 'PNG.pm', |
42 - XS_VERSION => $Tk::Config::VERSION, |
62 - XS_VERSION => $Tk::Config::VERSION, |
43 - dist => { COMPRESS => 'gzip -f9', SUFFIX => '.gz' }, |
63 - dist => { COMPRESS => 'gzip -f9', SUFFIX => '.gz' }, |
44 - OBJECT => '$(O_FILES)', |
64 - OBJECT => '$(O_FILES)', |
45 - INC => $libpng_cflags, |
65 - INC => $all_cflags, |
46 - LIBS => [$libpng_libs], |
66 - LIBS => [$all_libs], |
47 - ); |
67 - ); |
48 - } |
68 - } |
49 -else |
69 -else |
50 - { |
70 - { |
51 - my $ok = 1; |
71 - my $ok = 1; |
52 - foreach my $file ("libpng/Makefile.PL","zlib/Makefile.PL") |
|
53 - { |
|
54 - next unless -f $file; |
|
55 - chmod(0666,$file); |
|
56 - unlink($file); |
|
57 - } |
|
58 - unless (copy("Makefile.libpng.maybe","libpng/Makefile.PL")) |
72 - unless (copy("Makefile.libpng.maybe","libpng/Makefile.PL")) |
59 - { |
73 - { |
60 - warn "Cannot copy Makefile.libpng.maybe => libpng/Makefile.PL ($!)"; |
74 - warn "Cannot copy Makefile.libpng.maybe => libpng/Makefile.PL ($!)"; |
61 - $ok = 0; |
75 - $ok = 0; |
62 - } |
76 - } |
93 - { |
107 - { |
94 - warn "Cannot build libpng$l\n"; |
108 - warn "Cannot build libpng$l\n"; |
95 - ExtUtils::MakeMaker::WriteEmptyMakefile(); |
109 - ExtUtils::MakeMaker::WriteEmptyMakefile(); |
96 - } |
110 - } |
97 - } |
111 - } |
98 +Tk::MMutil::TkExtMakefile( |
|
99 + NAME => 'Tk::PNG', |
|
100 + VERSION_FROM => 'PNG.pm', |
|
101 + XS_VERSION => $Tk::Config::VERSION, |
|
102 + dist => { COMPRESS => 'gzip -f9', SUFFIX => '.gz' }, |
|
103 + OBJECT => '$(O_FILES)', |
|
104 + INC => $libpng_cflags, |
|
105 + LIBS => [$libpng_libs], |
|
106 + ); |
|
107 |
112 |
108 sub MY::test_via_harness |
113 sub MY::test_via_harness |
109 { |
114 { |
110 @@ -98,63 +29,3 @@ |
115 @@ -134,48 +68,3 @@ |
|
116 qq[PASTHRU="CC=$Config::Config{cc} $Config::Config{cccdlflags}" RANLIB=\"$Config::Config{ranlib}\"]; |
|
117 } |
111 } |
118 } |
112 |
|
113 package MY; |
|
114 - |
|
115 -sub pasthru { |
|
116 - if ($^O eq 'MSWin32' && $Config::Config{cc} =~ /gcc/) |
|
117 - { |
|
118 - # gcc usually has ranlib, also dmake does not understand "rem" |
|
119 - # which is default setting for $Config::Config{ranlib} under |
|
120 - # Windows, unless .USE_SHELL: is specified (see also special_targets |
|
121 - # in ExtUtils::MM_Win32) |
|
122 - qq[PASTHRU="CC=$Config::Config{cc} $Config::Config{cccdlflags}"]; |
|
123 - } |
|
124 - else |
|
125 - { |
|
126 - qq[PASTHRU="CC=$Config::Config{cc} $Config::Config{cccdlflags}" RANLIB=\"$Config::Config{ranlib}\"]; |
|
127 - } |
|
128 -} |
|
129 - |
119 - |
130 -sub postamble { |
120 -sub postamble { |
131 - my $s = ''; |
121 - my $s = ''; |
132 - if (-f "libpng/Makefile.PL") |
122 - if (-f "libpng/Makefile.PL") |
133 - { |
123 - { |