summaryrefslogtreecommitdiff
path: root/source4/build/smb_build/makefile.pm
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build/smb_build/makefile.pm')
-rw-r--r--source4/build/smb_build/makefile.pm21
1 files changed, 21 insertions, 0 deletions
diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm
index 08c237c4da..5d942f48eb 100644
--- a/source4/build/smb_build/makefile.pm
+++ b/source4/build/smb_build/makefile.pm
@@ -7,6 +7,7 @@
package smb_build::makefile;
use smb_build::env;
+use File::Basename;
use strict;
use base 'smb_build::env';
@@ -24,6 +25,7 @@ sub new($$$)
$self->{bin_progs} = [];
$self->{torture_progs} = [];
$self->{static_libs} = [];
+ $self->{python_dsos} = [];
$self->{shared_libs} = [];
$self->{installable_shared_libs} = [];
$self->{headers} = [];
@@ -180,6 +182,7 @@ sub _prepare_compiler_linker($)
SHELL=$self->{config}->{SHELL}
PERL=$self->{config}->{PERL}
+PYTHON=$self->{config}->{PYTHON}
CPP=$self->{config}->{CPP}
CPPFLAGS=$builddir_headers-I\$(srcdir)/include -I\$(srcdir) -I\$(srcdir)/lib -I\$(srcdir)/lib/replace -I\$(srcdir)/lib/talloc -D_SAMBA_BUILD_=4 -DHAVE_CONFIG_H $self->{config}->{CPPFLAGS}
@@ -393,6 +396,11 @@ sub SharedLibrary($$)
$self->_prepare_list($ctx, "LINK_FLAGS");
# $self->_prepare_list_ex($ctx, "LINK_FLAGS", "-Wl,--whole-archive", "-Wl,--no-whole-archive");
+ if ($ctx->{TYPE} eq "PYTHON") {
+ push (@{$self->{python_dsos}},
+ "$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}");
+ }
+
push(@{$self->{all_objs}}, "\$($ctx->{TYPE}_$ctx->{NAME}_FULL_OBJ_LIST)");
my $soarg = "";
@@ -519,6 +527,18 @@ __EOD__
}
}
+sub PythonFiles($$)
+{
+ my ($self,$ctx) = @_;
+
+ foreach (@{$ctx->{PYTHON_FILES}}) {
+ my $target = "bin/python/".basename($_);
+ $self->output("$target: $ctx->{BASEDIR}/$_\n" .
+ "\tcp $ctx->{BASEDIR}/$_ \$@\n\n");
+ push (@{$self->{python_dsos}}, $target);
+ }
+}
+
sub Manpage($$)
{
my ($self,$ctx) = @_;
@@ -672,6 +692,7 @@ sub write($$)
$self->output("BINARIES = " . array2oneperline($self->{binaries}) . "\n");
$self->output("STATIC_LIBS = " . array2oneperline($self->{static_libs}) . "\n");
$self->output("SHARED_LIBS = " . array2oneperline($self->{shared_libs}) . "\n");
+ $self->output("PYTHON_DSOS = " . array2oneperline($self->{python_dsos}) . "\n");
$self->output("INSTALLABLE_SHARED_LIBS = " . array2oneperline($self->{installable_shared_libs}) . "\n");
$self->output("PUBLIC_HEADERS = " . array2oneperline($self->{headers}) . "\n");
$self->output("PC_FILES = " . array2oneperline($self->{pc_files}) . "\n");