57 lines
1.6 KiB
Perl
Executable file
57 lines
1.6 KiB
Perl
Executable file
#! /usr/bin/perl
|
|
|
|
use strict;
|
|
|
|
my %FLAGS = {
|
|
'CFLAGS' => $ARGV[0],
|
|
'CPPFLAGS' => $ARGV[1],
|
|
'LDDFLAGS' => $ARGV[2],
|
|
'CXXFLAGS' => $ARGV[3],
|
|
};
|
|
|
|
sub clean_and_deduplicate {
|
|
my $arg = shift;
|
|
my $return_flags = "";
|
|
my @flags = split( /\s+/, $arg );
|
|
my %seen = ();
|
|
my @flags = grep { !$seen{$_}++ } @flags;
|
|
foreach my $flag (@flags) {
|
|
|
|
#print("FLAG: $flag\n");
|
|
$return_flags .= "$flag "
|
|
unless $flag =~ m/PLATFORM/
|
|
|| $flag =~ m/-DBUILD_DATETIME/
|
|
|| $flag =~ m/-fdebug-prefix-map/
|
|
|| $flag =~ m/-ffile-prefix-map/;
|
|
}
|
|
return $return_flags;
|
|
}
|
|
|
|
chdir("debian/tmp/usr/share/apache2/build/") || die("$1");
|
|
|
|
open( CONFIG_VARS, "<", "config_vars.mk" ) || die("config_vars.mk: $!");
|
|
open( TMP_CONFIG_VARS, ">", "tmp_config_vars.mk" )
|
|
|| die("tmp_config_vars.mk: $1");
|
|
|
|
while ( my $line = <CONFIG_VARS> ) {
|
|
chomp $line;
|
|
unless ( $line =~ m/(^|_)(LD|CPP|C|CXX)FLAGS/ ) {
|
|
print TMP_CONFIG_VARS "$line\n";
|
|
}
|
|
else {
|
|
my ( $flag, $value ) = split( /\s*=\s*/, $line, 2 );
|
|
if ( exists $FLAGS{$flag} ) {
|
|
$value .= ' ' . $FLAGS{$flag};
|
|
}
|
|
my $mangled = clean_and_deduplicate($value);
|
|
print "mangle: $flag: '$value' => '$mangled'\n";
|
|
printf TMP_CONFIG_VARS "%s = %s\n", $flag, $mangled;
|
|
}
|
|
}
|
|
|
|
close(CONFIG_VARS);
|
|
close(TMP_CONFIG_VARS);
|
|
|
|
unlink("config_vars.mk") || die("unlink: config_vars.mk: $1");
|
|
rename( "tmp_config_vars.mk", "config_vars.mk" )
|
|
|| die("rename: tmp_config_vars.mk: $1");
|