diff options
-rw-r--r-- | buildtools/wafsamba/samba_patterns.py | 12 | ||||
-rw-r--r-- | buildtools/wafsamba/wafsamba.py | 17 |
2 files changed, 16 insertions, 13 deletions
diff --git a/buildtools/wafsamba/samba_patterns.py b/buildtools/wafsamba/samba_patterns.py index 15400f10b6..79aad81e6a 100644 --- a/buildtools/wafsamba/samba_patterns.py +++ b/buildtools/wafsamba/samba_patterns.py @@ -7,6 +7,14 @@ from Logs import debug from TaskGen import extension from samba_utils import * +########################################################## +# create a node with a new name, based on an existing node +def NEW_NODE(node, name): + ret = node.parent.find_or_declare([name]) + ASSERT(node, ret is not None, "Unable to find new target with name '%s' from '%s'" % ( + name, node.name)) + return ret + ################################################################################ # a et task which calls out to compile_et to do the work @@ -23,9 +31,10 @@ def process_et(self, node): self.allnodes.append(c_node) + ################################################################################ # a idl task which calls out to pidl to do the work -Task.simple_task_type('idl', '../../pidl/pidl --header --ndr-parser --client --python --server --outputdir=${TGT[0].outputdir} -- ${SRC}', color='BLUE', ext_out='.c') +Task.simple_task_type('idl', '../../pidl/pidl ${TGT[0].options} --header --ndr-parser --client --python --server --outputdir=${TGT[0].outputdir} -- ${SRC}', color='BLUE', ext_out='.c') @extension('.idl') def process_idl(self, node): @@ -41,6 +50,7 @@ def process_idl(self, node): dname = os.path.dirname(node.bld_dir(self.env)) + "/gen_ndr" c_node.outputdir = dname + c_node.options = self.options self.create_task('idl', node, [c_node, h1_node, h2_node, s_node, cli_node, cli_h_node, py_node]) diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py index 34ca3cf2ff..a33d5d4ada 100644 --- a/buildtools/wafsamba/wafsamba.py +++ b/buildtools/wafsamba/wafsamba.py @@ -357,17 +357,9 @@ def SAMBA_ERRTABLE(bld, name, source, ) Build.BuildContext.SAMBA_ERRTABLE = SAMBA_ERRTABLE -########################################################## -# create a node with a new name, based on an existing node -def NEW_NODE(node, name): - ret = node.parent.find_or_declare([name]) - ASSERT(node, ret is not None, "Unable to find new target with name '%s' from '%s'" % ( - name, node.name)) - return ret - ################################################################# # define a PIDL target -def SAMBA_PIDL(bld, directory, source): +def SAMBA_PIDL(bld, directory, source, options=''): name = os.path.basename(string.replace(source, '.idl', '')) name = "%s/ndr_%s.o" % (directory, name) @@ -378,7 +370,8 @@ def SAMBA_PIDL(bld, directory, source): bld( features = 'cc', source = source, - target = name + target = name, + options = options ) Build.BuildContext.SAMBA_PIDL = SAMBA_PIDL @@ -386,9 +379,9 @@ Build.BuildContext.SAMBA_PIDL = SAMBA_PIDL ################################################################# # define a set of Samba PIDL targets -def SAMBA_PIDL_LIST(bld, directory, source_list): +def SAMBA_PIDL_LIST(bld, directory, source_list, options=''): for p in source_list.split(): - bld.SAMBA_PIDL(directory, p) + bld.SAMBA_PIDL(directory, p, options) Build.BuildContext.SAMBA_PIDL_LIST = SAMBA_PIDL_LIST |