summaryrefslogtreecommitdiff
path: root/source4/build/smb_build
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-10-26 13:05:29 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:45:15 -0500
commit78696ddcb237012ad1468440362ca67baab125f6 (patch)
treeb9846b37b2529c7683b7343b181e9907f7c14812 /source4/build/smb_build
parent0511b5df160c1276b59db8f57a27e289800d1915 (diff)
downloadsamba-78696ddcb237012ad1468440362ca67baab125f6.tar.gz
samba-78696ddcb237012ad1468440362ca67baab125f6.tar.bz2
samba-78696ddcb237012ad1468440362ca67baab125f6.zip
r11299: Try to fix build on Stratos VOS (doesn't support ld -r)
(This used to be commit 65c71bf354612a589049753d854e154482957573)
Diffstat (limited to 'source4/build/smb_build')
-rw-r--r--source4/build/smb_build/input.pm13
-rw-r--r--source4/build/smb_build/main.pl16
2 files changed, 23 insertions, 6 deletions
diff --git a/source4/build/smb_build/input.pm b/source4/build/smb_build/input.pm
index 9b3c0afc60..dd56c5d9c8 100644
--- a/source4/build/smb_build/input.pm
+++ b/source4/build/smb_build/input.pm
@@ -10,7 +10,10 @@
use strict;
package smb_build::input;
-my $subsystem_default_output_type = "MERGEDOBJ";
+use vars qw($library_output_type $subsystem_output_type);
+
+$library_output_type = "OBJ_LIST";
+$subsystem_output_type = "OBJ_LIST";
my $srcdir = ".";
sub strtrim($)
@@ -41,7 +44,7 @@ sub check_subsystem($$)
}
unless(defined($subsys->{OUTPUT_TYPE})) {
- $subsys->{OUTPUT_TYPE} = $subsystem_default_output_type;
+ $subsys->{OUTPUT_TYPE} = $subsystem_output_type;
}
}
@@ -86,7 +89,7 @@ sub check_module($$)
$mod->{ENABLE} = "YES";
push (@{$INPUT->{$mod->{SUBSYSTEM}}{REQUIRED_SUBSYSTEMS}}, $mod->{NAME});
printf("Module: %s...static\n",$mod->{NAME});
- $mod->{OUTPUT_TYPE} = $subsystem_default_output_type;
+ $mod->{OUTPUT_TYPE} = $subsystem_output_type;
} else {
$mod->{ENABLE} = "NO";
printf("Module: %s...not\n",$mod->{NAME});
@@ -103,7 +106,7 @@ sub check_library($$)
return;
}
- $lib->{OUTPUT_TYPE} = "SHARED_LIBRARY";
+ $lib->{OUTPUT_TYPE} = $library_output_type;
}
sub check_binary($$)
@@ -145,8 +148,6 @@ sub check($$)
{
my ($INPUT, $enabled) = @_;
- ($subsystem_default_output_type = $ENV{SUBSYSTEM_OUTPUT_TYPE}) if (defined($ENV{"SUBSYSTEM_OUTPUT_TYPE"}));
-
foreach my $part (values %$INPUT) {
if (defined($enabled->{$part->{NAME}})) {
$part->{ENABLE} = $enabled->{$part->{NAME}};
diff --git a/source4/build/smb_build/main.pl b/source4/build/smb_build/main.pl
index 0e8f81d759..3643c2d89a 100644
--- a/source4/build/smb_build/main.pl
+++ b/source4/build/smb_build/main.pl
@@ -20,6 +20,22 @@ use strict;
my $INPUT = {};
my $mkfile = smb_build::config_mk::run_config_mk($INPUT, "main.mk");
+
+if (defined($ENV{"SUBSYSTEM_OUTPUT_TYPE"})) {
+ $smb_build::input::subsystem_output_type = $ENV{SUBSYSTEM_OUTPUT_TYPE};
+} elsif ($config::config{BLDMERGED} eq "true") {
+ $smb_build::input::subsystem_output_type = "MERGEDOBJ";
+}
+
+if (defined($ENV{"LIBRARY_OUTPUT_TYPE"})) {
+ $smb_build::input::subsystem_output_type = $ENV{LIBRARY_OUTPUT_TYPE};
+} elsif ($config::config{BLDSHARED} eq "true") {
+ # FIXME: This should really be SHARED_LIBRARY
+ $smb_build::input::subsystem_output_type = "MERGEDOBJ";
+} elsif ($config::config{BLDMERGED} eq "true") {
+ $smb_build::input::subsystem_output_type = "MERGEDOBJ";
+}
+
my $DEPEND = smb_build::input::check($INPUT, \%config::enabled);
my $OUTPUT = output::create_output($DEPEND);
my $mkenv = new smb_build::makefile(\%config::config, $OUTPUT, $mkfile);