summaryrefslogtreecommitdiffstats
path: root/mod_perl-2.0.4-multilib.patch
blob: 34234a4b660c631ea5691d7e41de3d48e8eb8279 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

Generate the XS typemap files in sorted order; ensures that the
devel package contents do not differe across multilib platforms.

--- mod_perl-2.0.4/lib/ModPerl/TypeMap.pm.multilib
+++ mod_perl-2.0.4/lib/ModPerl/TypeMap.pm
@@ -442,12 +442,12 @@ sub typedefs_code {
         $code .= qq{\#include "$_"\n}
     }
 
-    for my $t (@{ $self->{struct} }) {
+    for my $t (sort {$a->[1] cmp $b->[1]} @{ $self->{struct} }) {
         next if $seen{ $t->[1] }++;
         $code .= "typedef $t->[0] * $t->[1];\n";
     }
 
-    for my $t (@{ $self->{typedef} }) {
+    for my $t (sort {$a->[1] cmp $b->[1]} @{ $self->{typedef} }) {
         next if $seen{ $t->[1] }++;
         $code .= "typedef $t->[0] $t->[1];\n";
     }
@@ -470,7 +470,9 @@ sub sv_convert_code {
     my %seen;
     my $code = "";
 
-    while (my ($ctype, $ptype) = each %$map) {
+    for my $ctype (sort keys %$map) {
+        my $ptype = $map->{$ctype};
+
         next if $self->special($ptype);
         next if $ctype =~ /\s/;
         my $class = $ptype;