summaryrefslogtreecommitdiff
path: root/source4/build
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build')
-rw-r--r--source4/build/smb_build/input.pm1
-rw-r--r--source4/build/smb_build/makefile.pm24
-rw-r--r--source4/build/tests/summary.c2
3 files changed, 24 insertions, 3 deletions
diff --git a/source4/build/smb_build/input.pm b/source4/build/smb_build/input.pm
index aa34be4b94..92ab54a10e 100644
--- a/source4/build/smb_build/input.pm
+++ b/source4/build/smb_build/input.pm
@@ -108,6 +108,7 @@ sub check_module($$$)
my $sane_subsystem = lc($mod->{SUBSYSTEM});
$sane_subsystem =~ s/^lib//;
$mod->{INSTALLDIR} = "MODULESDIR/$sane_subsystem";
+ push (@{$mod->{PRIVATE_DEPENDENCIES}}, $mod->{SUBSYSTEM});
}
if (grep(/INTEGRATED/, @{$mod->{OUTPUT_TYPE}})) {
push (@{$INPUT->{$mod->{SUBSYSTEM}}{INIT_FUNCTIONS}}, $mod->{INIT_FUNCTION}) if defined($mod->{INIT_FUNCTION});
diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm
index 3b43dfb0b7..d9b5ac4d78 100644
--- a/source4/build/smb_build/makefile.pm
+++ b/source4/build/smb_build/makefile.pm
@@ -217,6 +217,8 @@ HOSTLD_FLAGS=$self->{config}->{LDFLAGS}
XSLTPROC=$self->{config}->{XSLTPROC}
+LIB_PATH_VAR=$self->{config}->{LIB_PATH_VAR}
+
LEX=$self->{config}->{LEX}
YACC=$self->{config}->{YACC}
YAPP=$self->{config}->{YAPP}
@@ -567,7 +569,16 @@ sub PkgConfig($$$)
if (defined($ctx->{PUBLIC_DEPENDENCIES})) {
foreach (@{$ctx->{PUBLIC_DEPENDENCIES}}) {
next if ($other->{$_}->{ENABLE} eq "NO");
- if ($other->{$_}->{TYPE} eq "LIBRARY") {
+ if ($other->{$_}->{TYPE} eq "EXT_LIB") {
+ my $e = $other->{$_};
+
+ my $ldflags = join(" ", @{$e->{LDFLAGS}});
+ $ldflags .= " " unless $ldflags eq "";
+ my $libs = join(" ", @{$e->{LIBS}});
+ $libs .= " " unless $libs eq "";
+
+ $pubs .= $ldflags.$libs;
+ } elsif ($other->{$_}->{TYPE} eq "LIBRARY") {
s/^LIB//g;
$_ = lc($_);
@@ -584,7 +595,16 @@ sub PkgConfig($$$)
if (defined($ctx->{PRIVATE_DEPENDENCIES})) {
foreach (@{$ctx->{PRIVATE_DEPENDENCIES}}) {
next if ($other->{$_}->{ENABLE} eq "NO");
- if ($other->{$_}->{TYPE} eq "LIBRARY") {
+ if ($other->{$_}->{TYPE} eq "EXT_LIB") {
+ my $e = $other->{$_};
+
+ my $ldflags = join(" ", @{$e->{LDFLAGS}});
+ $ldflags .= " " unless $ldflags eq "";
+ my $libs = join(" ", @{$e->{LIBS}});
+ $libs .= " " unless $libs eq "";
+
+ $privlibs .= $ldflags.$libs;
+ } elsif ($other->{$_}->{TYPE} eq "LIBRARY") {
s/^LIB//g;
$_ = lc($_);
diff --git a/source4/build/tests/summary.c b/source4/build/tests/summary.c
index 6fbe46b87b..95fa1cbae9 100644
--- a/source4/build/tests/summary.c
+++ b/source4/build/tests/summary.c
@@ -4,7 +4,7 @@ void exit(int);
main()
{
-#if !(defined(HAVE_IFACE_IFCONF) || defined(HAVE_IFACE_IFREQ) || defined(HAVE_IFACE_AIX))
+#if !(defined(HAVE_IFACE_GETIFADDRS) || defined(HAVE_IFACE_IFCONF) || defined(HAVE_IFACE_IFREQ) || defined(HAVE_IFACE_AIX))
printf("WARNING: No automated network interface determination\n");
#endif