@ -421,6 +421,7 @@ sub gen_package_mk() {
foreach my $ name ( sort { uc ( $ a ) cmp uc ( $ b ) } keys % package ) {
my $ config ;
my $ pkg = $ package { $ name } ;
my $ src = $ srcpackage { $ pkg - > { src } } ;
my @ srcdeps ;
next if defined $ pkg - > { vdepends } ;
@ -441,11 +442,11 @@ sub gen_package_mk() {
next if $ done { $ pkg - > { src } } ;
$ done { $ pkg - > { src } } = 1 ;
if ( @ { $ pkg - > { buildtypes } } > 0 ) {
print "buildtypes-$pkg->{subdir}$pkg->{src} = " . join ( ' ' , @ { $ pkg - > { buildtypes } } ) . "\n" ;
if ( @ { $ src - > { buildtypes } } > 0 ) {
print "buildtypes-$pkg->{subdir}$pkg->{src} = " . join ( ' ' , @ { $ src - > { buildtypes } } ) . "\n" ;
}
foreach my $ spkg ( @ { $ srcpackage { $ pkg - > { src } } { packages } } ) {
foreach my $ spkg ( @ { $ src - > { packages } } ) {
foreach my $ dep ( @ { $ spkg - > { depends } } , @ { $ spkg - > { builddepends } } ) {
$ dep =~ /@/ or do {
$ dep =~ s/\+//g ;
@ -453,7 +454,7 @@ sub gen_package_mk() {
} ;
}
}
foreach my $ type ( @ { $ pkg - > { buildtypes } } ) {
foreach my $ type ( @ { $ src - > { buildtypes } } ) {
my @ extra_deps ;
my % deplines ;
@ -476,7 +477,7 @@ sub gen_package_mk() {
my $ idx = "" ;
my $ pkg_dep = $ package { $ dep } ;
if ( defined ( $ pkg_dep ) && defined ( $ pkg_dep - > { src } ) ) {
unless ( ! $ deptype || grep { $ _ eq $ deptype } @ { $ pkg_dep - > { buildtypes } } ) {
unless ( ! $ deptype || grep { $ _ eq $ deptype } @ { $ srcpackage { $ pkg_dep - > { src } } { buildtypes } } ) {
warn sprintf "WARNING: Makefile '%s' has a %s build dependency on '%s/%s' but '%s' does not implement a '%s' build type\n" ,
$ pkg - > { makefile } , $ type , $ pkg_dep - > { src } , $ deptype , $ pkg_dep - > { makefile } , $ deptype ;
next ;
@ -530,7 +531,7 @@ sub gen_package_mk() {
foreach my $ dep ( @ deps ) {
$ pkg_dep = $ package { $ deps } ;
if ( defined $ pkg_dep - > { src } ) {
unless ( ! $ deptype || grep { $ _ eq $ deptype } @ { $ pkg_dep - > { buildtypes } } ) {
unless ( ! $ deptype || grep { $ _ eq $ deptype } @ { $ srcpackage { $ pkg_dep - > { src } } { buildtypes } } ) {
warn sprintf "WARNING: Makefile '%s' has a build dependency on '%s/%s' but '%s' does not implement a '%s' build type\n" ,
$ pkg - > { makefile } , $ pkg_dep - > { src } , $ deptype , $ pkg_dep - > { makefile } , $ deptype ;
next ;