my $out = shift;
my $verbose = ($type =~ s/-v$//);
+## BEGIN HACK: REMOVE IN 2.2!
+sub read_config_cache {
+ my %cfg = ();
+ open(CACHE, '../.config.cache') or return %cfg;
+ while (my $line = <CACHE>) {
+ next if $line =~ /^\s*($|\#)/;
+ my ($key, $value) = ($line =~ /^(\S+)="(.*)"$/);
+ $cfg{$key} = $value;
+ }
+ close(CACHE);
+ return %cfg;
+}
+
+our %config = read_config_cache();
+## END HACK
+
if ($type eq 'gen-ld') {
do_static_find(@ARGV);
} elsif ($type eq 'static-ld') {
sub do_static_find {
my @flags;
for my $file (@ARGV) {
- push @flags, getlinkerflags($file);
+ push @flags, get_property($file, 'LinkerFlags');
}
open F, '>', $out;
print F join ' ', @flags;
my $libs = '';
my $binary = $ENV{RUNCC};
if ($do_compile) {
- $flags = $ENV{CORECXXFLAGS};
- $flags =~ s/ -pedantic// if nopedantic($file);
- $flags .= ' ' . getcompilerflags($file);
+ $flags = $ENV{CORECXXFLAGS} . ' ' . get_property($file, 'CompileFlags');
- if ($file =~ m#(?:^|/)((?:m|cmd)_[^/. ]+)(?:\.cpp|/.*\.cpp)$#) {
+ if ($file =~ m#(?:^|/)((?:m|core)_[^/. ]+)(?:\.cpp|/.*\.cpp)$#) {
$flags .= ' -DMODNAME=\\"'.$1.'\\"';
}
} else {
if ($do_link) {
$flags = join ' ', $flags, $ENV{PICLDFLAGS};
- $libs = join ' ', getlinkerflags($file);
+ $libs = get_property($file, 'LinkerFlags');
} else {
$flags .= ' -c';
}