diff options
Diffstat (limited to 'source4/build/smb_build/input.pm')
-rw-r--r-- | source4/build/smb_build/input.pm | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source4/build/smb_build/input.pm b/source4/build/smb_build/input.pm index 77b497d25c..a96aad2271 100644 --- a/source4/build/smb_build/input.pm +++ b/source4/build/smb_build/input.pm @@ -91,11 +91,17 @@ sub check_module($$$) } if (not defined($mod->{OUTPUT_TYPE})) { - $mod->{OUTPUT_TYPE} = $default_ot; + if ($INPUT->{$mod->{SUBSYSTEM}}->{TYPE} eq "EXT_LIB") { + $mod->{OUTPUT_TYPE} = ["SHARED_LIBRARY"]; + } else { + $mod->{OUTPUT_TYPE} = $default_ot; + } } if (grep(/SHARED_LIBRARY/, @{$mod->{OUTPUT_TYPE}})) { - $mod->{INSTALLDIR} = "MODULESDIR/$mod->{SUBSYSTEM}"; + my $sane_subsystem = lc($mod->{SUBSYSTEM}); + $sane_subsystem =~ s/^lib//; + $mod->{INSTALLDIR} = "MODULESDIR/$sane_subsystem"; push (@{$mod->{PRIVATE_DEPENDENCIES}}, $mod->{SUBSYSTEM}); } if (grep(/INTEGRATED/, @{$mod->{OUTPUT_TYPE}})) { |