mirror of
https://github.com/samba-team/samba.git
synced 2025-01-28 17:47:29 +03:00
Use more variables in generated data.mk.
(This used to be commit 2dce9e4e0d5ba8785fdee3daba91e6c9f4a32040)
This commit is contained in:
parent
501005c2eb
commit
b0a7e5476b
@ -82,4 +82,5 @@ sub create_smb_build_h($$)
|
||||
|
||||
print __FILE__.": creating $file\n";
|
||||
}
|
||||
|
||||
1;
|
||||
|
@ -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");
|
||||
|
||||
|
@ -134,6 +134,13 @@ sub Integrated($$)
|
||||
$self->_prepare_list($ctx, "LINK_FLAGS");
|
||||
}
|
||||
|
||||
sub SharedModulePrimitives($$)
|
||||
{
|
||||
my ($self,$ctx) = @_;
|
||||
|
||||
#FIXME
|
||||
}
|
||||
|
||||
sub SharedModule($$)
|
||||
{
|
||||
my ($self,$ctx) = @_;
|
||||
@ -213,25 +220,27 @@ __EOD__
|
||||
$self->output("\n");
|
||||
}
|
||||
|
||||
sub SharedLibrary($$)
|
||||
sub SharedLibraryPrimitives($$)
|
||||
{
|
||||
my ($self,$ctx) = @_;
|
||||
|
||||
my $has_static_lib = 0;
|
||||
|
||||
$self->output("$ctx->{NAME}_SOVERSION = $ctx->{SO_VERSION}\n") if (defined($ctx->{SO_VERSION}));
|
||||
$self->output("$ctx->{NAME}_VERSION = $ctx->{VERSION}\n") if (defined($ctx->{VERSION}));
|
||||
|
||||
push (@{$self->{shared_libs}}, "$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}") if (defined($ctx->{SO_VERSION}));
|
||||
push (@{$self->{installable_shared_libs}}, "$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}") if (defined($ctx->{SO_VERSION}));
|
||||
|
||||
$has_static_lib = 1 if grep(/STATIC_LIBRARY/, @{$ctx->{OUTPUT_TYPE}});
|
||||
|
||||
if (not $has_static_lib) {
|
||||
if (not grep(/STATIC_LIBRARY/, @{$ctx->{OUTPUT_TYPE}})) {
|
||||
$self->output("$ctx->{TYPE}_$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
|
||||
$self->_prepare_list($ctx, "OBJ_LIST");
|
||||
$self->_prepare_list($ctx, "FULL_OBJ_LIST");
|
||||
}
|
||||
}
|
||||
|
||||
sub SharedLibrary($$)
|
||||
{
|
||||
my ($self,$ctx) = @_;
|
||||
|
||||
push (@{$self->{shared_libs}}, "$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}") if (defined($ctx->{SO_VERSION}));
|
||||
push (@{$self->{installable_shared_libs}}, "$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}") if (defined($ctx->{SO_VERSION}));
|
||||
|
||||
$self->_prepare_list($ctx, "DEPEND_LIST");
|
||||
$self->_prepare_list($ctx, "LINK_FLAGS");
|
||||
# $self->_prepare_list_ex($ctx, "LINK_FLAGS", "-Wl,--whole-archive", "-Wl,--no-whole-archive");
|
||||
@ -338,13 +347,13 @@ __EOD__
|
||||
|
||||
if (defined($ctx->{USE_HOSTCC}) && $ctx->{USE_HOSTCC} eq "YES") {
|
||||
$self->output(<< "__EOD__"
|
||||
\@\$(HOSTLD) \$(HOSTLD_FLAGS) -o \$\@ \$(INSTALL_LINK_FLAGS) \\
|
||||
\@\$(HOSTLD) \$(HOSTLD_FLAGS) -L\${builddir}/bin/static -o \$\@ \$(INSTALL_LINK_FLAGS) \\
|
||||
\$\($ctx->{TYPE}_$ctx->{NAME}_LINK_FLAGS)
|
||||
__EOD__
|
||||
);
|
||||
} else {
|
||||
$self->output(<< "__EOD__"
|
||||
\@\$(BNLD) \$(BNLD_FLAGS) -o \$\@ \$(INSTALL_LINK_FLAGS) \\
|
||||
\@\$(BNLD) \$(BNLD_FLAGS) \$(INTERN_LDFLAGS) -o \$\@ \$(INSTALL_LINK_FLAGS) \\
|
||||
\$\($ctx->{TYPE}_$ctx->{NAME}_LINK_FLAGS)
|
||||
|
||||
__EOD__
|
||||
@ -415,9 +424,9 @@ sub ProtoHeader($$)
|
||||
|
||||
sub write($$)
|
||||
{
|
||||
my ($self,$file) = @_;
|
||||
my ($self, $file) = @_;
|
||||
|
||||
$self->output("MANPAGES = ".array2oneperline($self->{manpages})."\n");
|
||||
$self->output("MANPAGES = " . array2oneperline($self->{manpages})."\n");
|
||||
$self->output("BIN_PROGS = " . array2oneperline($self->{bin_progs}) . "\n");
|
||||
$self->output("SBIN_PROGS = " . array2oneperline($self->{sbin_progs}) . "\n");
|
||||
$self->output("BINARIES = " . array2oneperline($self->{binaries}) . "\n");
|
||||
|
@ -81,8 +81,8 @@ sub generate_shared_library($)
|
||||
$lib->{LIBRARY_DEBUGNAME} = $lib->{LIBRARY_REALNAME};
|
||||
|
||||
if (defined($lib->{VERSION}) and $config::config{SONAMEFLAG} ne "#") {
|
||||
$lib->{LIBRARY_SONAME} = "$lib->{LIBRARY_REALNAME}.$lib->{SO_VERSION}";
|
||||
$lib->{LIBRARY_REALNAME} = "$lib->{LIBRARY_REALNAME}.$lib->{VERSION}";
|
||||
$lib->{LIBRARY_SONAME} = "$lib->{LIBRARY_REALNAME}.\$($lib->{NAME}_SOVERSION)";
|
||||
$lib->{LIBRARY_REALNAME} = "$lib->{LIBRARY_REALNAME}.\$($lib->{NAME}_VERSION)";
|
||||
}
|
||||
|
||||
$lib->{TARGET_SHARED_LIBRARY} = "$lib->{SHAREDDIR}/$lib->{LIBRARY_REALNAME}";
|
||||
@ -107,7 +107,7 @@ sub generate_static_library($)
|
||||
} else {
|
||||
$lib->{TARGET_STATIC_LIBRARY} = "";
|
||||
}
|
||||
$lib->{OUTPUT_STATIC_LIBRARY} = $lib->{TARGET_STATIC_LIBRARY};
|
||||
$lib->{OUTPUT_STATIC_LIBRARY} = "-l".lc($link_name);
|
||||
}
|
||||
|
||||
sub generate_binary($)
|
||||
|
Loading…
x
Reference in New Issue
Block a user