$depend = join("||", map { "PACKAGE_".$_ } @$vdep);
} else {
$flags =~ /\+/ and do {
- next if $only_dep;
- $m = "select";
-
# Menuconfig will not treat 'select FOO' as a real dependency
# thus if FOO depends on other config options, these dependencies
# will not be checked. To fix this, we simply emit all of FOO's
# depends here as well.
$package{$depend} and mconf_depends($package{$depend}->{depends}, 1, $dep);
+
+ $m = "select";
+ next if $only_dep;
};
$flags =~ /@/ or $depend = "PACKAGE_$depend";
}
sub gen_package_config() {
parse_package_metadata($ARGV[0]) or exit 1;
- print "menuconfig UCI_PRECONFIG\n\tbool \"Image configuration\"\n";
+ print "menuconfig UCI_PRECONFIG\n\tbool \"Image configuration\"\n" if %preconfig;
foreach my $preconfig (keys %preconfig) {
foreach my $cfg (keys %{$preconfig{$preconfig}}) {
my $conf = $preconfig{$preconfig}->{$cfg}->{id};
my @srcdeps;
next if defined $pkg->{vdepends};
- next if $done{$pkg->{src}};
- $done{$pkg->{src}} = 1;
-
- foreach my $spkg (@{$srcpackage{$pkg->{src}}}) {
- foreach my $dep (@{$spkg->{depends}}, @{$spkg->{builddepends}}) {
- $dep =~ /@/ or do {
- $dep =~ s/\+//g;
- push @srcdeps, $dep;
- };
- }
- }
if ($ENV{SDK}) {
$conf{$pkg->{src}} or do {
$pkg->{prereq} and print "prereq-$config += $pkg->{subdir}$pkg->{src}\n";
}
+ next if $done{$pkg->{src}};
+ $done{$pkg->{src}} = 1;
+
+ foreach my $spkg (@{$srcpackage{$pkg->{src}}}) {
+ foreach my $dep (@{$spkg->{depends}}, @{$spkg->{builddepends}}) {
+ $dep =~ /@/ or do {
+ $dep =~ s/\+//g;
+ push @srcdeps, $dep;
+ };
+ }
+ }
+
my $hasdeps = 0;
my $depline = "";
foreach my $deps (@srcdeps) {