summaryrefslogtreecommitdiff
path: root/source4/build/smb_build/input.pm
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-12-15 15:59:10 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:47:24 -0500
commitf8be4e8a4fd853d97c5f3188e93747314618323a (patch)
tree5aedacafd011823c86cb29486169a9724ecb3978 /source4/build/smb_build/input.pm
parent6589e93b1b8a61860931a171a0306b270597e1f2 (diff)
downloadsamba-f8be4e8a4fd853d97c5f3188e93747314618323a.tar.gz
samba-f8be4e8a4fd853d97c5f3188e93747314618323a.tar.bz2
samba-f8be4e8a4fd853d97c5f3188e93747314618323a.zip
r12253: Automatically build seperate binaries without -rpath to install when
using shared libraries and developer mode is enabled. (This used to be commit 507bee76dc26b048ead317ec5e10a9deb1ff7f09)
Diffstat (limited to 'source4/build/smb_build/input.pm')
-rw-r--r--source4/build/smb_build/input.pm41
1 files changed, 14 insertions, 27 deletions
diff --git a/source4/build/smb_build/input.pm b/source4/build/smb_build/input.pm
index ebc91a9107..de558e709a 100644
--- a/source4/build/smb_build/input.pm
+++ b/source4/build/smb_build/input.pm
@@ -8,11 +8,6 @@
use strict;
package smb_build::input;
-use vars qw($library_output_type $subsystem_output_type $module_output_type);
-
-$library_output_type = "OBJ_LIST";
-$subsystem_output_type = "OBJ_LIST";
-$module_output_type = "OBJ_LIST";
my $srcdir = ".";
sub strtrim($)
@@ -34,22 +29,22 @@ sub str2array($)
return split /[ \t\n]/;
}
-sub check_subsystem($$)
+sub check_subsystem($$$)
{
- my ($INPUT, $subsys) = @_;
+ my ($INPUT, $subsys, $default_ot) = @_;
if ($subsys->{ENABLE} ne "YES") {
printf("Subsystem `%s' disabled\n",$subsys->{NAME});
return;
}
unless(defined($subsys->{OUTPUT_TYPE})) {
- $subsys->{OUTPUT_TYPE} = $subsystem_output_type;
+ $subsys->{OUTPUT_TYPE} = $default_ot;
}
}
-sub check_module($$)
+sub check_module($$$)
{
- my ($INPUT, $mod) = @_;
+ my ($INPUT, $mod, $default_ot) = @_;
die("Module $mod->{NAME} does not have a SUBSYSTEM set") if not defined($mod->{SUBSYSTEM});
@@ -70,7 +65,7 @@ sub check_module($$)
{
$mod->{OUTPUT_TYPE} = $mod->{CHOSEN_BUILD};
} else {
- $mod->{OUTPUT_TYPE} = $module_output_type;
+ $mod->{OUTPUT_TYPE} = $default_ot;
}
if ($mod->{OUTPUT_TYPE} eq "SHARED_LIBRARY" or
@@ -82,17 +77,16 @@ sub check_module($$)
}
}
-sub check_library($$)
+sub check_library($$$)
{
- my ($INPUT, $lib) = @_;
+ my ($INPUT, $lib, $default_ot) = @_;
if ($lib->{ENABLE} ne "YES") {
printf("Library `%s' disabled\n",$lib->{NAME});
return;
}
-
- $lib->{OUTPUT_TYPE} = $library_output_type;
+ $lib->{OUTPUT_TYPE} = $default_ot;
unless (defined($lib->{MAJOR_VERSION})) {
print "$lib->{NAME}: Please specify MAJOR_VERSION\n";
@@ -133,16 +127,9 @@ sub calc_unique_deps($$)
}
}
-###########################################################
-# This function checks the input from the configure script
-#
-# check_input($INPUT)
-#
-# $INPUT - the global INPUT context
-# $enabled - list of enabled subsystems/libs
-sub check($$)
+sub check($$$$$)
{
- my ($INPUT, $enabled) = @_;
+ my ($INPUT, $enabled, $subsys_ot, $lib_ot, $module_ot) = @_;
foreach my $part (values %$INPUT) {
if (defined($enabled->{$part->{NAME}})) {
@@ -158,9 +145,9 @@ sub check($$)
foreach my $k (keys %$INPUT) {
my $part = $INPUT->{$k};
- check_subsystem($INPUT, $part) if ($part->{TYPE} eq "SUBSYSTEM");
- check_module($INPUT, $part) if ($part->{TYPE} eq "MODULE");
- check_library($INPUT, $part) if ($part->{TYPE} eq "LIBRARY");
+ check_subsystem($INPUT, $part, $subsys_ot) if ($part->{TYPE} eq "SUBSYSTEM");
+ check_module($INPUT, $part, $module_ot) if ($part->{TYPE} eq "MODULE");
+ check_library($INPUT, $part, $lib_ot) if ($part->{TYPE} eq "LIBRARY");
check_binary($INPUT, $part) if ($part->{TYPE} eq "BINARY");
}