@{$unified_info{libraries}};
our @install_libs =
map { platform->staticname($_) }
- grep { !$unified_info{attributes}->{$_}->{noinst} }
+ grep { !$unified_info{attributes}->{libraries}->{$_}->{noinst} }
@{$unified_info{libraries}};
our @install_shlibs =
map { platform->sharedname($_) // () }
- grep { !$unified_info{attributes}->{$_}->{noinst} }
+ grep { !$unified_info{attributes}->{libraries}->{$_}->{noinst} }
@{$unified_info{libraries}};
our @install_engines =
- grep { !$unified_info{attributes}->{$_}->{noinst}
- && $unified_info{attributes}->{$_}->{engine} }
+ grep { !$unified_info{attributes}->{modules}->{$_}->{noinst}
+ && $unified_info{attributes}->{modules}->{$_}->{engine} }
@{$unified_info{modules}};
our @install_programs =
- grep { !$unified_info{attributes}->{$_}->{noinst} }
+ grep { !$unified_info{attributes}->{programs}->{$_}->{noinst} }
@{$unified_info{programs}};
our @install_bin_scripts =
- grep { !$unified_info{attributes}->{$_}->{noinst}
- && !$unified_info{attributes}->{$_}->{misc} }
+ grep { !$unified_info{attributes}->{scripts}->{$_}->{noinst}
+ && !$unified_info{attributes}->{scripts}->{$_}->{misc} }
@{$unified_info{scripts}};
our @install_misc_scripts =
- grep { !$unified_info{attributes}->{$_}->{noinst}
- && $unified_info{attributes}->{$_}->{misc} }
+ grep { !$unified_info{attributes}->{scripts}->{$_}->{noinst}
+ && $unified_info{attributes}->{scripts}->{$_}->{misc} }
@{$unified_info{scripts}};
# This is a horrible hack, but is needed because recursive inclusion of files
# On Unix platforms, we depend on {shlibname}.so
return map {
{ lib => platform->sharedlib($_) // platform->staticlib($_),
- attrs => $unified_info{attributes}->{$_} }
+ attrs => $unified_info{attributes}->{libraries}->{$_} }
} @_;
}
my $dofile = abs2rel(rel2abs(catfile($config{sourcedir},
"util", "dofile.pl")),
rel2abs($config{builddir}));
+ my @modules = ( 'configdata.pm',
+ grep { $_ =~ m|\.pm$| } @{$args{deps}} );
+ my %moduleincs = map { '"-I'.dirname($_).'"' => 1 } @modules;
+ @modules = map { '"-M'.basename($_, '.pm').'"' } @modules;
+ my $modules = join(' ', '', sort keys %moduleincs, @modules);
return <<"EOF";
$target : $args{generator}->[0] $deps
- \$(PERL) "-I\$(BLDDIR)" "-Mconfigdata" $dofile \\
- "-o$target{build_file}" $generator > \$\@
+ \$(PERL)$modules $dofile "-o$target{build_file}" $generator > \$\@
EOF
} else {
return <<"EOF";
EOF
}
} else {
- my $target = platform->asm($args{src});
- if ($args{generator}->[0] =~ /\.pl$/) {
- $generator = '$(PERL)'.$generator_incs.' '.$generator;
- } elsif ($args{generator}->[0] =~ /\.S$/) {
- $generator = undef;
- } else {
- die "Generator type for $src unknown: $generator\n";
- }
-
my $cppflags = {
shlib => '$(LIB_CFLAGS) $(LIB_CPPFLAGS)',
lib => '$(LIB_CFLAGS) $(LIB_CPPFLAGS)',
my $incs_on = join("\n\t\@ ", @{$incs_cmds[0]}) || '!';
my $incs_off = join("\n\t\@ ", @{$incs_cmds[1]}) || '!';
my $defs = join("", map { ",".$_ } @{$args{defs}});
+ my $target = platform->asm($args{src});
+
+ if ($args{generator}->[0] =~ /\.pl$/) {
+ $generator = '$(PERL)'.$generator_incs.' '.$generator
+ .' '.$cppflags;
+ } elsif ($args{generator}->[0] =~ /\.S$/) {
+ $generator = undef;
+ } else {
+ die "Generator type for $src unknown: $generator\n";
+ }
+
if (defined($generator)) {
# If the target is named foo.S in build.info, we want to
# end up generating foo.s in two steps.
# Otherwise....
return <<"EOF";
$target : $args{generator}->[0] $deps
+ \@ $incs_on
+ \@ extradefines = "$defs"
$generator \$\@
+ \@ DELETE/SYMBOL/LOCAL extradefines
+ \@ $incs_off
EOF
}
return <<"EOF";
}
sub obj2dso {
my %args = @_;
- my $dsoname = platform->dsoname($args{lib});
- my $dso = platform->dso($args{lib});
+ my $dsoname = platform->dsoname($args{module});
+ my $dso = platform->dso($args{module});
my @objs = map { platform->convertext($_) }
grep { platform->isobj($_) }
@{$args{objs}};