pidl: support using pidl from top level directory
authorAndrew Tridgell <tridge@samba.org>
Thu, 3 Feb 2011 02:05:18 +0000 (13:05 +1100)
committerAndrew Tridgell <tridge@samba.org>
Mon, 7 Feb 2011 02:22:00 +0000 (13:22 +1100)
pidl needs to know if it is being used within the samba tree or not,
to get the names of some include files right. This adds support for
using pidl in the top level directory of a Samba build

This change also makes it clear that is_intree() is a boolean
function. Previously it returned different values for Samba3 and
Samba4, but there is nothing that depends on that

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

pidl/lib/Parse/Pidl/Samba4.pm

index 1deb708..b720ab9 100644 (file)
@@ -18,12 +18,17 @@ use strict;
 use vars qw($VERSION);
 $VERSION = '0.01';
 
+
+# return true if we are using pidl within the samba source tree. This changes
+# the names of include files, as some include files (such as ntstatus.h) have
+# different paths when installed to the patch in the source tree
 sub is_intree()
 {
        my $srcdir = $ENV{srcdir};
        $srcdir = $srcdir ? "$srcdir/" : "";
-       return 4 if (-f "${srcdir}kdc/kdc.c");
-       return 3 if (-f "${srcdir}include/smb.h");
+       return 1 if (-f "${srcdir}kdc/kdc.c");
+       return 1 if (-d "${srcdir}source4");
+       return 1 if (-f "${srcdir}include/smb.h");
        return 0;
 }