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.pm34
1 files changed, 26 insertions, 8 deletions
diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm
index be49a612c9..a84d336716 100644
--- a/source4/build/smb_build/makefile.pm
+++ b/source4/build/smb_build/makefile.pm
@@ -91,6 +91,11 @@ sub _prepare_compiler_linker($)
{
my ($self) = @_;
+ my $devld = "";
+ if ($self->{developer}) {
+ $devld = " \$(DEVEL_LDFLAGS)";
+ }
+
$self->output(<< "__EOD__"
SHELL=$self->{config}->{SHELL}
@@ -104,14 +109,15 @@ HOSTCC=$self->{config}->{HOSTCC}
CPP=$self->{config}->{CPP}
CPPFLAGS=$self->{config}->{CPPFLAGS}
-LD=$self->{config}->{LD}
-LD_FLAGS=$self->{config}->{LDFLAGS}
+DEVEL_LDFLAGS=-Wl,-rpath,bin/
+LD=$self->{config}->{LD}
+LDFLAGS=$self->{config}->{LDFLAGS} -Lbin/$devld
STLD=$self->{config}->{AR}
-STLD_FLAGS=-rc
+STLD_FLAGS=-rc -Lbin/
SHLD=$self->{config}->{CC}
-SHLD_FLAGS=$self->{config}->{LDSHFLAGS}
+SHLD_FLAGS=$self->{config}->{LDSHFLAGS} -Lbin/$devld
SONAMEFLAG=$self->{config}->{SONAMEFLAG}
SHLIBEXT=$self->{config}->{SHLIBEXT}
@@ -236,7 +242,7 @@ sub SharedLibrary($$)
{
my ($self,$ctx) = @_;
- push (@{$self->{shared_libs}}, $ctx->{OUTPUT});
+ push (@{$self->{shared_libs}}, "bin/$ctx->{LIBRARY_NAME}");
$self->_prepare_obj_list($ctx->{TYPE}, $ctx);
$self->_prepare_cflags($ctx->{TYPE}, $ctx);
@@ -374,7 +380,7 @@ BINARY_$ctx->{NAME}_LINK_FLAGS =$tmpflag
#
bin/$ctx->{BINARY}: bin/.dummy \$(BINARY_$ctx->{NAME}_DEPEND_LIST) \$(BINARY_$ctx->{NAME}_OBJS)
\@echo Linking \$\@
- \@\$(CC) \$(LD_FLAGS) -o \$\@ \\
+ \@\$(CC) \$(LDFLAGS) -o \$\@ \\
\$\(BINARY_$ctx->{NAME}_LINK_FLAGS) \\
\$\(BINARY_$ctx->{NAME}_LINK_LIST) \\
\$\(BINARY_$ctx->{NAME}_LINK_FLAGS)
@@ -399,11 +405,23 @@ sub PkgConfig($$)
{
my ($self,$ctx) = @_;
- my $path = "$ctx->{BASEDIR}/$ctx->{NAME}.pc";
+ my $link_name = $ctx->{NAME};
+
+ $link_name =~ s/^LIB//g;
+ $link_name = lc($link_name);
+
+ my $path = "$ctx->{BASEDIR}/$link_name.pc";
push (@{$self->{pc_files}}, $path);
- smb_build::env::PkgConfig($self,$path,$ctx->{NAME},"FIXME",join(' ', @{$ctx->{CFLAGS}}), "$ctx->{MAJOR_VERSION}.$ctx->{MINOR_VERSION}.$ctx->{RELEASE_VERSION}");
+ smb_build::env::PkgConfig($self,
+ $path,
+ $link_name,
+ $ctx->{OUTPUT},
+ join(' ', @{$ctx->{CFLAGS}}),
+ "$ctx->{MAJOR_VERSION}.$ctx->{MINOR_VERSION}.$ctx->{RELEASE_VERSION}",
+ $ctx->{DESCRIPTION}
+ );
}
sub ProtoHeader($$)