diff options
Diffstat (limited to 'source4/build/smb_build')
-rw-r--r-- | source4/build/smb_build/input.pm | 4 | ||||
-rw-r--r-- | source4/build/smb_build/main.pl | 6 | ||||
-rw-r--r-- | source4/build/smb_build/makefile.pm | 10 |
3 files changed, 11 insertions, 9 deletions
diff --git a/source4/build/smb_build/input.pm b/source4/build/smb_build/input.pm index d0d923bf5e..51b4c9bf39 100644 --- a/source4/build/smb_build/input.pm +++ b/source4/build/smb_build/input.pm @@ -160,7 +160,9 @@ sub check_python($$) $python->{LIBRARY_REALNAME} = "$basename.\$(SHLIBEXT)"; } - check_library($INPUT, $python, ["SHARED_LIBRARY"]); + $python->{SUBSYSTEM} = "LIBPYTHON"; + + check_module($INPUT, $python, ["SHARED_LIBRARY"]); } sub check_binary($$) diff --git a/source4/build/smb_build/main.pl b/source4/build/smb_build/main.pl index de639eb36b..e084d48a77 100644 --- a/source4/build/smb_build/main.pl +++ b/source4/build/smb_build/main.pl @@ -62,14 +62,14 @@ foreach my $key (values %$OUTPUT) { $mkenv->StaticLibrary($key) if grep(/STATIC_LIBRARY/, @{$key->{OUTPUT_TYPE}}); $mkenv->PkgConfig($key, $OUTPUT) if $key->{TYPE} eq "LIBRARY" and defined($key->{VERSION}); - $mkenv->SharedLibrary($key) if ($key->{TYPE} eq "LIBRARY" or - $key->{TYPE} eq "PYTHON") and + $mkenv->SharedLibrary($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" and + $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->PythonFiles($key) if defined($key->{PYTHON_FILES}); diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm index 043f13d518..cd73aeb8a7 100644 --- a/source4/build/smb_build/makefile.pm +++ b/source4/build/smb_build/makefile.pm @@ -310,6 +310,11 @@ sub SharedModule($$) my $sane_subsystem = lc($ctx->{SUBSYSTEM}); $sane_subsystem =~ s/^lib//; + if ($ctx->{TYPE} eq "PYTHON") { + push (@{$self->{python_dsos}}, + "$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}"); + } + push (@{$self->{shared_modules}}, "$ctx->{TARGET_SHARED_LIBRARY}"); push (@{$self->{plugins}}, "$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}"); @@ -396,11 +401,6 @@ 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 = ""; |