summaryrefslogtreecommitdiff
path: root/source4/build/scons/pidl.py
blob: c0c29d20358f01364947660240f1409f7aa5e8fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
"""SCons.Tool.pidl

Tool-specific initialization for pidl (Perl-based IDL compiler)

"""

import SCons.Defaults
import SCons.Scanner.IDL
import SCons.Util

idl_scanner = SCons.Scanner.IDL.IDLScan()

pidl_builder = SCons.Builder.Builder(action='$PIDLCOM',
                                     src_suffix = '.idl',
                                     suffix='.c',
                                     scanner = idl_scanner)

def generate(env):
    env['PIDL']          = 'pidl'
	env['PIDLCPP']		 = env['CPP']
    env['PIDLFLAGS']     = []
    env['PIDLCOM']       = 'CPP=$PIDLCPP $PIDL $PIDLFLAGS -- $SOURCE'
    env['BUILDERS']['NdrMarshaller'] = pidl_builder

def exists(env):
	if (env.Detect('./pidl/pidl')):
		return 1

	if (env.Detect('pidl')):
		return 1

	return 0