From 105c6fec24c0775fde548c32d87b7e482a0edff3 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 11 Feb 2008 01:42:29 +0100 Subject: Avoid autogenerating the Makefile but rather include a data.mk file that is autogenerated. (This used to be commit 95967e8bfbdce2e073a3fc938f1271da40b543d3) --- source4/build/smb_build/main.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source4/build/smb_build/main.pl') diff --git a/source4/build/smb_build/main.pl b/source4/build/smb_build/main.pl index fb769103d0..ff540215f7 100644 --- a/source4/build/smb_build/main.pl +++ b/source4/build/smb_build/main.pl @@ -80,7 +80,7 @@ foreach my $key (values %$OUTPUT) { defined($key->{PUBLIC_PROTO_HEADER}); } -$mkenv->write("Makefile"); +$mkenv->write("data.mk"); header::create_smb_build_h($OUTPUT, "include/build.h"); cflags::create_cflags($OUTPUT, $config::config{srcdir}, -- cgit From b0a7e5476b0510f69d1282bb33b9b7de67a28577 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 13 Feb 2008 21:03:01 +0100 Subject: Use more variables in generated data.mk. (This used to be commit 2dce9e4e0d5ba8785fdee3daba91e6c9f4a32040) --- source4/build/smb_build/main.pl | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'source4/build/smb_build/main.pl') diff --git a/source4/build/smb_build/main.pl b/source4/build/smb_build/main.pl index ff540215f7..a85eab32de 100644 --- a/source4/build/smb_build/main.pl +++ b/source4/build/smb_build/main.pl @@ -63,16 +63,15 @@ foreach my $key (values %$OUTPUT) { if (defined($key->{PC_FILE})) { push(@{$mkenv->{pc_files}}, "$key->{BASEDIR}/$key->{PC_FILE}"); } - $mkenv->SharedLibrary($key) if ($key->{TYPE} eq "LIBRARY") and + $mkenv->SharedLibraryPrimitives($key) if ($key->{TYPE} eq "LIBRARY") and grep(/SHARED_LIBRARY/, @{$key->{OUTPUT_TYPE}}); if ($key->{TYPE} eq "LIBRARY" and ${$key->{OUTPUT_TYPE}}[0] eq "SHARED_LIBRARY") { $shared_libs_used = 1; } - $mkenv->SharedModule($key) if ($key->{TYPE} eq "MODULE" or + $mkenv->SharedModulePrimitives($key) if ($key->{TYPE} eq "MODULE" or $key->{TYPE} eq "PYTHON") and grep(/SHARED_LIBRARY/, @{$key->{OUTPUT_TYPE}}); - $mkenv->Binary($key) if grep(/BINARY/, @{$key->{OUTPUT_TYPE}}); $mkenv->PythonFiles($key) if defined($key->{PYTHON_FILES}); $mkenv->Manpage($key) if defined($key->{MANPAGE}); $mkenv->Header($key) if defined($key->{PUBLIC_HEADERS}); @@ -80,6 +79,17 @@ foreach my $key (values %$OUTPUT) { defined($key->{PUBLIC_PROTO_HEADER}); } +foreach my $key (values %$OUTPUT) { + next unless defined $key->{OUTPUT_TYPE}; + + $mkenv->SharedLibrary($key) if ($key->{TYPE} eq "LIBRARY") and + grep(/SHARED_LIBRARY/, @{$key->{OUTPUT_TYPE}}); + $mkenv->SharedModule($key) if ($key->{TYPE} eq "MODULE" or + $key->{TYPE} eq "PYTHON") and + grep(/SHARED_LIBRARY/, @{$key->{OUTPUT_TYPE}}); + $mkenv->Binary($key) if grep(/BINARY/, @{$key->{OUTPUT_TYPE}}); +} + $mkenv->write("data.mk"); header::create_smb_build_h($OUTPUT, "include/build.h"); -- cgit From 8d7e2eb68c7c63ef36d24ce59953c20c2579aa5f Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sat, 16 Feb 2008 20:38:21 +0100 Subject: Reintroduce mergedobj support. (This used to be commit 1cf23c58411a9b8a9bb97016c27c10a218e73146) --- source4/build/smb_build/main.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source4/build/smb_build/main.pl') diff --git a/source4/build/smb_build/main.pl b/source4/build/smb_build/main.pl index a85eab32de..4c09e32422 100644 --- a/source4/build/smb_build/main.pl +++ b/source4/build/smb_build/main.pl @@ -20,7 +20,7 @@ my $INPUT = {}; my $mkfile = smb_build::config_mk::run_config_mk($INPUT, $config::config{srcdir}, $config::config{builddir}, "main.mk"); my $subsys_output_type; -$subsys_output_type = ["STATIC_LIBRARY"]; +$subsys_output_type = ["MERGED_OBJ"]; my $library_output_type; if ($config::config{USESHARED} eq "true") { @@ -59,6 +59,7 @@ my $shared_libs_used = 0; foreach my $key (values %$OUTPUT) { next unless defined $key->{OUTPUT_TYPE}; + $mkenv->MergedObj($key) if grep(/MERGED_OBJ/, @{$key->{OUTPUT_TYPE}}); $mkenv->StaticLibrary($key) if grep(/STATIC_LIBRARY/, @{$key->{OUTPUT_TYPE}}); if (defined($key->{PC_FILE})) { push(@{$mkenv->{pc_files}}, "$key->{BASEDIR}/$key->{PC_FILE}"); -- cgit From e8cf95773df914e8d71dcc1ce713fe0cc723d946 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 18 Feb 2008 11:50:07 +0100 Subject: Switch back to using static libraries for subsystems for now, since partial linking is still giving some problems. (This used to be commit 0d8ddae4964dc50e981e12b6a93235a50a0607ff) --- source4/build/smb_build/main.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source4/build/smb_build/main.pl') diff --git a/source4/build/smb_build/main.pl b/source4/build/smb_build/main.pl index 4c09e32422..46a092d69f 100644 --- a/source4/build/smb_build/main.pl +++ b/source4/build/smb_build/main.pl @@ -20,7 +20,8 @@ my $INPUT = {}; my $mkfile = smb_build::config_mk::run_config_mk($INPUT, $config::config{srcdir}, $config::config{builddir}, "main.mk"); my $subsys_output_type; -$subsys_output_type = ["MERGED_OBJ"]; +#$subsys_output_type = ["MERGED_OBJ"]; +$subsys_output_type = ["STATIC_LIBRARY"]; my $library_output_type; if ($config::config{USESHARED} eq "true") { -- cgit From e5d7bd3821327b509ebf38232e8b972455829f88 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 18 Feb 2008 13:10:30 +0100 Subject: Reenable partial linking (This used to be commit a7512fb059d5dcb6bf70418622206eec94153693) --- source4/build/smb_build/main.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source4/build/smb_build/main.pl') diff --git a/source4/build/smb_build/main.pl b/source4/build/smb_build/main.pl index 46a092d69f..ba25035ea5 100644 --- a/source4/build/smb_build/main.pl +++ b/source4/build/smb_build/main.pl @@ -20,8 +20,8 @@ my $INPUT = {}; my $mkfile = smb_build::config_mk::run_config_mk($INPUT, $config::config{srcdir}, $config::config{builddir}, "main.mk"); my $subsys_output_type; -#$subsys_output_type = ["MERGED_OBJ"]; -$subsys_output_type = ["STATIC_LIBRARY"]; +$subsys_output_type = ["MERGED_OBJ"]; +#$subsys_output_type = ["STATIC_LIBRARY"]; my $library_output_type; if ($config::config{USESHARED} eq "true") { -- cgit From 51b0a285f02e1bc6187e64514f3f59f546bbecc5 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 18 Feb 2008 15:31:15 +0100 Subject: Avoid redetermining paths; use already stored values. (This used to be commit 0d223ddc39b7438dbce6716f1f00c29579a1f4c4) --- source4/build/smb_build/main.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source4/build/smb_build/main.pl') diff --git a/source4/build/smb_build/main.pl b/source4/build/smb_build/main.pl index ba25035ea5..46a092d69f 100644 --- a/source4/build/smb_build/main.pl +++ b/source4/build/smb_build/main.pl @@ -20,8 +20,8 @@ my $INPUT = {}; my $mkfile = smb_build::config_mk::run_config_mk($INPUT, $config::config{srcdir}, $config::config{builddir}, "main.mk"); my $subsys_output_type; -$subsys_output_type = ["MERGED_OBJ"]; -#$subsys_output_type = ["STATIC_LIBRARY"]; +#$subsys_output_type = ["MERGED_OBJ"]; +$subsys_output_type = ["STATIC_LIBRARY"]; my $library_output_type; if ($config::config{USESHARED} eq "true") { -- cgit From 80cbff3d011ad9264462812f57991ed0393b385e Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 18 Feb 2008 16:02:33 +0100 Subject: Fix build with partial linking. (This used to be commit bfad9610c472e8d7e3656e19c8dbb6b85727dc13) --- source4/build/smb_build/main.pl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'source4/build/smb_build/main.pl') diff --git a/source4/build/smb_build/main.pl b/source4/build/smb_build/main.pl index 46a092d69f..4c09e32422 100644 --- a/source4/build/smb_build/main.pl +++ b/source4/build/smb_build/main.pl @@ -20,8 +20,7 @@ my $INPUT = {}; my $mkfile = smb_build::config_mk::run_config_mk($INPUT, $config::config{srcdir}, $config::config{builddir}, "main.mk"); my $subsys_output_type; -#$subsys_output_type = ["MERGED_OBJ"]; -$subsys_output_type = ["STATIC_LIBRARY"]; +$subsys_output_type = ["MERGED_OBJ"]; my $library_output_type; if ($config::config{USESHARED} eq "true") { -- cgit From 7dd064fcd9c41f19d43abaa9d994224b0e215edb Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 18 Feb 2008 17:08:54 +0100 Subject: Factor out common code that generates object lists. (This used to be commit ef14e1ab3267263d65c4c41cd3c0dab3680f4104) --- source4/build/smb_build/main.pl | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'source4/build/smb_build/main.pl') diff --git a/source4/build/smb_build/main.pl b/source4/build/smb_build/main.pl index 4c09e32422..d4d18a5cb9 100644 --- a/source4/build/smb_build/main.pl +++ b/source4/build/smb_build/main.pl @@ -48,14 +48,11 @@ $config::config{LIBRARY_OUTPUT_TYPE} = $library_output_type; $config::config{MODULE_OUTPUT_TYPE} = $module_output_type; my $mkenv = new smb_build::makefile(\%config::config, $mkfile); +my $shared_libs_used = 0; foreach my $key (values %$OUTPUT) { - next unless defined $key->{OUTPUT_TYPE}; - - $mkenv->Integrated($key) if grep(/INTEGRATED/, @{$key->{OUTPUT_TYPE}}); + $mkenv->_prepare_list($key, "OBJ_LIST"); } -my $shared_libs_used = 0; - foreach my $key (values %$OUTPUT) { next unless defined $key->{OUTPUT_TYPE}; -- cgit From 5022db874b93f896f6e828f762f65a5d41619d61 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 18 Feb 2008 17:28:24 +0100 Subject: Simplify handling of ALL_OBJS. (This used to be commit 5512c61d75d1a5404d58ba777720e62089bf45a1) --- source4/build/smb_build/main.pl | 1 + 1 file changed, 1 insertion(+) (limited to 'source4/build/smb_build/main.pl') diff --git a/source4/build/smb_build/main.pl b/source4/build/smb_build/main.pl index d4d18a5cb9..375962bde9 100644 --- a/source4/build/smb_build/main.pl +++ b/source4/build/smb_build/main.pl @@ -51,6 +51,7 @@ my $mkenv = new smb_build::makefile(\%config::config, $mkfile); my $shared_libs_used = 0; foreach my $key (values %$OUTPUT) { $mkenv->_prepare_list($key, "OBJ_LIST"); + push(@{$mkenv->{all_objs}}, "\$($key->{NAME}_OBJ_LIST)"); } foreach my $key (values %$OUTPUT) { -- cgit From 6e0522c3cae9c99b589db67727ee1256c6da82ef Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 18 Feb 2008 18:55:37 +0100 Subject: Build complete static libraries. (This used to be commit 34e26f4eecdf5bca340133942b242969c4c16dff) --- source4/build/smb_build/main.pl | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'source4/build/smb_build/main.pl') diff --git a/source4/build/smb_build/main.pl b/source4/build/smb_build/main.pl index 375962bde9..3ed0327d6d 100644 --- a/source4/build/smb_build/main.pl +++ b/source4/build/smb_build/main.pl @@ -19,8 +19,7 @@ use strict; my $INPUT = {}; my $mkfile = smb_build::config_mk::run_config_mk($INPUT, $config::config{srcdir}, $config::config{builddir}, "main.mk"); -my $subsys_output_type; -$subsys_output_type = ["MERGED_OBJ"]; +my $subsys_output_type = ["MERGED_OBJ"]; my $library_output_type; if ($config::config{USESHARED} eq "true") { @@ -35,7 +34,7 @@ my $module_output_type; if ($config::config{USESHARED} eq "true") { $module_output_type = ["SHARED_LIBRARY"]; } else { - $module_output_type = ["INTEGRATED"]; + $module_output_type = ["MERGED_OBJ"]; } my $DEPEND = smb_build::input::check($INPUT, \%config::enabled, @@ -43,9 +42,6 @@ my $DEPEND = smb_build::input::check($INPUT, \%config::enabled, $library_output_type, $module_output_type); my $OUTPUT = output::create_output($DEPEND, \%config::config); -$config::config{SUBSYSTEM_OUTPUT_TYPE} = $subsys_output_type; -$config::config{LIBRARY_OUTPUT_TYPE} = $library_output_type; -$config::config{MODULE_OUTPUT_TYPE} = $module_output_type; my $mkenv = new smb_build::makefile(\%config::config, $mkfile); my $shared_libs_used = 0; -- cgit