diff options
Diffstat (limited to 'source4/build/scons')
-rw-r--r-- | source4/build/scons/pidl.py | 16 | ||||
-rw-r--r-- | source4/build/scons/proto.py | 3 |
2 files changed, 11 insertions, 8 deletions
diff --git a/source4/build/scons/pidl.py b/source4/build/scons/pidl.py index 2f09c9861a..b29584c756 100644 --- a/source4/build/scons/pidl.py +++ b/source4/build/scons/pidl.py @@ -11,19 +11,21 @@ import SCons.Scanner idl_scanner = SCons.Scanner.ClassicCPP("PIDLScan", '.idl', 'CPPPATH', r'depends\(([^,]+),+\)', SCons.Node.FS.default_fs) def idl_emitter(target, source, env): - base, ext = SCons.Util.splitext(str(source[0]).split('/')[-1]) - result = ['gen_ndr/ndr_%s.c' % base, 'gen_ndr/ndr_%s.h' % base, - 'gen_ndr/%s.h' % base] + result = [] + for s in source: + base, ext = SCons.Util.splitext(str(s).split('/')[-1]) + result.append('gen_ndr/ndr_%s.c' % base) + result.append('gen_ndr/ndr_%s.h' % base) + result.append('gen_ndr/%s.h' % base) return result, source pidl_builder = SCons.Builder.Builder(action='$PIDLCOM', emitter = idl_emitter, - src_suffix = '.idl', - suffix='.c', - scanner = idl_scanner) + src_suffix = '.idl', + scanner = idl_scanner) def generate(env): - env['PIDL'] = env.Detect('pidl') or './pidl/pidl' + env['PIDL'] = env.Detect(['./pidl/pidl', 'pidl']) env['PIDLFLAGS'] = ['--outputdir', 'librpc/gen_ndr', '--ndr-header', '--ndr-parser', '--header'] env['PIDLCOM'] = '$PIDL $PIDLFLAGS -- $SOURCE' env['BUILDERS']['NdrMarshaller'] = pidl_builder diff --git a/source4/build/scons/proto.py b/source4/build/scons/proto.py index 38fc2d6f48..fc5cc1b7c1 100644 --- a/source4/build/scons/proto.py +++ b/source4/build/scons/proto.py @@ -13,7 +13,8 @@ proto_builder = SCons.Builder.Builder(action='$PROTOCOM', def generate(env): env['MKPROTO'] = './script/mkproto.sh' - env['PROTOCOM'] = '$MKPROTO "$PERL" -h _PROTO_H_ ${TARGETS[0]} $SOURCES' + env['PROTO_DEFINE'] = '_PROTO_H_' + env['PROTOCOM'] = '$MKPROTO "$PERL" -h $PROTO_DEFINE ${TARGETS[0]} $SOURCES' env['BUILDERS']['CProtoHeader'] = proto_builder def exists(env): |