r14583: Enable automatic dependencies only if GNU make >= 3.81 is present.
authorJelmer Vernooij <jelmer@samba.org>
Mon, 20 Mar 2006 15:34:01 +0000 (15:34 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:58:53 +0000 (13:58 -0500)
(This used to be commit 2b22f1853306625a4c59763ef11965ac8900d4ff)

source4/build/m4/check_cc.m4
source4/build/smb_build/env.pm
source4/build/smb_build/makefile.pm
source4/build/smb_build/summary.pm

index bdee2b99c32a1274e39621ca3c16e0fbdfe0ce81..277afc18c686a9c8de5df069d3e237bc972e6b07 100644 (file)
@@ -193,3 +193,34 @@ if test x"$samba_cv_HAVE_FUNCTION_MACRO" = x"yes"; then
     AC_DEFINE(HAVE_FUNCTION_MACRO,1,[Whether there is a __FUNCTION__ macro])
 fi
 
+AC_PATH_PROG(MAKE,make)
+
+AC_CACHE_CHECK([whether we have GNU make], samba_cv_gnu_make, [
+if $ac_cv_path_MAKE --version | head -1 | grep GNU 2>/dev/null >/dev/null
+then
+       samba_cv_gnu_make=yes
+else
+       samba_cv_gnu_make=no
+fi
+])
+
+GNU_MAKE=$samba_cv_gnu_make
+AC_SUBST(GNU_MAKE)
+
+if test "x$GNU_MAKE" = x"yes"; then
+       AC_CACHE_CHECK([GNU make version], samba_cv_gnu_make_version,[
+               samba_cv_gnu_make_version=`$ac_cv_path_MAKE --version | head -1 | cut -d " " -f 3 2>/dev/null`
+       ])
+       GNU_MAKE_VERSION=$samba_cv_gnu_make_version
+       AC_SUBST(GNU_MAKE_VERSION)
+fi
+
+automatic_dependencies=no
+AC_MSG_CHECKING([for GNU make >= 3.81])
+if test x$GNU_MAKE = x"yes"; then
+       if $PERL -e " \$_ = '$GNU_MAKE_VERSION'; s/@<:@^\d\.@:>@.*//g; exit (\$_ < 3.81);"; then
+               automatic_dependencies=yes
+       fi
+fi
+AC_MSG_RESULT($automatic_dependencies)
+AC_SUBST(automatic_dependencies)
index c090fb83ebb70a2e1d8ee40fe36915b3de3b3090..70c4d7e968065ac6d03e9c6b48724ee4b305cd2e 100644 (file)
@@ -47,11 +47,8 @@ sub _set_config($$)
                $self->{config}->{exec_prefix} = $self->{config}->{prefix};
        }
        
-       if ($self->{config}->{developer} eq "yes") {
-               $self->{developer} = 1;
-       } else {
-               $self->{developer} = 0;
-       }
+       $self->{developer} = ($self->{config}->{developer} eq "yes");
+       $self->{automatic_deps} = ($self->{config}->{automatic_dependencies} eq "yes");
 }
 
 sub PkgConfig($$$$$$$$)
index a7dc4ff3e54eed20e10c6720b40baeea5086c1e7..a6d6d2b7411944fe666bfca20b006c4095571423 100644 (file)
@@ -18,7 +18,6 @@ sub new($$$)
        
        bless($self, $myname);
 
-       $self->{automatic_deps} = 0;
        $self->{manpages} = [];
        $self->{sbin_progs} = [];
        $self->{bin_progs} = [];
index 95a342e2f9e66be629668d760b20ebfdb5cf68d7..b9ba1e96be86249121d6bf2b0b185a1cf44d1277 100644 (file)
@@ -41,6 +41,15 @@ sub show($$)
        showitem($output, "using libblkid", ["BLKID"]);
        showitem($output, "using pam", ["PAM"]);
        print "Using external popt: ".lc($output->{EXT_LIB_POPT}->{ENABLE})."\n";
+       print "Developer mode: ".lc($config->{developer})."\n";
+       print "Automatic dependencies: ";
+       
+       if ($config->{automatic_dependencies} eq "yes") {
+               print "yes\n";
+       } else {
+               print "no (install GNU make >= 3.81)\n";
+       }
+       
        print "Using shared libraries internally (experimental): ";
 
        if ($config->{BLDSHARED} eq "true") {