# This script reorders config_h.SH after metaconfig
# Changing metaconfig is too complicated
#
-# Copyright (C) 2005-2005 by H.Merijn Brand (m)'05 [25-05-2005]
+# This script is run just after metaconfig, and it
+# is run ONLY ONCE. Not to be used afterwards
+#
+# Copyright (C) 2005-2012 by H.Merijn Brand (m)'12 [22-09-2012]
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the README file.
use warnings;
my ($cSH, $ch, @ch, %ch) = ("config_h.SH");
-open $ch, "<$cSH" or die "Cannot open $cSH: $!\n";
+open $ch, '<', $cSH or die "Cannot open $cSH: $!\n";
{ local $/ = "\n\n";
@ch = <$ch>;
close $ch;
my %dep = (
# This symbol must be defined BEFORE ...
+ BYTEORDER => [ qw( UVSIZE ) ],
LONGSIZE => [ qw( BYTEORDER ) ],
MULTIARCH => [ qw( BYTEORDER MEM_ALIGNBYTES ) ],
HAS_QUAD => [ qw( I64TYPE ) ],
+ HAS_GETGROUPS => [ qw( Groups_t ) ],
+ HAS_SETGROUPS => [ qw( Groups_t ) ],
);
my $changed;
}
} while ($changed);
-open $ch, "> $cSH" or die "Cannot write $cSH: $!\n";
+# 30327
+for (grep m{echo .Extracting \$CONFIG_H} => @ch) {
+ my $case = join "\n",
+ qq{case "\$CONFIG_H" in},
+ qq{already-done) echo "Not re-extracting config.h" ;;},
+ qq{*)}, "";
+ s{^(?=echo .Extracting)}{$case}m;
+ }
+push @ch, ";;\nesac\n";
+
+
+open $ch, '>', $cSH or die "Cannot write $cSH: $!\n";
+print $ch <<EOW;
+#!/bin/sh
+#
+# THIS IS A GENERATED FILE
+# DO NOT HAND-EDIT
+#
+# See Porting/config_h.pl
+
+EOW
+
print $ch @ch;
close $ch;