From 9129c3b3b6d8a1cdfb7a6500ef4eb20075aa2d53 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 17 Mar 2010 21:46:38 +1100 Subject: build: fixes from ita --- buildtools/wafsamba/samba_pidl.py | 118 ++++++++++++----- buildtools/wafsamba/samba_utils.py | 44 ++++++- buildtools/wafsamba/wafsamba.py | 25 ++-- lib/replace/wscript | 1 + librpc/wscript_build | 15 +-- source4/dsdb/wscript_build | 4 +- source4/heimdal_build/wscript_build | 15 +++ source4/librpc/wscript_build | 246 ++++++++++++++++++------------------ source4/wscript | 3 + source4/wscript_build | 6 + 10 files changed, 293 insertions(+), 184 deletions(-) diff --git a/buildtools/wafsamba/samba_pidl.py b/buildtools/wafsamba/samba_pidl.py index d239bb07b3..9269566111 100644 --- a/buildtools/wafsamba/samba_pidl.py +++ b/buildtools/wafsamba/samba_pidl.py @@ -1,53 +1,105 @@ # waf build tool for building IDL files with pidl from TaskGen import taskgen, before -import Build, os, string +import Build, os, string, Utils from samba_utils import * -def SAMBA_PIDL(bld, directory, source, options=''): +def SAMBA_PIDL(bld, pname, source, options=''): '''Build a IDL file using pidl. This will produce 7 output files''' - name = os.path.basename(string.replace(source, '.idl', '')) - name = "PIDL_%s" % name.upper() + bname = source[0:-4]; + name = "PIDL_%s" % bname.upper() if not SET_TARGET_TYPE(bld, name, 'PIDL'): return bld.SET_BUILD_GROUP('build_source') - t = bld(name=name, source=source, options=options) - t.mappings['.idl'] = process_pidl + + gen_ndr_dir = '../gen_ndr/' + out_files = [] + out_files.append(gen_ndr_dir + 'ndr_%s.c' % bname) + out_files.append(gen_ndr_dir + 'ndr_%s.h' % bname) + out_files.append(gen_ndr_dir + '%s.h' % bname) + out_files.append(gen_ndr_dir + 'ndr_%s_s.c' % bname) + out_files.append(gen_ndr_dir + 'ndr_%s_c.c' % bname) + out_files.append(gen_ndr_dir + 'ndr_%s_c.h' % bname) + out_files.append(gen_ndr_dir + 'py_%s.c' % bname) + + pidl = bld.srcnode.find_resource('pidl/pidl').relpath_gen(bld.path) + t = bld(rule='${PIDL} ${PIDL_BUILD_TYPES} ${OPTIONS} --outputdir ${OUTPUTDIR} -- ${SRC[0].abspath(env)}', + ext_out = '.c', + before = 'cc', + shell = False, + source=source, + target = out_files, + name=name) + t.env.PIDL = "../../pidl/pidl" t.env.PIDL_BUILD_TYPES = '--header --ndr-parser --client --python --server'.split() t.env.OPTIONS = options + t.env.OUTPUTDIR = bld.BUILD_PATH(gen_ndr_dir) + + # I'm creating the list of headers for the tables rule here. + # then the tables rule itself is below + #t.collect_headers = [bld.path.find_or_declare(out_files[1])] #, bld.path.find_or_declare(out_files[6])] + #if name.rfind('PIDL') > -1: + # print name, "t.coll", t.collect_headers + #print name, "so bld.PIDL_STUFF is defined", id(bld) + try: + bld.PIDL_STUFF[name] = [bld.path.find_or_declare(out_files[1])] + except AttributeError: + bld.PIDL_STUFF = {} + bld.PIDL_STUFF[name] = [bld.path.find_or_declare(out_files[1])] + + # I think I need to build this list as absolute paths, then + # re-do as relative paths in the tables rule + t.more_includes = '#' + bld.path.relpath_gen(bld.srcnode) + #if not 'PIDL_HEADERS' in bld.env: + # bld.env.PIDL_HEADERS = [] + #bld.env.PIDL_HEADERS.append(gen_ndr_dir + 'ndr_%s.h' % bname) + + Build.BuildContext.SAMBA_PIDL = SAMBA_PIDL -@taskgen -def process_pidl(self, node, options=''): - '''Generate the list of output nodes for a given input IDL - file, and create the task to build them''' - bname = node.file_base() - # the output of pidl needs to go in the gen_ndr directory - gen_ndr_dir = "../gen_ndr/" - c_node = NEW_NODE(node, gen_ndr_dir + 'ndr_%s.c' % bname) - h1_node = NEW_NODE(node, gen_ndr_dir + '%s.h' % bname) - h2_node = NEW_NODE(node, gen_ndr_dir + 'ndr_%s.h' % bname) - s_node = NEW_NODE(node, gen_ndr_dir + 'ndr_%s_s.c' % bname) - cli_node = NEW_NODE(node, gen_ndr_dir + 'ndr_%s_c.c' % bname) - cli_h_node = NEW_NODE(node, gen_ndr_dir + 'ndr_%s_c.h' % bname) - py_node = NEW_NODE(node, gen_ndr_dir + 'py_%s.c' % bname) - t = self.create_task('pidl', node, [c_node, h1_node, h2_node, s_node, - cli_node, cli_h_node, py_node]) - # setup ${OUTPUTDIR} in the pidl rule, and make sure it exists - t.env.OUTPUTDIR = os.path.dirname(c_node.abspath(self.env)) - if not os.path.isdir(t.env.OUTPUTDIR): - os.mkdir(t.env.OUTPUTDIR, 0777) - - -# the pidl task itself -import Task -Task.simple_task_type('pidl', - '${PIDL} ${PIDL_BUILD_TYPES} ${OPTIONS} --outputdir ${OUTPUTDIR} -- ${SRC}', - color='BLUE', before='cc', shell=False) +################################################################# +# define a set of Samba PIDL targets +def SAMBA_PIDL_LIST(bld, name, source, options=''): + for p in source.split(): + bld.SAMBA_PIDL(name, p, options) +Build.BuildContext.SAMBA_PIDL_LIST = SAMBA_PIDL_LIST + + +################################################################# +# the rule for generating the NDR tables +from TaskGen import feature, before +@feature('collect') +@before('exec_rule') +def collect(self): + for (name, hd) in self.bld.PIDL_STUFF.items(): + y = self.bld.name_to_obj(name, self.env) + if not y: + raise "!"+str(name) + y.post() + for node in hd: + self.source += " " + node.relpath_gen(self.path) + +def SAMBA_PIDL_TABLES(bld, name, target): + headers = bld.env.PIDL_HEADERS + # this print line should tell us what we ended up with + # we're ending up with the wrong relative path + #print "tables target=%s curdir=%s headers=%s" % (target, bld.curdir, headers) + t = bld( + features = 'collect', + rule='${SRC} --output ${TGT} > ${TGT}', + ext_out = '.c', + before = 'cc', + shell = True, + source = '../../librpc/tables.pl', + target=target, + name=name) + print name +Build.BuildContext.SAMBA_PIDL_TABLES = SAMBA_PIDL_TABLES + diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py index 0c8a832c70..bdbd3c7b93 100644 --- a/buildtools/wafsamba/samba_utils.py +++ b/buildtools/wafsamba/samba_utils.py @@ -157,7 +157,7 @@ def ADD_COMMAND(opt, name, function): Options.Handler.ADD_COMMAND = ADD_COMMAND -@feature('cprogram cc') +@feature('cprogram','cc','cshlib') @before('apply_core') def process_depends_on(self): '''The new depends_on attribute for build rules @@ -169,6 +169,27 @@ def process_depends_on(self): y = self.bld.name_to_obj(x, self.env) y.post() + if getattr(y, 'more_includes', None): + self.includes += " " + y.more_includes + + +#@feature('cprogram cc cshlib') +#@before('apply_core') +#def process_generated_dependencies(self): +# '''Ensure that any dependent source generation happens +# before any task that requires the output''' +# if getattr(self , 'depends_on', None): +# lst = self.to_list(self.depends_on) +# for x in lst: +# y = self.bld.name_to_obj(x, self.env) +# y.post() + + +def FIND_TASKGEN(bld, name): + '''find a waf task generator given a target name''' + return bld.name_to_obj(name) +Build.BuildContext.FIND_TASKGEN = FIND_TASKGEN + #import TaskGen, Task # @@ -179,3 +200,24 @@ def process_depends_on(self): # #for y in ['cc', 'cxx']: # TaskGen.classes[y].post_run = new_post_run + +def ENABLE_MAGIC_ORDERING(bld): + '''enable automatic build order constraint calculation + see page 35 of the waf book''' + print "Enabling magic ordering" + bld.use_the_magic() +Build.BuildContext.ENABLE_MAGIC_ORDERING = ENABLE_MAGIC_ORDERING + + +def BUILD_PATH(bld, relpath): + '''return a relative build path, given a relative path + for example, if called in the source4/librpc directory, with the path + gen_ndr/tables.c, then it will return default/source4/gen_ndr/tables.c + ''' + + ret = os.path.normpath(os.path.join(os.path.relpath(bld.curdir, bld.env.TOPDIR), relpath)) + ret = 'default/%s' % ret + return ret +Build.BuildContext.BUILD_PATH = BUILD_PATH + + diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py index 58f98fe1ca..932b9e3bd0 100644 --- a/buildtools/wafsamba/wafsamba.py +++ b/buildtools/wafsamba/wafsamba.py @@ -8,6 +8,7 @@ from TaskGen import extension # bring in the other samba modules from samba_utils import * +# should be enabled from the above? from samba_autoconf import * from samba_patterns import * from samba_pidl import * @@ -110,12 +111,13 @@ def ADD_DEPENDENCIES(bld, name, deps): sys.stderr.write("Removing dependency %s from target %s\n" % (d, name)) del(lib_deps[name][d]) + target_cache = LOCAL_CACHE(bld, 'TARGET_TYPE') + # extract out the system dependencies sysdeps = [] localdeps = [] add_objects = [] cache = LOCAL_CACHE(bld, 'EMPTY_TARGETS') - target_cache = LOCAL_CACHE(bld, 'TARGET_TYPE') predeclare = LOCAL_CACHE(bld, 'PREDECLARED_TARGET') for d in list2: recurse = False @@ -188,7 +190,8 @@ def SAMBA_LIBRARY(bld, libname, source, cflags='', output_type=None, realname=None, - autoproto=None): + autoproto=None, + depends_on=''): if not SET_TARGET_TYPE(bld, libname, 'LIBRARY'): return @@ -211,6 +214,7 @@ def SAMBA_LIBRARY(bld, libname, source, add_objects = add_objects, ccflags = CURRENT_CFLAGS(bld, cflags), includes='. ' + bld.env['BUILD_DIRECTORY'] + '/default ' + ilist, + depends_on=depends_on, vnum=vnum) # put a link to the library in bin/shared @@ -336,14 +340,6 @@ Build.BuildContext.SAMBA_ERRTABLE = SAMBA_ERRTABLE -################################################################# -# define a set of Samba PIDL targets -def SAMBA_PIDL_LIST(bld, directory, source, options=''): - for p in source.split(): - bld.SAMBA_PIDL(directory, p, options) -Build.BuildContext.SAMBA_PIDL_LIST = SAMBA_PIDL_LIST - - ################################################################ # build a C prototype file automatically def AUTOPROTO(bld, header, source): @@ -402,7 +398,8 @@ def SAMBA_SUBSYSTEM(bld, modname, source, cflags='', group='main', config_option=None, - init_function_sentinal=None): + init_function_sentinal=None, + depends_on=''): if not SET_TARGET_TYPE(bld, modname, 'SUBSYSTEM'): return @@ -422,12 +419,14 @@ def SAMBA_SUBSYSTEM(bld, modname, source, ilist = bld.SAMBA_LIBRARY_INCLUDE_LIST(deps) + bld.SUBDIR(bld.curdir, include_list) ilist = bld.NORMPATH(ilist) bld.SET_BUILD_GROUP(group) - bld( + t = bld( features = 'cc', source = source, target=modname, ccflags = CURRENT_CFLAGS(bld, cflags), - includes='. ' + bld.env['BUILD_DIRECTORY'] + '/default ' + ilist) + includes='. ' + bld.env['BUILD_DIRECTORY'] + '/default ' + ilist, + depends_on=depends_on) + return t Build.BuildContext.SAMBA_SUBSYSTEM = SAMBA_SUBSYSTEM diff --git a/lib/replace/wscript b/lib/replace/wscript index 5188a338af..e150c9a105 100644 --- a/lib/replace/wscript +++ b/lib/replace/wscript @@ -27,6 +27,7 @@ def set_options(opt): @wafsamba.runonce def configure(conf): conf.env.hlist = [] + conf.env.srcdir = conf.srcdir # load our local waf extensions conf.check_tool('wafsamba', tooldir=conf.srcdir + "/buildtools/wafsamba") diff --git a/librpc/wscript_build b/librpc/wscript_build index 2cfdeb19d7..3b68fee963 100644 --- a/librpc/wscript_build +++ b/librpc/wscript_build @@ -1,14 +1 @@ -COMMON_IDL=bld.SUBDIR('idl', - '''atsvc.idl dcom.idl drsuapi.idl epmapper.idl initshutdown.idl - misc.idl ntlmssp.idl protected_storage.idl schannel.idl trkwks.idl - wmi.idl audiosrv.idl dfsblobs.idl dsbackup.idl eventlog.idl keysvc.idl - msgsvc.idl ntsvcs.idl remact.idl security.idl unixinfo.idl wzcsvc.idl - browser.idl dfs.idl dssetup.idl frsapi.idl krb5pac.idl - named_pipe_auth.idl orpc.idl rot.idl spoolss.idl w32time.idl xattr.idl - dbgidl.idl dnsserver.idl echo.idl frsrpc.idl lsa.idl nbt.idl - oxidresolver.idl samr.idl srvsvc.idl winreg.idl dcerpc.idl - drsblobs.idl efs.idl frstrans.idl mgmt.idl netlogon.idl - policyagent.idl scerpc.idl svcctl.idl wkssvc.idl''') - -bld.SAMBA_PIDL_LIST('gen_ndr', COMMON_IDL) - +bld.BUILD_SUBDIR('idl') diff --git a/source4/dsdb/wscript_build b/source4/dsdb/wscript_build index 99ed061d27..cc2f3fb901 100644 --- a/source4/dsdb/wscript_build +++ b/source4/dsdb/wscript_build @@ -12,14 +12,14 @@ bld.SAMBA_SUBSYSTEM('SAMDB', bld.SAMBA_SUBSYSTEM('SAMDB_COMMON', - source='samdb/ldb_modules/util.c ./common/util.c common/dsdb_dn.c ./common/tests/dsdb_dn.c ../../libds/common/flag_mapping.c', + source='common/util.c ./samdb/ldb_modules/util.c common/dsdb_dn.c ./common/tests/dsdb_dn.c ../../libds/common/flag_mapping.c', autoproto='common/proto.h', deps='ldb NDR_DRSBLOBS LIBCLI_LDAP_NDR UTIL_LDB LIBCLI_AUTH' ) bld.SAMBA_SUBSYSTEM('SAMDB_SCHEMA', - source='schema/schema_init.c schema/schema_set.c schema/schema_query.c schema/tests/schema_syntax.c ./schema/schema_syntax.c schema/schema_description.c schema/schema_convert_to_ol.c schema/schema_inferiors.c schema/schema_prefixmap.c', + source='schema/schema_init.c schema/schema_set.c schema/schema_query.c schema/schema_syntax.c ./schema/tests/schema_syntax.c schema/schema_description.c schema/schema_convert_to_ol.c schema/schema_inferiors.c schema/schema_prefixmap.c', autoproto='schema/proto.h', deps='SAMDB_COMMON NDR_DRSUAPI NDR_DRSBLOBS LDBSAMBA' ) diff --git a/source4/heimdal_build/wscript_build b/source4/heimdal_build/wscript_build index 35f09af29d..c286c54c4c 100644 --- a/source4/heimdal_build/wscript_build +++ b/source4/heimdal_build/wscript_build @@ -1,3 +1,18 @@ +#! /usr/bin/env python + +# we sould call out to a new bld.SAMBA_XXXXX() function +# I want to hide gory details from samba devels inside the wafsamba tool + +print "hmmm" + +bld( + rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[1].parent.abspath(env)}", + source = '../heimdal/lib/wind/gen-errorlist.py ../heimdal/lib/wind/rfc3454.txt ../heimdal/lib/wind/stringprep.py', + target = '../heimdal/lib/wind/errorlist_table.c ../heimdal/lib/wind/errorlist_table.h', + before = 'cc', + name="gruik", always=True +) + bld.SAMBA_ASN1('HEIMDAL_SPNEGO_ASN1', '../heimdal/lib/gssapi/spnego/spnego.asn1', options='--sequence=MechTypeList', diff --git a/source4/librpc/wscript_build b/source4/librpc/wscript_build index 5dba84ca5e..7bafb61725 100644 --- a/source4/librpc/wscript_build +++ b/source4/librpc/wscript_build @@ -1,14 +1,20 @@ +#! /usr/bin/env python + +bld.BUILD_SUBDIR('../../librpc/idl') +bld.BUILD_SUBDIR('idl') + bld.SAMBA_LIBRARY('LIBNDR', - 'ndr/ndr_string.c ../../librpc/ndr/ndr_basic.c ../../librpc/ndr/uuid.c ../torture/ndr/ndr.c ../../librpc/ndr/ndr_misc.c ../../librpc/gen_ndr/ndr_misc.c', + source='ndr/ndr_string.c ../../librpc/ndr/ndr_basic.c ../../librpc/ndr/uuid.c ../torture/ndr/ndr.c ../../librpc/ndr/ndr_misc.c ../../librpc/gen_ndr/ndr_misc.c', # PC_FILES='../librpc/ndr.pc', public_deps='LIBSAMBA-ERRORS talloc LIBSAMBA-UTIL CHARSET LIBSAMBA-HOSTCONFIG', - public_headers='../../librpc/ndr/libndr.h ../../librpc/gen_ndr/misc.h ../../librpc/gen_ndr/ndr_misc.h', + public_headers='../../librpc/ndr/libndr.h PIDL_COMMON/misc.h PIDL_COMMON/ndr_misc.h', + depends_on='PIDL_MISC', vnum='0.0.1' ) bld.SAMBA_BINARY('ndrdump', - '../../librpc/tools/ndrdump.c', + source='../../librpc/tools/ndrdump.c', manpages='../../librpc/tools/ndrdump.1', installdir='BINDIR', deps='LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL LIBPOPT POPT_SAMBA NDR_TABLE LIBSAMBA-ERRORS' @@ -16,309 +22,309 @@ bld.SAMBA_BINARY('ndrdump', bld.SAMBA_SUBSYSTEM('NDR_COMPRESSION', - '../../librpc/ndr/ndr_compression.c', + source='../../librpc/ndr/ndr_compression.c', public_deps='LIBSAMBA-ERRORS LIBNDR', deps='ZLIB LZXPRESS' ) bld.SAMBA_SUBSYSTEM('NDR_SECURITY', - '../../librpc/gen_ndr/ndr_security.c ../../librpc/ndr/ndr_sec_helper.c gen_ndr/ndr_server_id.c', + source='../../librpc/gen_ndr/ndr_security.c ../../librpc/ndr/ndr_sec_helper.c gen_ndr/ndr_server_id.c', public_deps='LIBNDR LIBSECURITY', public_headers='../libcli/security/security.h gen_ndr/server_id.h' ) bld.SAMBA_SUBSYSTEM('NDR_AUDIOSRV', - '../../librpc/gen_ndr/ndr_audiosrv.c', + source='../../librpc/gen_ndr/ndr_audiosrv.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_NAMED_PIPE_AUTH', - '../../librpc/gen_ndr/ndr_named_pipe_auth.c', + source='../../librpc/gen_ndr/ndr_named_pipe_auth.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_DNSSERVER', - '../../librpc/gen_ndr/ndr_dnsserver.c', + source='../../librpc/gen_ndr/ndr_dnsserver.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_WINSTATION', - 'gen_ndr/ndr_winstation.c', + source='gen_ndr/ndr_winstation.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_IRPC', - 'gen_ndr/ndr_irpc.c', + source='gen_ndr/ndr_irpc.c', public_deps='LIBNDR NDR_SECURITY NDR_NBT' ) bld.SAMBA_SUBSYSTEM('NDR_DCOM', - '../../librpc/gen_ndr/ndr_dcom.c', + source='../../librpc/gen_ndr/ndr_dcom.c', public_deps='LIBNDR NDR_SECURITY NDR_ORPC' ) bld.SAMBA_SUBSYSTEM('NDR_WMI', - '../../librpc/ndr/ndr_wmi.c ../../librpc/gen_ndr/ndr_wmi.c', + source='../../librpc/ndr/ndr_wmi.c ../../librpc/gen_ndr/ndr_wmi.c', public_deps='LIBNDR NDR_SECURITY NDR_DCOM' ) bld.SAMBA_SUBSYSTEM('NDR_DSBACKUP', - '../../librpc/gen_ndr/ndr_dsbackup.c', + source='../../librpc/gen_ndr/ndr_dsbackup.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_EFS', - '../../librpc/gen_ndr/ndr_efs.c', + source='../../librpc/gen_ndr/ndr_efs.c', public_deps='LIBNDR NDR_SECURITY' ) bld.SAMBA_SUBSYSTEM('NDR_ROT', - '../../librpc/gen_ndr/ndr_rot.c', + source='../../librpc/gen_ndr/ndr_rot.c', public_deps='LIBNDR NDR_ORPC' ) bld.SAMBA_SUBSYSTEM('NDR_FRSRPC', - '../../librpc/ndr/ndr_frsrpc.c ../../librpc/gen_ndr/ndr_frsrpc.c', + source='../../librpc/ndr/ndr_frsrpc.c ../../librpc/gen_ndr/ndr_frsrpc.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_FRSAPI', - '../../librpc/gen_ndr/ndr_frsapi.c', + source='../../librpc/gen_ndr/ndr_frsapi.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_FRSTRANS', - '../../librpc/gen_ndr/ndr_frstrans.c', + source='../../librpc/gen_ndr/ndr_frstrans.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_DRSUAPI', - '../../librpc/ndr/ndr_drsuapi.c ../../librpc/gen_ndr/ndr_drsuapi.c', + source='../../librpc/ndr/ndr_drsuapi.c ../../librpc/gen_ndr/ndr_drsuapi.c', public_deps='LIBNDR NDR_COMPRESSION NDR_SECURITY NDR_STANDARD ASN1_UTIL' ) bld.SAMBA_SUBSYSTEM('NDR_DRSBLOBS', - '../../librpc/ndr/ndr_drsblobs.c ../../librpc/gen_ndr/ndr_drsblobs.c', + source='../../librpc/ndr/ndr_drsblobs.c ../../librpc/gen_ndr/ndr_drsblobs.c', public_deps='LIBNDR NDR_DRSUAPI' ) bld.SAMBA_SUBSYSTEM('NDR_DFSBLOBS', - '../../librpc/gen_ndr/ndr_dfsblobs.c', + source='../../librpc/gen_ndr/ndr_dfsblobs.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_SASL_HELPERS', - 'gen_ndr/ndr_sasl_helpers.c', + source='gen_ndr/ndr_sasl_helpers.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_POLICYAGENT', - '../../librpc/gen_ndr/ndr_policyagent.c', + source='../../librpc/gen_ndr/ndr_policyagent.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_UNIXINFO', - '../../librpc/gen_ndr/ndr_unixinfo.c', + source='../../librpc/gen_ndr/ndr_unixinfo.c', public_deps='LIBNDR NDR_SECURITY' ) bld.SAMBA_SUBSYSTEM('NDR_NFS4ACL', - 'gen_ndr/ndr_nfs4acl.c', + source='gen_ndr/ndr_nfs4acl.c', public_deps='LIBNDR NDR_SECURITY' ) bld.SAMBA_SUBSYSTEM('NDR_SPOOLSS', - '../../librpc/gen_ndr/ndr_spoolss.c', + source='../../librpc/gen_ndr/ndr_spoolss.c', public_deps='LIBNDR NDR_SPOOLSS_BUF NDR_SECURITY' ) bld.SAMBA_SUBSYSTEM('NDR_SPOOLSS_BUF', - '../../librpc/ndr/ndr_spoolss_buf.c' + source='../../librpc/ndr/ndr_spoolss_buf.c' ) bld.SAMBA_SUBSYSTEM('NDR_EPMAPPER', - '../../librpc/gen_ndr/ndr_epmapper.c', + source='../../librpc/gen_ndr/ndr_epmapper.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_DBGIDL', - '../../librpc/gen_ndr/ndr_dbgidl.c', + source='../../librpc/gen_ndr/ndr_dbgidl.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_DSSETUP', - '../../librpc/gen_ndr/ndr_dssetup.c', + source='../../librpc/gen_ndr/ndr_dssetup.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_MSGSVC', - '../../librpc/gen_ndr/ndr_msgsvc.c', + source='../../librpc/gen_ndr/ndr_msgsvc.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_WINSIF', - 'gen_ndr/ndr_winsif.c', + source='gen_ndr/ndr_winsif.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_MGMT', - '../../librpc/gen_ndr/ndr_mgmt.c', + source='../../librpc/gen_ndr/ndr_mgmt.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_PROTECTED_STORAGE', - '../../librpc/gen_ndr/ndr_protected_storage.c', + source='../../librpc/gen_ndr/ndr_protected_storage.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_ORPC', - '../../librpc/ndr/ndr_orpc.c ../../librpc/gen_ndr/ndr_orpc.c', + source='../../librpc/ndr/ndr_orpc.c ../../librpc/gen_ndr/ndr_orpc.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_OXIDRESOLVER', - '../../librpc/gen_ndr/ndr_oxidresolver.c', + source='../../librpc/gen_ndr/ndr_oxidresolver.c', public_deps='LIBNDR NDR_ORPC' ) bld.SAMBA_SUBSYSTEM('NDR_REMACT', - '../../librpc/gen_ndr/ndr_remact.c', + source='../../librpc/gen_ndr/ndr_remact.c', public_deps='LIBNDR NDR_ORPC' ) bld.SAMBA_SUBSYSTEM('NDR_WZCSVC', - '../../librpc/gen_ndr/ndr_wzcsvc.c', + source='../../librpc/gen_ndr/ndr_wzcsvc.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_BROWSER', - '../../librpc/gen_ndr/ndr_browser.c', + source='../../librpc/gen_ndr/ndr_browser.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_W32TIME', - '../../librpc/gen_ndr/ndr_w32time.c', + source='../../librpc/gen_ndr/ndr_w32time.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_SCERPC', - '../../librpc/gen_ndr/ndr_scerpc.c', + source='../../librpc/gen_ndr/ndr_scerpc.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_TRKWKS', - '../../librpc/gen_ndr/ndr_trkwks.c', + source='../../librpc/gen_ndr/ndr_trkwks.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_KEYSVC', - '../../librpc/gen_ndr/ndr_keysvc.c', + source='../../librpc/gen_ndr/ndr_keysvc.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_KRB5PAC', - '../../librpc/ndr/ndr_krb5pac.c ../../librpc/gen_ndr/ndr_krb5pac.c', + source='../../librpc/ndr/ndr_krb5pac.c ../../librpc/gen_ndr/ndr_krb5pac.c', public_deps='LIBNDR NDR_STANDARD NDR_SECURITY' ) bld.SAMBA_SUBSYSTEM('NDR_XATTR', - '../../librpc/ndr/ndr_xattr.c ../../librpc/gen_ndr/ndr_xattr.c', + source='../../librpc/ndr/ndr_xattr.c ../../librpc/gen_ndr/ndr_xattr.c', public_deps='LIBNDR NDR_SECURITY' ) bld.SAMBA_SUBSYSTEM('NDR_OPENDB', - 'gen_ndr/ndr_opendb.c', + source='gen_ndr/ndr_opendb.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_NOTIFY', - 'gen_ndr/ndr_notify.c', + source='gen_ndr/ndr_notify.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_SCHANNEL', - '../../librpc/ndr/ndr_schannel.c ../../librpc/gen_ndr/ndr_schannel.c', + source='../../librpc/ndr/ndr_schannel.c ../../librpc/gen_ndr/ndr_schannel.c', public_deps='LIBNDR NDR_NBT' ) bld.SAMBA_SUBSYSTEM('NDR_NBT', - '../../librpc/gen_ndr/ndr_nbt.c', + source='../../librpc/gen_ndr/ndr_nbt.c', public_deps='LIBNDR NDR_NBT_BUF NDR_SECURITY NDR_STANDARD LIBCLI_NDR_NETLOGON', public_headers='../../librpc/gen_ndr/nbt.h' ) bld.SAMBA_SUBSYSTEM('NDR_NTP_SIGND', - 'gen_ndr/ndr_ntp_signd.c', + source='gen_ndr/ndr_ntp_signd.c', public_deps='LIBNDR' ) bld.SAMBA_SUBSYSTEM('NDR_WINSREPL', - 'gen_ndr/ndr_winsrepl.c', + source='gen_ndr/ndr_winsrepl.c', public_deps='LIBNDR NDR_NBT' ) bld.SAMBA_SUBSYSTEM('NDR_WINBIND', - 'gen_ndr/ndr_winbind.c', + source='gen_ndr/ndr_winbind.c', public_deps='LIBNDR NDR_STANDARD' ) bld.SAMBA_SUBSYSTEM('NDR_NTLMSSP', - '../../librpc/ndr/ndr_ntlmssp.c ../../librpc/gen_ndr/ndr_ntlmssp.c', + source='../../librpc/ndr/ndr_ntlmssp.c ../../librpc/gen_ndr/ndr_ntlmssp.c', public_deps='LIBNDR NDR_STANDARD' ) bld.SAMBA_LIBRARY('NDR_STANDARD', - '../../librpc/gen_ndr/ndr_echo.c ../../librpc/gen_ndr/ndr_lsa.c ../../librpc/gen_ndr/ndr_samr.c ../../librpc/ndr/ndr_netlogon.c ../../librpc/gen_ndr/ndr_netlogon.c ../../libcli/ndr_netlogon.c ../../librpc/gen_ndr/ndr_dfs.c ../../librpc/gen_ndr/ndr_atsvc.c ../../librpc/gen_ndr/ndr_wkssvc.c ../../librpc/gen_ndr/ndr_srvsvc.c ../../librpc/ndr/ndr_svcctl.c ../../librpc/gen_ndr/ndr_svcctl.c ../../librpc/gen_ndr/ndr_winreg.c ../../librpc/gen_ndr/ndr_initshutdown.c ../../librpc/gen_ndr/ndr_eventlog.c ../../librpc/gen_ndr/ndr_ntsvcs.c', + source='../../librpc/gen_ndr/ndr_echo.c ../../librpc/gen_ndr/ndr_lsa.c ../../librpc/gen_ndr/ndr_samr.c ../../librpc/ndr/ndr_netlogon.c ../../librpc/gen_ndr/ndr_netlogon.c ../../libcli/ndr_netlogon.c ../../librpc/gen_ndr/ndr_dfs.c ../../librpc/gen_ndr/ndr_atsvc.c ../../librpc/gen_ndr/ndr_wkssvc.c ../../librpc/gen_ndr/ndr_srvsvc.c ../../librpc/ndr/ndr_svcctl.c ../../librpc/gen_ndr/ndr_svcctl.c ../../librpc/gen_ndr/ndr_winreg.c ../../librpc/gen_ndr/ndr_initshutdown.c ../../librpc/gen_ndr/ndr_eventlog.c ../../librpc/gen_ndr/ndr_ntsvcs.c', vnum='0.0.1', # PC_FILES='../librpc/ndr_standard.pc', deps='NDR_SECURITY', @@ -327,98 +333,101 @@ bld.SAMBA_LIBRARY('NDR_STANDARD', ) +bld.SAMBA_PIDL_TABLES('GEN_NDR_TABLES', 'gen_ndr/tables.c') + bld.SAMBA_SUBSYSTEM('NDR_TABLE', - '../../librpc/ndr/ndr_table.c gen_ndr/tables.c', - public_deps='NDR_STANDARD NDR_AUDIOSRV NDR_DSBACKUP NDR_EFS NDR_DRSUAPI NDR_POLICYAGENT NDR_UNIXINFO NDR_SPOOLSS NDR_EPMAPPER NDR_DBGIDL NDR_DSSETUP NDR_MSGSVC NDR_WINSIF NDR_MGMT NDR_PROTECTED_STORAGE NDR_OXIDRESOLVER NDR_REMACT NDR_WZCSVC NDR_BROWSER NDR_W32TIME NDR_SCERPC NDR_TRKWKS NDR_KEYSVC NDR_KRB5PAC NDR_XATTR NDR_SCHANNEL NDR_ROT NDR_DRSBLOBS NDR_NBT NDR_WINSREPL NDR_SECURITY NDR_DNSSERVER NDR_WINSTATION NDR_IRPC NDR_OPENDB NDR_SASL_HELPERS NDR_NOTIFY NDR_WINBIND NDR_FRSRPC NDR_FRSAPI NDR_FRSTRANS NDR_NFS4ACL NDR_NTP_SIGND NDR_DCOM NDR_WMI NDR_NAMED_PIPE_AUTH NDR_NTLMSSP NDR_DFSBLOBS' + source='../../librpc/ndr/ndr_table.c gen_ndr/tables.c', + public_deps='NDR_STANDARD NDR_AUDIOSRV NDR_DSBACKUP NDR_EFS NDR_DRSUAPI NDR_POLICYAGENT NDR_UNIXINFO NDR_SPOOLSS NDR_EPMAPPER NDR_DBGIDL NDR_DSSETUP NDR_MSGSVC NDR_WINSIF NDR_MGMT NDR_PROTECTED_STORAGE NDR_OXIDRESOLVER NDR_REMACT NDR_WZCSVC NDR_BROWSER NDR_W32TIME NDR_SCERPC NDR_TRKWKS NDR_KEYSVC NDR_KRB5PAC NDR_XATTR NDR_SCHANNEL NDR_ROT NDR_DRSBLOBS NDR_NBT NDR_WINSREPL NDR_SECURITY NDR_DNSSERVER NDR_WINSTATION NDR_IRPC NDR_OPENDB NDR_SASL_HELPERS NDR_NOTIFY NDR_WINBIND NDR_FRSRPC NDR_FRSAPI NDR_FRSTRANS NDR_NFS4ACL NDR_NTP_SIGND NDR_DCOM NDR_WMI NDR_NAMED_PIPE_AUTH NDR_NTLMSSP NDR_DFSBLOBS', + depends_on='GEN_NDR_TABLES' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_XATTR', - '../../librpc/gen_ndr/ndr_xattr_c.c', + source='../../librpc/gen_ndr/ndr_xattr_c.c', public_deps='NDR_XATTR dcerpc' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_ROT', - '../../librpc/gen_ndr/ndr_rot_c.c', + source='../../librpc/gen_ndr/ndr_rot_c.c', public_deps='NDR_ROT dcerpc' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_AUDIOSRV', - '../../librpc/gen_ndr/ndr_audiosrv_c.c', + source='../../librpc/gen_ndr/ndr_audiosrv_c.c', public_deps='NDR_AUDIOSRV dcerpc' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_ECHO', - '../../librpc/gen_ndr/ndr_echo_c.c', + source='../../librpc/gen_ndr/ndr_echo_c.c', public_deps='dcerpc NDR_STANDARD' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_DSBACKUP', - '../../librpc/gen_ndr/ndr_dsbackup_c.c', + source='../../librpc/gen_ndr/ndr_dsbackup_c.c', public_deps='dcerpc NDR_DSBACKUP' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_EFS', - '../../librpc/gen_ndr/ndr_efs_c.c', + source='../../librpc/gen_ndr/ndr_efs_c.c', public_deps='dcerpc NDR_EFS' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_LSA', - '../../librpc/gen_ndr/ndr_lsa_c.c', + source='../../librpc/gen_ndr/ndr_lsa_c.c', public_deps='dcerpc NDR_STANDARD' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_DFS', - '../../librpc/gen_ndr/ndr_dfs_c.c', + source='../../librpc/gen_ndr/ndr_dfs_c.c', public_deps='dcerpc NDR_STANDARD' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_FRSAPI', - '../../librpc/gen_ndr/ndr_frsapi_c.c', + source='../../librpc/gen_ndr/ndr_frsapi_c.c', public_deps='dcerpc NDR_FRSAPI' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_DRSUAPI', - '../../librpc/gen_ndr/ndr_drsuapi_c.c', + source='../../librpc/gen_ndr/ndr_drsuapi_c.c', public_deps='dcerpc NDR_DRSUAPI' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_POLICYAGENT', - '../../librpc/gen_ndr/ndr_policyagent_c.c', + source='../../librpc/gen_ndr/ndr_policyagent_c.c', public_deps='dcerpc NDR_POLICYAGENT' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_UNIXINFO', - '../../librpc/gen_ndr/ndr_unixinfo_c.c', + source='../../librpc/gen_ndr/ndr_unixinfo_c.c', public_deps='dcerpc NDR_UNIXINFO' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_BROWSER', - '../../librpc/gen_ndr/ndr_browser_c.c', + source='../../librpc/gen_ndr/ndr_browser_c.c', public_deps='dcerpc NDR_BROWSER' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_IRPC', - 'gen_ndr/ndr_irpc_c.c', + source='gen_ndr/ndr_irpc_c.c', public_deps='dcerpc NDR_IRPC' ) bld.SAMBA_LIBRARY('dcerpc_samr', - '../../librpc/gen_ndr/ndr_samr_c.c', + source='../../librpc/gen_ndr/ndr_samr_c.c', # PC_FILES='dcerpc_samr.pc', vnum='0.0.1', public_deps='dcerpc NDR_STANDARD', @@ -427,32 +436,32 @@ bld.SAMBA_LIBRARY('dcerpc_samr', bld.SAMBA_SUBSYSTEM('RPC_NDR_SPOOLSS', - '../../librpc/gen_ndr/ndr_spoolss_c.c', + source='../../librpc/gen_ndr/ndr_spoolss_c.c', public_deps='dcerpc NDR_SPOOLSS' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_WKSSVC', - '../../librpc/gen_ndr/ndr_wkssvc_c.c', + source='../../librpc/gen_ndr/ndr_wkssvc_c.c', public_deps='dcerpc NDR_STANDARD' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_SRVSVC', - '../../librpc/gen_ndr/ndr_srvsvc_c.c', + source='../../librpc/gen_ndr/ndr_srvsvc_c.c', public_deps='dcerpc NDR_SRVSVC' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_SVCCTL', - '../../librpc/gen_ndr/ndr_svcctl_c.c', + source='../../librpc/gen_ndr/ndr_svcctl_c.c', public_deps='dcerpc NDR_STANDARD', public_headers='../../librpc/gen_ndr/ndr_svcctl_c.h' ) bld.SAMBA_LIBRARY('dcerpc_atsvc', - '../../librpc/gen_ndr/ndr_atsvc_c.c', + source='../../librpc/gen_ndr/ndr_atsvc_c.c', # PC_FILES='dcerpc_atsvc.pc', vnum='0.0.1', public_deps='dcerpc NDR_STANDARD', @@ -461,128 +470,128 @@ bld.SAMBA_LIBRARY('dcerpc_atsvc', bld.SAMBA_SUBSYSTEM('RPC_NDR_EVENTLOG', - '../../librpc/gen_ndr/ndr_eventlog_c.c', + source='../../librpc/gen_ndr/ndr_eventlog_c.c', public_deps='dcerpc NDR_STANDARD' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_EPMAPPER', - '../../librpc/gen_ndr/ndr_epmapper_c.c', + source='../../librpc/gen_ndr/ndr_epmapper_c.c', public_deps='NDR_EPMAPPER' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_DBGIDL', - '../../librpc/gen_ndr/ndr_dbgidl_c.c', + source='../../librpc/gen_ndr/ndr_dbgidl_c.c', public_deps='dcerpc NDR_DBGIDL' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_DSSETUP', - '../../librpc/gen_ndr/ndr_dssetup_c.c', + source='../../librpc/gen_ndr/ndr_dssetup_c.c', public_deps='dcerpc NDR_DSSETUP' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_MSGSVC', - '../../librpc/gen_ndr/ndr_msgsvc_c.c', + source='../../librpc/gen_ndr/ndr_msgsvc_c.c', public_deps='dcerpc NDR_MSGSVC' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_WINSIF', - 'gen_ndr/ndr_winsif_c.c', + source='gen_ndr/ndr_winsif_c.c', public_deps='dcerpc NDR_WINSIF' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_WINREG', - '../../librpc/gen_ndr/ndr_winreg_c.c', + source='../../librpc/gen_ndr/ndr_winreg_c.c', public_deps='dcerpc NDR_STANDARD' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_INITSHUTDOWN', - '../../librpc/gen_ndr/ndr_initshutdown_c.c', + source='../../librpc/gen_ndr/ndr_initshutdown_c.c', public_deps='dcerpc NDR_STANDARD' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_MGMT', - '../../librpc/gen_ndr/ndr_mgmt_c.c', + source='../../librpc/gen_ndr/ndr_mgmt_c.c', deps='NDR_MGMT' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_PROTECTED_STORAGE', - '../../librpc/gen_ndr/ndr_protected_storage_c.c', + source='../../librpc/gen_ndr/ndr_protected_storage_c.c', public_deps='dcerpc NDR_PROTECTED_STORAGE' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_OXIDRESOLVER', - '../../librpc/gen_ndr/ndr_oxidresolver_c.c', + source='../../librpc/gen_ndr/ndr_oxidresolver_c.c', public_deps='dcerpc NDR_OXIDRESOLVER' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_REMACT', - '../../librpc/gen_ndr/ndr_remact_c.c', + source='../../librpc/gen_ndr/ndr_remact_c.c', public_deps='dcerpc NDR_REMACT' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_WZCSVC', - '../../librpc/gen_ndr/ndr_wzcsvc_c.c', + source='../../librpc/gen_ndr/ndr_wzcsvc_c.c', public_deps='dcerpc NDR_WZCSVC' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_W32TIME', - '../../librpc/gen_ndr/ndr_w32time_c.c', + source='../../librpc/gen_ndr/ndr_w32time_c.c', public_deps='dcerpc NDR_W32TIME' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_SCERPC', - '../../librpc/gen_ndr/ndr_scerpc_c.c', + source='../../librpc/gen_ndr/ndr_scerpc_c.c', public_deps='dcerpc NDR_SCERPC' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_NTSVCS', - '../../librpc/gen_ndr/ndr_ntsvcs_c.c', + source='../../librpc/gen_ndr/ndr_ntsvcs_c.c', public_deps='dcerpc NDR_STANDARD' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_NETLOGON', - '../../librpc/gen_ndr/ndr_netlogon_c.c', + source='../../librpc/gen_ndr/ndr_netlogon_c.c', public_deps='NDR_STANDARD' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_TRKWKS', - '../../librpc/gen_ndr/ndr_trkwks_c.c', + source='../../librpc/gen_ndr/ndr_trkwks_c.c', public_deps='dcerpc NDR_TRKWKS' ) bld.SAMBA_SUBSYSTEM('RPC_NDR_KEYSVC', - '../../librpc/gen_ndr/ndr_keysvc_c.c', + source='../../librpc/gen_ndr/ndr_keysvc_c.c', public_deps='dcerpc NDR_KEYSVC' ) bld.SAMBA_SUBSYSTEM('NDR_DCERPC', - '../../librpc/gen_ndr/ndr_dcerpc.c', + source='../../librpc/gen_ndr/ndr_dcerpc.c', public_deps='LIBNDR', public_headers='rpc/dcerpc.h ../../librpc/gen_ndr/ndr_dcerpc.h' ) bld.SAMBA_LIBRARY('dcerpc', - 'rpc/dcerpc.c rpc/dcerpc_auth.c rpc/dcerpc_schannel.c rpc/dcerpc_util.c rpc/dcerpc_smb.c rpc/dcerpc_smb2.c rpc/dcerpc_sock.c rpc/dcerpc_connect.c rpc/dcerpc_secondary.c ../../librpc/rpc/binding.c ../../librpc/rpc/dcerpc_error.c', + source='rpc/dcerpc.c rpc/dcerpc_auth.c rpc/dcerpc_schannel.c rpc/dcerpc_util.c rpc/dcerpc_smb.c rpc/dcerpc_smb2.c rpc/dcerpc_sock.c rpc/dcerpc_connect.c rpc/dcerpc_secondary.c ../../librpc/rpc/binding.c ../../librpc/rpc/dcerpc_error.c', # PC_FILES='dcerpc.pc', deps='samba_socket LIBCLI_RESOLVE LIBCLI_SMB LIBCLI_SMB2 LIBNDR NDR_DCERPC RPC_NDR_EPMAPPER NDR_SCHANNEL RPC_NDR_NETLOGON RPC_NDR_MGMT gensec LIBCLI_AUTH LIBCLI_RAW LP_RESOLVE', autoproto='rpc/dcerpc_proto.h', @@ -593,140 +602,135 @@ bld.SAMBA_LIBRARY('dcerpc', bld.SAMBA_PYTHON('python_dcerpc', - 'rpc/pyrpc.c', + source='rpc/pyrpc.c', public_deps='LIBCLI_SMB LIBSAMBA-UTIL LIBSAMBA-HOSTCONFIG dcerpc_samr RPC_NDR_LSA DYNCONFIG pycredentials pyparam_util', realname='samba/dcerpc/base.so' ) bld.SAMBA_PYTHON('python_echo', - '../../librpc/gen_ndr/py_echo.c', + source='../../librpc/gen_ndr/py_echo.c', deps='RPC_NDR_ECHO PYTALLOC pyparam_util pycredentials python_dcerpc', realname='samba/dcerpc/echo.so' ) bld.SAMBA_PYTHON('python_winreg', - '../../librpc/gen_ndr/py_winreg.c', + source='../../librpc/gen_ndr/py_winreg.c', deps='RPC_NDR_WINREG PYTALLOC pyparam_util pycredentials python_dcerpc', realname='samba/dcerpc/winreg.so' ) bld.SAMBA_PYTHON('python_dcerpc_misc', - 'ndr/py_misc.c', + source='ndr/py_misc.c', deps='PYTALLOC python_dcerpc NDR_MISC NDR_KRB5PAC', realname='samba/dcerpc/misc.so' ) bld.SAMBA_PYTHON('python_initshutdown', - '../../librpc/gen_ndr/py_initshutdown.c', + source='../../librpc/gen_ndr/py_initshutdown.c', deps='RPC_NDR_INITSHUTDOWN PYTALLOC pyparam_util pycredentials python_dcerpc', realname='samba/dcerpc/initshutdown.so' ) bld.SAMBA_PYTHON('python_epmapper', - '../../librpc/gen_ndr/py_epmapper.c', + source='../../librpc/gen_ndr/py_epmapper.c', deps='dcerpc PYTALLOC pyparam_util pycredentials python_dcerpc', realname='samba/dcerpc/epmapper.so' ) bld.SAMBA_PYTHON('python_mgmt', - '../../librpc/gen_ndr/py_mgmt.c', + source='../../librpc/gen_ndr/py_mgmt.c', deps='PYTALLOC param pycredentials dcerpc python_dcerpc', realname='samba/dcerpc/mgmt.so' ) bld.SAMBA_PYTHON('python_atsvc', - '../../librpc/gen_ndr/py_atsvc.c', + source='../../librpc/gen_ndr/py_atsvc.c', deps='dcerpc_atsvc PYTALLOC pyparam_util pycredentials python_dcerpc', realname='samba/dcerpc/atsvc.so' ) bld.SAMBA_PYTHON('python_dcerpc_nbt', - '../../librpc/gen_ndr/py_nbt.c', + source='../../librpc/gen_ndr/py_nbt.c', deps='NDR_NBT PYTALLOC pyparam_util pycredentials python_dcerpc', realname='samba/dcerpc/nbt.so' ) bld.SAMBA_PYTHON('python_samr', - '../../librpc/gen_ndr/py_samr.c', + source='../../librpc/gen_ndr/py_samr.c', deps='dcerpc_samr PYTALLOC pycredentials pyparam_util python_dcerpc', realname='samba/dcerpc/samr.so' ) bld.SAMBA_PYTHON('python_svcctl', - '../../librpc/gen_ndr/py_svcctl.c', + source='../../librpc/gen_ndr/py_svcctl.c', deps='RPC_NDR_SVCCTL PYTALLOC pyparam_util pycredentials python_dcerpc', realname='samba/dcerpc/svcctl.so' ) bld.SAMBA_PYTHON('python_lsa', - '../../librpc/gen_ndr/py_lsa.c', + source='../../librpc/gen_ndr/py_lsa.c', deps='RPC_NDR_LSA PYTALLOC pyparam_util pycredentials python_dcerpc', realname='samba/dcerpc/lsa.so' ) bld.SAMBA_PYTHON('python_wkssvc', - '../../librpc/gen_ndr/py_wkssvc.c', + source='../../librpc/gen_ndr/py_wkssvc.c', deps='RPC_NDR_WKSSVC PYTALLOC pyparam_util pycredentials python_dcerpc', realname='samba/dcerpc/wkssvc.so' ) bld.SAMBA_PYTHON('python_dfs', - '../../librpc/gen_ndr/py_dfs.c', + source='../../librpc/gen_ndr/py_dfs.c', deps='RPC_NDR_DFS PYTALLOC pyparam_util pycredentials python_dcerpc', realname='samba/dcerpc/dfs.so' ) bld.SAMBA_PYTHON('python_unixinfo', - '../../librpc/gen_ndr/py_unixinfo.c', + source='../../librpc/gen_ndr/py_unixinfo.c', deps='RPC_NDR_UNIXINFO PYTALLOC pyparam_util pycredentials python_dcerpc', realname='samba/dcerpc/unixinfo.so' ) bld.SAMBA_PYTHON('python_irpc', - 'gen_ndr/py_irpc.c', + source='gen_ndr/py_irpc.c', deps='RPC_NDR_IRPC PYTALLOC pyparam_util pycredentials python_dcerpc', realname='samba/dcerpc/irpc.so' ) bld.SAMBA_PYTHON('python_drsuapi', - '../../librpc/gen_ndr/py_drsuapi.c', + source='../../librpc/gen_ndr/py_drsuapi.c', deps='RPC_NDR_DRSUAPI PYTALLOC pyparam_util pycredentials python_dcerpc', realname='samba/dcerpc/drsuapi.so' ) bld.SAMBA_PYTHON('python_dcerpc_security', - 'ndr/py_security.c', + source='ndr/py_security.c', deps='PYTALLOC python_dcerpc_misc python_dcerpc NDR_SECURITY', realname='samba/dcerpc/security.so' ) bld.SAMBA_PYTHON('python_dcerpc_xattr', - 'ndr/py_xattr.c', + source='ndr/py_xattr.c', deps='PYTALLOC python_dcerpc_misc python_dcerpc python_dcerpc_security NDR_XATTR RPC_NDR_XATTR', realname='samba/dcerpc/xattr.so' ) -S4_IDL=bld.SUBDIR('idl', - '''irpc.idl nfs4acl.idl notify.idl ntp_signd.idl opendb.idl sasl_helpers.idl server_id.idl winbind.idl winsif.idl winsrepl.idl winstation.idl'''); - -bld.SAMBA_PIDL_LIST('gen_ndr', S4_IDL, - options="--includedir=../../librpc/idl") diff --git a/source4/wscript b/source4/wscript index 4590d7be70..e9c762ec02 100644 --- a/source4/wscript +++ b/source4/wscript @@ -1,3 +1,5 @@ +#! /usr/bin/env python + srcdir = '..' blddir = 'bin' @@ -16,6 +18,7 @@ def set_options(opt): def configure(conf): conf.DEFINE('_SAMBA_BUILD_', 4) + conf.find_program('python', var='PYTHON', mandatory=True) conf.sub_config(LIBREPLACE_DIR) conf.sub_config(LIBLDB_DIR) conf.sub_config('heimdal_build') diff --git a/source4/wscript_build b/source4/wscript_build index 48a4060b26..04fef67927 100644 --- a/source4/wscript_build +++ b/source4/wscript_build @@ -1,9 +1,15 @@ # top level waf build script for samba4 +import os +srcdir = ".." + +bld.env.TOPDIR = os.path.normpath(os.path.join(os.environ.get('PWD'), srcdir)) + # create separate build groups for building the asn1 and et compiler, then # building the C from ASN1 and IDL, and finally the main build process bld.SETUP_BUILD_GROUPS() +bld.ENABLE_MAGIC_ORDERING() bld.PREDECLARE('LIBNDR', 'LIBRARY') bld.PREDECLARE('LIBSAMBA-UTIL', 'LIBRARY') -- cgit