mirror of
https://github.com/samba-team/samba.git
synced 2025-03-27 22:50:26 +03:00
build: nearly there on samba4 build
This commit is contained in:
parent
9cb39847c0
commit
8f1b809d2c
@ -8,6 +8,5 @@ grep ^.define $HOME/samba_old/source4/include/config.h | sort > old-config.h
|
||||
|
||||
comm -23 old-config.h waf-config.h
|
||||
|
||||
echo
|
||||
|
||||
diff -u old-config.h waf-config.h
|
||||
#echo
|
||||
#diff -u old-config.h waf-config.h
|
||||
|
@ -50,6 +50,10 @@ sub strlist($)
|
||||
$s =~ s/\bLIBTALLOC\b/talloc/g;
|
||||
$s =~ s/\bTALLOC\b/talloc/g;
|
||||
$s =~ s/\bLIBTEVENT\b/tevent/g;
|
||||
$s =~ s/\bTEVENT\b/tevent/g;
|
||||
$s =~ s/\bTSOCKET\b/LIBTSOCKET/g;
|
||||
$s =~ s/\bGENSEC\b/gensec/g;
|
||||
$s =~ s/\bLIBTDB\b/tdb/g;
|
||||
$s =~ s/\bRESOLV\b/resolv/g;
|
||||
|
||||
return trim(join(' ', split(/\s+/, $s)));
|
||||
|
Binary file not shown.
@ -3,6 +3,7 @@
|
||||
from TaskGen import taskgen, before
|
||||
import Build, os, string, Utils
|
||||
from samba_utils import *
|
||||
from samba_autoconf import *
|
||||
|
||||
|
||||
# not sure if we need this exec_rule stuff ..., i'll leave it in for now
|
||||
@ -16,7 +17,8 @@ def add_comp(self):
|
||||
def SAMBA_ASN1(bld, name, source,
|
||||
options='',
|
||||
directory='',
|
||||
option_file=None):
|
||||
option_file=None,
|
||||
includes=''):
|
||||
'''Build a ASN1 file using the asn1 compiler.
|
||||
This will produce 2 output files'''
|
||||
bname = os.path.basename(source)[0:-5];
|
||||
@ -59,7 +61,7 @@ def SAMBA_ASN1(bld, name, source,
|
||||
shell = True,
|
||||
source = source,
|
||||
target = out_files,
|
||||
name=name)
|
||||
name=name + '_ASN1')
|
||||
|
||||
t.env.ASN1NAME = asn1name
|
||||
t.env.ASN1OPTIONS = options
|
||||
@ -67,24 +69,40 @@ def SAMBA_ASN1(bld, name, source,
|
||||
if option_file is not None:
|
||||
t.env.OPTION_FILE = "--option-file=%s" % os.path.normpath(os.path.join(bld.curdir, option_file))
|
||||
|
||||
cfile = out_files[0][0:-2] + '.c'
|
||||
hfile = out_files[1][0:-3] + '.h',
|
||||
|
||||
# now generate a .c file from the .x file
|
||||
t = bld(rule='''( echo '#include "config.h"' && cat ${SRC} ) > ${TGT}''',
|
||||
source = out_files[0],
|
||||
target = out_files[0][0:-2] + '.c',
|
||||
target = cfile,
|
||||
shell = True,
|
||||
ext_out = '.c',
|
||||
ext_in = '.x',
|
||||
depends_on = name,
|
||||
name = name + "_C")
|
||||
depends_on = name + '_ASN1',
|
||||
name = name + '_C')
|
||||
|
||||
# and generate a .h file from the .hx file
|
||||
t = bld(rule='cp ${SRC} ${TGT}',
|
||||
source = out_files[1],
|
||||
ext_out = '.c',
|
||||
ext_in = '.x',
|
||||
target = out_files[1][0:-3] + '.h',
|
||||
depends_on = name,
|
||||
name = name + "_H")
|
||||
target = hfile,
|
||||
depends_on = name + '_ASN1',
|
||||
name = name + '_H')
|
||||
|
||||
bld.SET_BUILD_GROUP('main')
|
||||
|
||||
includes = TO_LIST(includes)
|
||||
includes.append(os.path.dirname(out_files[0]))
|
||||
|
||||
t = bld(features = 'cc',
|
||||
source = cfile,
|
||||
target = name,
|
||||
ccflags = CURRENT_CFLAGS(bld, name, ''),
|
||||
depends_on = '',
|
||||
samba_deps = TO_LIST('HEIMDAL_ROKEN'),
|
||||
samba_includes = includes,
|
||||
local_include = True)
|
||||
|
||||
Build.BuildContext.SAMBA_ASN1 = SAMBA_ASN1
|
||||
|
@ -33,7 +33,7 @@ def CHECK_HEADER(conf, h, add_headers=True):
|
||||
def CHECK_HEADERS(conf, list, add_headers=True):
|
||||
'''check for a list of headers'''
|
||||
ret = True
|
||||
for hdr in to_list(list):
|
||||
for hdr in TO_LIST(list):
|
||||
if not CHECK_HEADER(conf, hdr, add_headers):
|
||||
ret = False
|
||||
return ret
|
||||
@ -43,7 +43,8 @@ def CHECK_HEADERS(conf, list, add_headers=True):
|
||||
def CHECK_TYPES(conf, list):
|
||||
'''check for a list of types'''
|
||||
ret = True
|
||||
for t in to_list(list):
|
||||
lst = TO_LIST(list)
|
||||
for t in TO_LIST(list):
|
||||
if not conf.check(type_name=t, header_name=conf.env.hlist):
|
||||
ret = False
|
||||
return ret
|
||||
@ -80,7 +81,7 @@ def CHECK_VARIABLE(conf, v, define=None, always=False, headers=None):
|
||||
'''check for a variable declaration (or define)'''
|
||||
hdrs=''
|
||||
if headers is not None:
|
||||
hlist = to_list(headers)
|
||||
hlist = TO_LIST(headers)
|
||||
else:
|
||||
hlist = conf.env.hlist
|
||||
for h in hlist:
|
||||
@ -113,7 +114,7 @@ def CHECK_DECLS(conf, vars, reverse=False, headers=None):
|
||||
When reverse==True then use HAVE_xxx_DECL instead of HAVE_DECL_xxx
|
||||
'''
|
||||
ret = True
|
||||
for v in to_list(vars):
|
||||
for v in TO_LIST(vars):
|
||||
if not reverse:
|
||||
define='HAVE_DECL_%s' % v.upper()
|
||||
else:
|
||||
@ -135,7 +136,7 @@ def CHECK_FUNC(conf, f, checklink=False):
|
||||
def CHECK_FUNCS(conf, list, checklink=False):
|
||||
'''check for a list of functions'''
|
||||
ret = True
|
||||
for f in to_list(list):
|
||||
for f in TO_LIST(list):
|
||||
if not CHECK_FUNC(conf, f, checklink):
|
||||
ret = False
|
||||
return ret
|
||||
@ -146,12 +147,12 @@ def CHECK_SIZEOF(conf, vars, headers=None, define=None):
|
||||
'''check the size of a type'''
|
||||
hdrs=''
|
||||
if headers is not None:
|
||||
hlist = to_list(headers)
|
||||
hlist = TO_LIST(headers)
|
||||
else:
|
||||
hlist = conf.env.hlist
|
||||
for h in hlist:
|
||||
hdrs += '#include <%s>\n' % h
|
||||
for v in to_list(vars):
|
||||
for v in TO_LIST(vars):
|
||||
if define is None:
|
||||
define_name = 'SIZEOF_%s' % string.replace(v.upper(), ' ', '_')
|
||||
else:
|
||||
@ -179,7 +180,7 @@ def CHECK_CODE(conf, code, define,
|
||||
'''check if some code compiles and/or runs'''
|
||||
hdrs=''
|
||||
if headers is not None:
|
||||
hlist = to_list(headers)
|
||||
hlist = TO_LIST(headers)
|
||||
else:
|
||||
hlist = conf.env.hlist
|
||||
for h in hlist:
|
||||
@ -207,7 +208,7 @@ def CHECK_CODE(conf, code, define,
|
||||
execute=execute,
|
||||
define_name = define,
|
||||
mandatory = mandatory,
|
||||
ccflags=to_list(cflags),
|
||||
ccflags=TO_LIST(cflags),
|
||||
includes=includes,
|
||||
msg=msg):
|
||||
conf.DEFINE(define, 1)
|
||||
@ -224,7 +225,7 @@ def CHECK_STRUCTURE_MEMBER(conf, structname, member,
|
||||
'''check for a structure member'''
|
||||
hdrs=''
|
||||
if headers is not None:
|
||||
hlist = to_list(headers)
|
||||
hlist = TO_LIST(headers)
|
||||
else:
|
||||
hlist = conf.env.hlist
|
||||
for h in hlist:
|
||||
@ -286,21 +287,21 @@ def CHECK_FUNCS_IN(conf, list, library, mandatory=False, checklibc=False):
|
||||
# first see if the functions are in libc
|
||||
if checklibc:
|
||||
remaining = []
|
||||
for f in to_list(list):
|
||||
for f in TO_LIST(list):
|
||||
if not CHECK_FUNC(conf, f):
|
||||
remaining.append(f)
|
||||
else:
|
||||
remaining = to_list(list)
|
||||
remaining = TO_LIST(list)
|
||||
|
||||
if remaining == []:
|
||||
LOCAL_CACHE_SET(conf, 'EMPTY_TARGETS', library.upper(), True)
|
||||
SET_TARGET_TYPE(conf, library, 'EMPTY')
|
||||
return True
|
||||
|
||||
if not conf.check(lib=library, uselib_store=library):
|
||||
conf.ASSERT(not mandatory,
|
||||
"Mandatory library '%s' not found for functions '%s'" % (library, list))
|
||||
# if it isn't a mandatory library, then remove it from dependency lists
|
||||
LOCAL_CACHE_SET(conf, 'EMPTY_TARGETS', library.upper(), True)
|
||||
SET_TARGET_TYPE(conf, library, 'EMPTY')
|
||||
return False
|
||||
|
||||
conf.define('HAVE_LIB%s' % string.replace(library.upper(),'-','_'), 1)
|
||||
@ -343,7 +344,7 @@ def CONFIG_PATH(conf, name, default):
|
||||
def ADD_CFLAGS(conf, flags):
|
||||
if not 'EXTRA_CFLAGS' in conf.env:
|
||||
conf.env['EXTRA_CFLAGS'] = []
|
||||
conf.env['EXTRA_CFLAGS'].extend(to_list(flags))
|
||||
conf.env['EXTRA_CFLAGS'].extend(TO_LIST(flags))
|
||||
|
||||
##############################################################
|
||||
# add some extra include directories to all builds
|
||||
@ -351,16 +352,16 @@ def ADD_CFLAGS(conf, flags):
|
||||
def ADD_EXTRA_INCLUDES(conf, includes):
|
||||
if not 'EXTRA_INCLUDES' in conf.env:
|
||||
conf.env['EXTRA_INCLUDES'] = []
|
||||
conf.env['EXTRA_INCLUDES'].extend(to_list(includes))
|
||||
conf.env['EXTRA_INCLUDES'].extend(TO_LIST(includes))
|
||||
|
||||
|
||||
##############################################################
|
||||
# work out the current flags. local flags are added first
|
||||
def CURRENT_CFLAGS(bld, cflags):
|
||||
def CURRENT_CFLAGS(bld, target, cflags):
|
||||
if not 'EXTRA_CFLAGS' in bld.env:
|
||||
list = []
|
||||
else:
|
||||
list = bld.env['EXTRA_CFLAGS'];
|
||||
ret = to_list(cflags)
|
||||
ret = TO_LIST(cflags)
|
||||
ret.extend(list)
|
||||
return ret
|
||||
|
@ -5,7 +5,10 @@ import Build, os, string, Utils
|
||||
from samba_utils import *
|
||||
|
||||
# rule for heimdal prototype generation
|
||||
def HEIMDAL_AUTOPROTO(bld, header, source, options='-q -P comment -o'):
|
||||
def HEIMDAL_AUTOPROTO(bld, header, source, options=None, group='main'):
|
||||
bld.SET_BUILD_GROUP(group)
|
||||
if options is None:
|
||||
options='-q -P comment -o'
|
||||
t = bld(rule='${PERL} -W ../heimdal/cf/make-proto.pl ${OPTIONS} ${TGT[0].abspath(env)} ${SRC}',
|
||||
source=source,
|
||||
target=header,
|
||||
@ -26,8 +29,8 @@ def SAMBA_AUTOPROTO(bld, header, source):
|
||||
source = source,
|
||||
target = header,
|
||||
ext_out='.c',
|
||||
before ='cc',
|
||||
rule = '../script/mkproto.pl --srcdir=.. --builddir=. --public=/dev/null --private=${TGT} ${SRC}'
|
||||
)
|
||||
Build.BuildContext.SAMBA_AUTOPROTO = SAMBA_AUTOPROTO
|
||||
|
||||
|
||||
|
@ -30,11 +30,11 @@ def SAMBA_PIDL(bld, pname, source, options='', output_dir='.'):
|
||||
|
||||
table_header_idx = None
|
||||
out_files = []
|
||||
options_list = to_list(options)
|
||||
options_list = TO_LIST(options)
|
||||
|
||||
for o in options_list:
|
||||
if o in options_map:
|
||||
ofiles = to_list(options_map[o])
|
||||
ofiles = TO_LIST(options_map[o])
|
||||
for f in ofiles:
|
||||
out_files.append(os.path.join(output_dir, f % bname))
|
||||
if f == 'ndr_%s.h':
|
||||
@ -53,7 +53,7 @@ def SAMBA_PIDL(bld, pname, source, options='', output_dir='.'):
|
||||
name = name)
|
||||
|
||||
t.env.PIDL = "../pidl/pidl"
|
||||
t.env.OPTIONS = to_list(options)
|
||||
t.env.OPTIONS = TO_LIST(options)
|
||||
t.env.OUTPUTDIR = 'bin/' + bld.BUILD_PATH(output_dir)
|
||||
|
||||
|
||||
@ -67,7 +67,7 @@ Build.BuildContext.SAMBA_PIDL = SAMBA_PIDL
|
||||
|
||||
def SAMBA_PIDL_LIST(bld, name, source, options='', output_dir='.'):
|
||||
'''A wrapper for building a set of IDL files'''
|
||||
for p in to_list(source):
|
||||
for p in TO_LIST(source):
|
||||
bld.SAMBA_PIDL(name, p, options=options, output_dir=output_dir)
|
||||
Build.BuildContext.SAMBA_PIDL_LIST = SAMBA_PIDL_LIST
|
||||
|
||||
@ -91,13 +91,12 @@ def SAMBA_PIDL_TABLES(bld, name, target):
|
||||
headers = bld.env.PIDL_HEADERS
|
||||
t = bld(
|
||||
features = 'collect',
|
||||
rule = '${SRC} --output ${TGT} > ${TGT}',
|
||||
rule = '${SRC} --output ${TGT} | sed "s|default/||" > ${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
|
||||
|
||||
|
@ -8,6 +8,7 @@ from Logs import debug
|
||||
from TaskGen import extension
|
||||
import shlex
|
||||
|
||||
# TODO: make this a --option
|
||||
LIB_PATH="shared"
|
||||
|
||||
|
||||
@ -30,16 +31,6 @@ def SET_TARGET_TYPE(ctx, target, value):
|
||||
"Target '%s' re-defined as %s - was %s" % (target, value, cache[target]))
|
||||
debug("task_gen: Skipping duplicate target %s (curdir=%s)" % (target, ctx.curdir))
|
||||
return False
|
||||
assumed = LOCAL_CACHE(ctx, 'ASSUMED_TARGET')
|
||||
if target in assumed:
|
||||
#if assumed[target] != value:
|
||||
# print "Target '%s' was assumed of type '%s' but is '%s'" % (target, assumed[target], value)
|
||||
ASSERT(ctx, assumed[target] == value,
|
||||
"Target '%s' was assumed of type '%s' but is '%s'" % (target, assumed[target], value))
|
||||
predeclared = LOCAL_CACHE(ctx, 'PREDECLARED_TARGET')
|
||||
if target in predeclared:
|
||||
ASSERT(ctx, predeclared[target] == value,
|
||||
"Target '%s' was predeclared of type '%s' but is '%s'" % (target, predeclared[target], value))
|
||||
LOCAL_CACHE_SET(ctx, 'TARGET_TYPE', target, value)
|
||||
debug("task_gen: Target '%s' created of type '%s' in %s" % (target, value, ctx.curdir))
|
||||
return True
|
||||
@ -110,17 +101,11 @@ Build.BuildContext.ASSERT = ASSERT
|
||||
# create a list of files by pre-pending each with a subdir name
|
||||
def SUBDIR(bld, subdir, list):
|
||||
ret = ''
|
||||
for l in to_list(list):
|
||||
for l in TO_LIST(list):
|
||||
ret = ret + subdir + '/' + l + ' '
|
||||
return ret
|
||||
Build.BuildContext.SUBDIR = SUBDIR
|
||||
|
||||
##############################################
|
||||
# remove .. elements from a path list
|
||||
def NORMPATH(bld, ilist):
|
||||
return " ".join([os.path.normpath(p) for p in to_list(ilist)])
|
||||
Build.BuildContext.NORMPATH = NORMPATH
|
||||
|
||||
#######################################################
|
||||
# d1 += d2
|
||||
def dict_concat(d1, d2):
|
||||
@ -158,7 +143,7 @@ def ADD_COMMAND(opt, name, function):
|
||||
Options.Handler.ADD_COMMAND = ADD_COMMAND
|
||||
|
||||
|
||||
@feature('*')
|
||||
@feature('cc', 'cshlib', 'cprogram')
|
||||
@before('apply_core','exec_rule')
|
||||
def process_depends_on(self):
|
||||
'''The new depends_on attribute for build rules
|
||||
@ -174,7 +159,7 @@ def process_depends_on(self):
|
||||
self.includes += " " + y.more_includes
|
||||
|
||||
|
||||
#@feature('cprogram cc cshlib')
|
||||
#@feature('cprogram', 'cc', 'cshlib')
|
||||
#@before('apply_core')
|
||||
#def process_generated_dependencies(self):
|
||||
# '''Ensure that any dependent source generation happens
|
||||
@ -186,12 +171,6 @@ def process_depends_on(self):
|
||||
# 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
|
||||
#
|
||||
#old_post_run = Task.Task.post_run
|
||||
@ -230,22 +209,39 @@ def dbg(self):
|
||||
if self.target == 'HEIMDAL_HEIM_ASN1':
|
||||
print "@@@@@@@@@@@@@@2", self.includes, self.env._CCINCFLAGS
|
||||
|
||||
def unique_list(seq):
|
||||
'''return a uniquified list in the same order as the existing list'''
|
||||
seen = {}
|
||||
result = []
|
||||
for item in seq:
|
||||
if item in seen: continue
|
||||
seen[item] = True
|
||||
result.append(item)
|
||||
return result
|
||||
|
||||
def to_list(str):
|
||||
def TO_LIST(str):
|
||||
'''Split a list, preserving quoted strings and existing lists'''
|
||||
if isinstance(str, list):
|
||||
return str
|
||||
return shlex.split(str)
|
||||
lst = str.split()
|
||||
# the string may have had quotes in it, now we
|
||||
# check if we did have quotes, and use the slower shlex
|
||||
# if we need to
|
||||
for e in lst:
|
||||
if e[0] == '"':
|
||||
return shlex.split(str)
|
||||
return lst
|
||||
|
||||
@conf
|
||||
def SUBST_ENV_VAR(conf, varname):
|
||||
def SUBST_ENV_VAR(ctx, varname):
|
||||
'''Substitute an environment variable for any embedded variables'''
|
||||
return Utils.subst_vars(conf.env[varname], conf.env)
|
||||
return Utils.subst_vars(ctx.env[varname], ctx.env)
|
||||
Build.BuildContext.SUBST_ENV_VAR = SUBST_ENV_VAR
|
||||
|
||||
|
||||
def ENFORCE_GROUP_ORDERING(bld):
|
||||
'''enforce group ordering for the project. This
|
||||
makes the group ordering apply even when you specify
|
||||
makes the group ordering apply only when you specify
|
||||
a target with --target'''
|
||||
if Options.options.compile_targets:
|
||||
@feature('*')
|
||||
@ -280,4 +276,3 @@ Build.BuildContext.ENFORCE_GROUP_ORDERING = ENFORCE_GROUP_ORDERING
|
||||
# raise Utils.WafError('object %r was not found in uselib_local (required by add_objects %r)' % (x, self.name))
|
||||
# y.post()
|
||||
# self.env.append_unique('INC_PATHS', y.env.INC_PATHS)
|
||||
|
||||
|
@ -8,12 +8,13 @@ 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 *
|
||||
from samba_asn1 import *
|
||||
from samba_autoproto import *
|
||||
from samba_python import *
|
||||
from samba_deps import *
|
||||
|
||||
LIB_PATH="shared"
|
||||
|
||||
@ -35,154 +36,17 @@ def ADD_INIT_FUNCTION(bld, subsystem, init_function):
|
||||
bld.ASSERT(subsystem is not None, "You must specify a subsystem for init_function '%s'" % init_function)
|
||||
cache = LOCAL_CACHE(bld, 'INIT_FUNCTIONS')
|
||||
if not subsystem in cache:
|
||||
cache[subsystem] = ''
|
||||
cache[subsystem] += '%s,' % init_function
|
||||
cache[subsystem] = []
|
||||
cache[subsystem].append(init_function)
|
||||
Build.BuildContext.ADD_INIT_FUNCTION = ADD_INIT_FUNCTION
|
||||
|
||||
################################################################
|
||||
# recursively build the dependency list for a target
|
||||
def FULL_DEPENDENCIES(bld, cache, target, chain, path):
|
||||
if not target in cache:
|
||||
return {}
|
||||
deps = cache[target].copy()
|
||||
for t in cache[target]:
|
||||
bld.ASSERT(t not in chain, "Circular dependency for %s: %s->%s" % (t, path, t));
|
||||
c2 = chain.copy()
|
||||
c2[t] = True
|
||||
dict_concat(deps, FULL_DEPENDENCIES(bld, cache, t, c2, "%s->%s" % (path, t)))
|
||||
return deps
|
||||
|
||||
############################################################
|
||||
# check our build dependencies for circular dependencies
|
||||
def CHECK_TARGET_DEPENDENCY(bld, target):
|
||||
cache = LOCAL_CACHE(bld, 'LIB_DEPS')
|
||||
return FULL_DEPENDENCIES(bld, cache, target, { target:True }, target)
|
||||
|
||||
############################################################
|
||||
# check that all dependencies have been declared
|
||||
def CHECK_DEPENDENCIES(bld):
|
||||
cache = LOCAL_CACHE(bld, 'LIB_DEPS')
|
||||
target_cache = LOCAL_CACHE(bld, 'TARGET_TYPE')
|
||||
debug('deps: Checking dependencies')
|
||||
for t in cache:
|
||||
deps = CHECK_TARGET_DEPENDENCY(bld, t)
|
||||
for d in deps:
|
||||
#if not d in target_cache:
|
||||
# print "WARNING: Dependency '%s' of target '%s' not declared" % (d, t)
|
||||
ASSERT(bld, d in target_cache,
|
||||
"Dependency '%s' of target '%s' not declared" % (d, t))
|
||||
debug("deps: Dependencies checked for %u targets" % len(target_cache))
|
||||
Build.BuildContext.CHECK_DEPENDENCIES = CHECK_DEPENDENCIES
|
||||
|
||||
|
||||
############################################################
|
||||
# pre-declare a target as being of a particular type
|
||||
def PREDECLARE(bld, target, type):
|
||||
cache = LOCAL_CACHE(bld, 'PREDECLARED_TARGET')
|
||||
target_cache = LOCAL_CACHE(bld, 'TARGET_TYPE')
|
||||
ASSERT(bld, not target in target_cache, "Target '%s' is already declared" % target)
|
||||
ASSERT(bld, not target in cache, "Target '%s' already predeclared" % target)
|
||||
cache[target] = type
|
||||
Build.BuildContext.PREDECLARE = PREDECLARE
|
||||
|
||||
|
||||
|
||||
################################################################
|
||||
# add to the dependency list. Return a new dependency list with
|
||||
# any circular dependencies removed
|
||||
# returns a tuple containing (systemdeps, localdeps, add_objects)
|
||||
def ADD_DEPENDENCIES(bld, name, deps):
|
||||
debug('deps: Calculating dependencies for %s' % name)
|
||||
lib_deps = LOCAL_CACHE(bld, 'LIB_DEPS')
|
||||
if not name in lib_deps:
|
||||
lib_deps[name] = {}
|
||||
list = to_list(deps)
|
||||
list2 = []
|
||||
for d in list:
|
||||
lib_deps[name][d] = True;
|
||||
try:
|
||||
CHECK_TARGET_DEPENDENCY(bld, name)
|
||||
list2.append(d)
|
||||
except AssertionError:
|
||||
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')
|
||||
predeclare = LOCAL_CACHE(bld, 'PREDECLARED_TARGET')
|
||||
for d in list2:
|
||||
recurse = False
|
||||
# strip out any dependencies on empty libraries
|
||||
if d in cache:
|
||||
debug("deps: Removing empty dependency '%s' from '%s'" % (d, name))
|
||||
continue
|
||||
type = None
|
||||
|
||||
if d in target_cache:
|
||||
type = target_cache[d]
|
||||
elif d in predeclare:
|
||||
type = predeclare[d]
|
||||
else:
|
||||
type = 'SUBSYSTEM'
|
||||
LOCAL_CACHE_SET(bld, 'ASSUMED_TARGET', d, type)
|
||||
|
||||
if type == 'SYSLIB':
|
||||
sysdeps.append(d)
|
||||
elif type == 'LIBRARY':
|
||||
localdeps.append(d)
|
||||
elif type == 'SUBSYSTEM':
|
||||
add_objects.append(d)
|
||||
recurse = True
|
||||
elif type == 'MODULE':
|
||||
add_objects.append(d)
|
||||
recurse = True
|
||||
elif type == 'PYTHON':
|
||||
pass
|
||||
elif type == 'ASN1':
|
||||
pass
|
||||
elif type == 'BINARY':
|
||||
pass
|
||||
else:
|
||||
ASSERT(bld, False, "Unknown target type '%s' for dependency %s" % (
|
||||
type, d))
|
||||
|
||||
# for some types we have to build the list recursively
|
||||
if recurse and (d in lib_deps):
|
||||
rec_deps = ' '.join(lib_deps[d].keys())
|
||||
(rec_sysdeps, rec_localdeps, rec_add_objects) = ADD_DEPENDENCIES(bld, d, rec_deps)
|
||||
sysdeps.extend(to_list(rec_sysdeps))
|
||||
localdeps.extend(to_list(rec_localdeps))
|
||||
add_objects.extend(to_list(rec_add_objects))
|
||||
|
||||
debug('deps: Dependencies for %s: sysdeps: %u localdeps: %u add_objects=%u' % (
|
||||
name, len(sysdeps), len(localdeps), len(add_objects)))
|
||||
return (' '.join(sysdeps), ' '.join(localdeps), ' '.join(add_objects))
|
||||
|
||||
|
||||
#################################################################
|
||||
# return a include list for a set of library dependencies
|
||||
def SAMBA_LIBRARY_INCLUDE_LIST(bld, deps):
|
||||
ret = bld.curdir + ' '
|
||||
cache = LOCAL_CACHE(bld, 'INCLUDE_LIST')
|
||||
for l in to_list(deps):
|
||||
if l in cache:
|
||||
ret = ret + cache[l] + ' '
|
||||
if 'EXTRA_INCLUDES' in bld.env:
|
||||
ret += ' ' + ' '.join(bld.env['EXTRA_INCLUDES'])
|
||||
return ret
|
||||
Build.BuildContext.SAMBA_LIBRARY_INCLUDE_LIST = SAMBA_LIBRARY_INCLUDE_LIST
|
||||
|
||||
#################################################################
|
||||
# define a Samba library
|
||||
def SAMBA_LIBRARY(bld, libname, source,
|
||||
deps='',
|
||||
public_deps='',
|
||||
includes='.',
|
||||
includes='',
|
||||
public_headers=None,
|
||||
vnum=None,
|
||||
cflags='',
|
||||
@ -190,58 +54,34 @@ def SAMBA_LIBRARY(bld, libname, source,
|
||||
realname=None,
|
||||
autoproto=None,
|
||||
group='main',
|
||||
depends_on=''):
|
||||
if not SET_TARGET_TYPE(bld, libname, 'LIBRARY'):
|
||||
return
|
||||
depends_on='',
|
||||
local_include=True):
|
||||
|
||||
# remember empty libraries, so we can strip the dependencies
|
||||
if (source == '') or (source == []):
|
||||
LOCAL_CACHE_SET(bld, 'EMPTY_TARGETS', libname, True)
|
||||
SET_TARGET_TYPE(bld, libname, 'EMPTY')
|
||||
return
|
||||
|
||||
(sysdeps, localdeps, add_objects) = ADD_DEPENDENCIES(bld, libname, deps)
|
||||
if not SET_TARGET_TYPE(bld, libname, 'LIBRARY'):
|
||||
return
|
||||
|
||||
# bld.SET_TARGET_INCLUDE_LIST(libname, includes)
|
||||
|
||||
ilist = includes + ' ' + bld.SAMBA_LIBRARY_INCLUDE_LIST(deps)
|
||||
ilist = bld.NORMPATH(ilist)
|
||||
|
||||
# print "LIBRARY %s add_objects=%s deps=%s uselib_local=%s ilist=%s" % (libname, add_objects, deps, localdeps, ilist)
|
||||
deps += ' ' + public_deps
|
||||
|
||||
# this print below should show that we're runnig this code
|
||||
bld.SET_BUILD_GROUP(group) # <- here
|
||||
bld(
|
||||
features = 'cc cshlib',
|
||||
source = source,
|
||||
target=libname,
|
||||
uselib_local = localdeps,
|
||||
uselib = sysdeps,
|
||||
add_objects = add_objects,
|
||||
ccflags = CURRENT_CFLAGS(bld, cflags),
|
||||
includes=ilist + ' . #',
|
||||
export_incdirs = includes,
|
||||
depends_on=depends_on,
|
||||
vnum=vnum)
|
||||
|
||||
# I have to set it each time? I expect it to be still
|
||||
# set from the few lines above
|
||||
|
||||
# put a link to the library in bin/shared
|
||||
soext=""
|
||||
if vnum is not None:
|
||||
soext = '.' + vnum.split('.')[0]
|
||||
|
||||
bld.SET_BUILD_GROUP(group)
|
||||
t = bld(
|
||||
source = 'lib%s.so' % libname,
|
||||
rule = 'ln -sf ../${SRC}%s %s/lib%s.so%s' % (soext, LIB_PATH, libname, soext),
|
||||
# rule = 'ln -sf ../%s.so%s %s/lib%s.so%s' % (libname, soext, LIB_PATH, libname, soext),
|
||||
shell = True,
|
||||
after = 'cc_link',
|
||||
always = True,
|
||||
name = libname + '.link',
|
||||
features = 'cc cshlib symlink_lib',
|
||||
source = source,
|
||||
target = libname,
|
||||
ccflags = CURRENT_CFLAGS(bld, libname, cflags),
|
||||
depends_on = depends_on,
|
||||
samba_deps = TO_LIST(deps),
|
||||
samba_includes = includes,
|
||||
local_include = local_include,
|
||||
vnum = vnum
|
||||
)
|
||||
#print t.rule
|
||||
LOCAL_CACHE_SET(bld, 'INCLUDE_LIST', libname, ilist)
|
||||
if autoproto is not None:
|
||||
bld.SAMBA_AUTOPROTO(autoproto, source)
|
||||
|
||||
Build.BuildContext.SAMBA_LIBRARY = SAMBA_LIBRARY
|
||||
|
||||
@ -259,65 +99,37 @@ def SAMBA_BINARY(bld, binname, source,
|
||||
use_hostcc=None,
|
||||
compiler=None,
|
||||
group='main',
|
||||
manpages=None):
|
||||
ilist = includes + ' ' + bld.SAMBA_LIBRARY_INCLUDE_LIST(deps)
|
||||
ilist = bld.NORMPATH(ilist)
|
||||
manpages=None,
|
||||
local_include=True,
|
||||
subsystem=None,
|
||||
needs_python=False):
|
||||
|
||||
if not SET_TARGET_TYPE(bld, binname, 'BINARY'):
|
||||
return
|
||||
|
||||
(sysdeps, localdeps, add_objects) = ADD_DEPENDENCIES(bld, binname, deps)
|
||||
|
||||
cache = LOCAL_CACHE(bld, 'INIT_FUNCTIONS')
|
||||
if modules is not None:
|
||||
for m in to_list(modules):
|
||||
bld.ASSERT(m in cache,
|
||||
"No init_function defined for module '%s' in binary '%s'" % (m, binname))
|
||||
cflags += ' -DSTATIC_%s_MODULES="%s"' % (m, cache[m])
|
||||
|
||||
# print "BINARY %s add_objects=%s deps=%s uselib_local=%s" % (binname, add_objects, deps, localdeps)
|
||||
features = 'cc cprogram copy_bin'
|
||||
if needs_python:
|
||||
features += ' pyembed'
|
||||
|
||||
bld.SET_BUILD_GROUP(group)
|
||||
bld(
|
||||
features = 'cc cprogram',
|
||||
source = source,
|
||||
target = binname,
|
||||
uselib_local = localdeps,
|
||||
uselib = sysdeps,
|
||||
includes = ilist + ' . #',
|
||||
ccflags = CURRENT_CFLAGS(bld, cflags),
|
||||
add_objects = add_objects,
|
||||
top=True)
|
||||
features = features,
|
||||
source = source,
|
||||
target = binname,
|
||||
ccflags = CURRENT_CFLAGS(bld, binname, cflags),
|
||||
samba_deps = TO_LIST(deps),
|
||||
samba_includes = includes,
|
||||
local_include = local_include,
|
||||
samba_modules = modules,
|
||||
top = True,
|
||||
samba_subsystem= subsystem
|
||||
)
|
||||
|
||||
if not Options.is_install:
|
||||
bld(
|
||||
source = binname,
|
||||
rule = 'rm -f %s && cp ${SRC} .' % (binname),
|
||||
shell = True,
|
||||
after = 'cc_link',
|
||||
always = True,
|
||||
ext_in = '.bin',
|
||||
name = binname + ".copy",
|
||||
depends_on = binname
|
||||
)
|
||||
if autoproto is not None:
|
||||
bld.SAMBA_AUTOPROTO(autoproto, source)
|
||||
Build.BuildContext.SAMBA_BINARY = SAMBA_BINARY
|
||||
|
||||
|
||||
#################################################################
|
||||
# define a Samba python module
|
||||
def SAMBA_PYTHON(bld, name, source,
|
||||
deps='',
|
||||
public_deps='',
|
||||
realname=''):
|
||||
|
||||
if not SET_TARGET_TYPE(bld, name, 'PYTHON'):
|
||||
return
|
||||
|
||||
(sysdeps, localdeps, add_objects) = ADD_DEPENDENCIES(bld, name, deps)
|
||||
|
||||
return
|
||||
Build.BuildContext.SAMBA_PYTHON = SAMBA_PYTHON
|
||||
|
||||
#################################################################
|
||||
# define a Samba ET target
|
||||
def SAMBA_ERRTABLE(bld, name, source,
|
||||
@ -340,33 +152,66 @@ Build.BuildContext.SAMBA_ERRTABLE = SAMBA_ERRTABLE
|
||||
# define a Samba module.
|
||||
def SAMBA_MODULE(bld, modname, source,
|
||||
deps='',
|
||||
includes='.',
|
||||
includes='',
|
||||
subsystem=None,
|
||||
init_function=None,
|
||||
autoproto=None,
|
||||
autoproto_extra_source='',
|
||||
aliases=None,
|
||||
cflags='',
|
||||
output_type=None):
|
||||
output_type=None,
|
||||
local_include=True,
|
||||
enabled=True):
|
||||
|
||||
if not SET_TARGET_TYPE(bld, modname, 'MODULE'):
|
||||
if output_type == 'MERGED_OBJ':
|
||||
# treat merged object modules as subsystems for now
|
||||
SAMBA_SUBSYSTEM(bld, modname, source,
|
||||
deps=deps,
|
||||
includes=includes,
|
||||
autoproto=autoproto,
|
||||
autoproto_extra_source=autoproto_extra_source,
|
||||
cflags=cflags,
|
||||
local_include=local_include,
|
||||
enabled=enabled)
|
||||
# even though we're treating it as a subsystem, we need to
|
||||
# add it to the init_function list
|
||||
# TODO: we should also create an implicit dependency
|
||||
# between the subsystem target and this target
|
||||
bld.ADD_INIT_FUNCTION(subsystem, init_function)
|
||||
return
|
||||
|
||||
if not enabled:
|
||||
SET_TARGET_TYPE(bld, modname, 'DISABLED')
|
||||
return
|
||||
|
||||
# remember empty modules, so we can strip the dependencies
|
||||
if (source == '') or (source == []):
|
||||
LOCAL_CACHE_SET(bld, 'EMPTY_TARGETS', modname, True)
|
||||
SET_TARGET_TYPE(bld, modname, 'EMPTY')
|
||||
return
|
||||
|
||||
(sysdeps, localdeps, add_objects) = ADD_DEPENDENCIES(bld, modname, deps)
|
||||
if not SET_TARGET_TYPE(bld, modname, 'MODULE'):
|
||||
return
|
||||
|
||||
|
||||
bld.ADD_INIT_FUNCTION(subsystem, init_function)
|
||||
|
||||
if subsystem is not None:
|
||||
deps += ' ' + subsystem
|
||||
|
||||
ilist = includes + ' ' + bld.SAMBA_LIBRARY_INCLUDE_LIST(deps)
|
||||
ilist = bld.NORMPATH(ilist)
|
||||
bld.SET_BUILD_GROUP('main')
|
||||
bld(
|
||||
features = 'cc',
|
||||
source = source,
|
||||
target=modname,
|
||||
ccflags = CURRENT_CFLAGS(bld, cflags),
|
||||
includes=ilist + ' . #')
|
||||
features = 'cc',
|
||||
source = source,
|
||||
target = modname,
|
||||
ccflags = CURRENT_CFLAGS(bld, modname, cflags),
|
||||
samba_includes = includes,
|
||||
local_include = local_include,
|
||||
samba_deps = TO_LIST(deps)
|
||||
)
|
||||
|
||||
if autoproto is not None:
|
||||
bld.SAMBA_AUTOPROTO(autoproto, source + ' ' + autoproto_extra_source)
|
||||
|
||||
Build.BuildContext.SAMBA_MODULE = SAMBA_MODULE
|
||||
|
||||
|
||||
@ -375,55 +220,85 @@ Build.BuildContext.SAMBA_MODULE = SAMBA_MODULE
|
||||
def SAMBA_SUBSYSTEM(bld, modname, source,
|
||||
deps='',
|
||||
public_deps='',
|
||||
includes='.',
|
||||
includes='',
|
||||
public_headers=None,
|
||||
cflags='',
|
||||
group='main',
|
||||
config_option=None,
|
||||
init_function_sentinal=None,
|
||||
heimdal_autoproto=None,
|
||||
heimdal_autoproto_options=None,
|
||||
heimdal_autoproto_private=None,
|
||||
autoproto=None,
|
||||
depends_on=''):
|
||||
autoproto_extra_source='',
|
||||
depends_on='',
|
||||
local_include=True,
|
||||
local_include_first=True,
|
||||
enabled=True):
|
||||
|
||||
if not SET_TARGET_TYPE(bld, modname, 'SUBSYSTEM'):
|
||||
if not enabled:
|
||||
SET_TARGET_TYPE(bld, modname, 'DISABLED')
|
||||
return
|
||||
|
||||
# if the caller specifies a config_option, then we create a blank
|
||||
# subsystem if that configuration option was found at configure time
|
||||
if (config_option is not None) and bld.CONFIG_SET(config_option):
|
||||
source = ''
|
||||
SET_TARGET_TYPE(bld, modname, 'EMPTY')
|
||||
return
|
||||
|
||||
# remember empty subsystems, so we can strip the dependencies
|
||||
if (source == '') or (source == []):
|
||||
LOCAL_CACHE_SET(bld, 'EMPTY_TARGETS', modname, True)
|
||||
SET_TARGET_TYPE(bld, modname, 'EMPTY')
|
||||
return
|
||||
|
||||
(sysdeps, localdeps, add_objects) = ADD_DEPENDENCIES(bld, modname, deps)
|
||||
if not SET_TARGET_TYPE(bld, modname, 'SUBSYSTEM'):
|
||||
return
|
||||
|
||||
deps += ' ' + public_deps
|
||||
|
||||
ilist = includes + ' ' + bld.SAMBA_LIBRARY_INCLUDE_LIST(deps)
|
||||
ilist = bld.NORMPATH(ilist)
|
||||
bld.SET_BUILD_GROUP(group)
|
||||
|
||||
t = bld(
|
||||
features = 'cc',
|
||||
source = source,
|
||||
target=modname,
|
||||
ccflags = CURRENT_CFLAGS(bld, cflags),
|
||||
includes=ilist + ' . #',
|
||||
depends_on=depends_on)
|
||||
LOCAL_CACHE_SET(bld, 'INCLUDE_LIST', modname, ilist)
|
||||
features = 'cc',
|
||||
source = source,
|
||||
target = modname,
|
||||
ccflags = CURRENT_CFLAGS(bld, modname, cflags),
|
||||
depends_on = depends_on,
|
||||
samba_deps = TO_LIST(deps),
|
||||
samba_includes = includes,
|
||||
local_include = local_include,
|
||||
local_include_first = local_include_first
|
||||
)
|
||||
|
||||
if heimdal_autoproto is not None:
|
||||
bld.HEIMDAL_AUTOPROTO(heimdal_autoproto, source)
|
||||
bld.HEIMDAL_AUTOPROTO(heimdal_autoproto, source, options=heimdal_autoproto_options)
|
||||
if heimdal_autoproto_private is not None:
|
||||
bld.HEIMDAL_AUTOPROTO_PRIVATE(heimdal_autoproto_private, source)
|
||||
if autoproto is not None:
|
||||
bld.SAMBA_AUTOPROTO(autoproto, source)
|
||||
bld.SAMBA_AUTOPROTO(autoproto, source + ' ' + autoproto_extra_source)
|
||||
return t
|
||||
|
||||
Build.BuildContext.SAMBA_SUBSYSTEM = SAMBA_SUBSYSTEM
|
||||
|
||||
|
||||
def SAMBA_GENERATOR(bld, name, rule, source, target,
|
||||
group='build_source'):
|
||||
'''A generic source generator target'''
|
||||
|
||||
if not SET_TARGET_TYPE(bld, name, 'GENERATOR'):
|
||||
return
|
||||
|
||||
bld.SET_BUILD_GROUP(group)
|
||||
bld(
|
||||
rule=rule,
|
||||
source=source,
|
||||
target=target,
|
||||
before='cc',
|
||||
ext_out='.c')
|
||||
Build.BuildContext.SAMBA_GENERATOR = SAMBA_GENERATOR
|
||||
|
||||
|
||||
|
||||
###############################################################
|
||||
# add a new set of build rules from a subdirectory
|
||||
# the @runonce decorator ensures we don't end up
|
||||
@ -471,3 +346,17 @@ def SET_BUILD_GROUP(bld, group):
|
||||
bld.set_group(group)
|
||||
Build.BuildContext.SET_BUILD_GROUP = SET_BUILD_GROUP
|
||||
|
||||
|
||||
def h_file(filename):
|
||||
import stat
|
||||
st = os.stat(filename)
|
||||
if stat.S_ISDIR(st[stat.ST_MODE]): raise IOError('not a file')
|
||||
m = Utils.md5()
|
||||
m.update(str(st.st_mtime))
|
||||
m.update(str(st.st_size))
|
||||
m.update(filename)
|
||||
return m.digest()
|
||||
|
||||
@conf
|
||||
def ENABLE_TIMESTAMP_DEPENDENCIES(conf):
|
||||
Utils.h_file = h_file
|
||||
|
@ -26,16 +26,24 @@ def set_options(opt):
|
||||
opt.add_option('--enable-developer',
|
||||
help=("Turn on developer warnings and debugging"),
|
||||
action="store_true", dest='developer', default=False)
|
||||
opt.add_option('--timestamp-dependencies',
|
||||
help=("use file timestamps instead of content for build dependencies (BROKEN)"),
|
||||
action="store", dest='timestamp_dependencies', default=False)
|
||||
|
||||
@wafsamba.runonce
|
||||
def configure(conf):
|
||||
conf.env.hlist = []
|
||||
conf.env.srcdir = conf.srcdir
|
||||
|
||||
if Options.options.timestamp_dependencies:
|
||||
conf.ENABLE_TIMESTAMP_DEPENDENCIES()
|
||||
|
||||
# load our local waf extensions
|
||||
conf.check_tool('wafsamba', tooldir=conf.srcdir + "/buildtools/wafsamba")
|
||||
|
||||
conf.check_tool('compiler_cc')
|
||||
# gccdeps can be useful for debugging recursion in #include lines
|
||||
# conf.check_tool('gccdeps', tooldir=conf.srcdir + "/buildtools/wafsamba")
|
||||
|
||||
# make the install paths available in environment
|
||||
conf.env.LIBDIR = Options.options.LIBDIR
|
||||
@ -191,7 +199,7 @@ def configure(conf):
|
||||
msg="Checking for C99 vsnprintf")
|
||||
|
||||
if Options.options.developer:
|
||||
conf.ADD_CFLAGS('-Wall -g -Wfatal-errors -DDEVELOPER -W -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Werror-implicit-function-declaration -Wformat=2 -Wno-format-y2k')
|
||||
conf.ADD_CFLAGS('-Wall -g -Wfatal-errors -W -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Werror-implicit-function-declaration -Wformat=2 -Wno-format-y2k')
|
||||
|
||||
conf.SAMBA_CONFIG_H()
|
||||
conf.SAMBA_BUILD_ENV()
|
||||
@ -302,7 +310,7 @@ def build(bld):
|
||||
if bld.CONFIG_SET('HAVE_INET_PTON'): NET_SOURCES.append('inet_pton.c')
|
||||
if bld.CONFIG_SET('HAVE_SOCKETPAIR'): NET_SOURCES.append('socketpair.c')
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('LIBREPLACE_NETWORK', NET_SOURCES)
|
||||
bld.SAMBA_SUBSYSTEM('LIBREPLACE_NETWORK', NET_SOURCES, deps='replace')
|
||||
|
||||
|
||||
CRYPT_SOURCES = []
|
||||
|
@ -8,4 +8,5 @@ def set_options(opt):
|
||||
def configure(conf):
|
||||
if Options.options.enable_socket_wrapper or Options.options.developer:
|
||||
conf.DEFINE('SOCKET_WRAPPER', 1)
|
||||
conf.ADD_GLOBAL_DEPENDENCY('SOCKET_WRAPPER')
|
||||
|
||||
|
@ -12,14 +12,14 @@ bld.SAMBA_SUBSYSTEM('SAMDB',
|
||||
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('SAMDB_COMMON',
|
||||
source='common/util.c ./samdb/ldb_modules/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 ../../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/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',
|
||||
source='schema/schema_init.c schema/schema_set.c schema/schema_query.c schema/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'
|
||||
)
|
||||
|
@ -1,2 +0,0 @@
|
||||
bld.SAMBA_SUBSYSTEM('DYNCONFIG',
|
||||
'dynconfig.c')
|
@ -1,83 +1,52 @@
|
||||
#! /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
|
||||
|
||||
bld(
|
||||
bld.SAMBA_GENERATOR(
|
||||
name="HEIMDAL_ERRORLIST",
|
||||
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="HEIMDAL_ERRORLIST"
|
||||
)
|
||||
target = '../heimdal/lib/wind/errorlist_table.c ../heimdal/lib/wind/errorlist_table.h'
|
||||
)
|
||||
|
||||
|
||||
# normalize_table.c rules
|
||||
#$(heimdalsrcdir)/lib/wind/normalize_table.h $(heimdalsrcdir)/lib/wind/normalize_table.c: $(heimdalsrcdir)/lib/wind/UnicodeData.txt $(heimdalsrcdir)/lib/wind/CompositionExclusions-3.2.0.txt $(heimdalsrcdir)/lib/wind/gen-normalize.py
|
||||
# $(PYTHON) $(heimdalsrcdir)/lib/wind/gen-normalize.py $(heimdalsrcdir)/lib/wind/UnicodeData.txt $(heimdalsrcdir)/lib/wind/CompositionExclusions-3.2.0.txt $(heimdalsrcdir)/lib/wind/
|
||||
|
||||
bld(rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[2].abspath()} ${SRC[1].parent.abspath(env)}",
|
||||
bld.SAMBA_GENERATOR(
|
||||
name = 'HEIMDAL_NORMALIZE_TABLE',
|
||||
rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[2].abspath()} ${SRC[1].parent.abspath(env)}",
|
||||
source = '../heimdal/lib/wind/gen-normalize.py ../heimdal/lib/wind/UnicodeData.txt ../heimdal/lib/wind/CompositionExclusions-3.2.0.txt',
|
||||
target = '../heimdal/lib/wind/normalize_table.h ../heimdal/lib/wind/normalize_table.c',
|
||||
before = 'cc',
|
||||
name = 'HEIMDAL_NORMALIZE_TABLE'
|
||||
target = '../heimdal/lib/wind/normalize_table.h ../heimdal/lib/wind/normalize_table.c'
|
||||
)
|
||||
|
||||
# combining_table.[ch] rules
|
||||
#$(heimdalsrcdir)/lib/wind/combining_table.h $(heimdalsrcdir)/lib/wind/combining_table.c: $(heimdalsrcdir)/lib/wind/UnicodeData.txt $(heimdalsrcdir)/lib/wind/gen-combining.py
|
||||
# $(PYTHON) $(heimdalsrcdir)/lib/wind/gen-combining.py $(heimdalsrcdir)/lib/wind/UnicodeData.txt $(heimdalsrcdir)/lib/wind/
|
||||
|
||||
|
||||
bld(rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[1].parent.abspath(env)}",
|
||||
bld.SAMBA_GENERATOR(
|
||||
name = 'HEIMDAL_COMBINING_TABLE',
|
||||
rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[1].parent.abspath(env)}",
|
||||
source = '../heimdal/lib/wind/gen-combining.py ../heimdal/lib/wind/UnicodeData.txt',
|
||||
target = '../heimdal/lib/wind/combining_table.h ../heimdal/lib/wind/combining_table.c',
|
||||
before = 'cc',
|
||||
name = 'HEIMDAL_COMBINING_TABLE'
|
||||
target = '../heimdal/lib/wind/combining_table.h ../heimdal/lib/wind/combining_table.c'
|
||||
)
|
||||
|
||||
# bidi_table rules
|
||||
#$(heimdalsrcdir)/lib/wind/bidi_table.h $(heimdalsrcdir)/lib/wind/bidi_table.c: $(heimdalsrcdir)/lib/wind/rfc3454.txt $(heimdalsrcdir)/lib/wind/gen-bidi.py
|
||||
# $(PYTHON) $(heimdalsrcdir)/lib/wind/gen-bidi.py $(heimdalsrcdir)/lib/wind/rfc3454.txt $(heimdalsrcdir)/lib/wind/
|
||||
|
||||
|
||||
bld(rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[1].parent.abspath(env)}",
|
||||
bld.SAMBA_GENERATOR(
|
||||
name = 'HEIMDAL_BIDI_TABLE',
|
||||
rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[1].parent.abspath(env)}",
|
||||
source = '../heimdal/lib/wind/gen-bidi.py ../heimdal/lib/wind/rfc3454.txt',
|
||||
target = '../heimdal/lib/wind/bidi_table.h ../heimdal/lib/wind/bidi_table.c',
|
||||
before = 'cc',
|
||||
name = 'HEIMDAL_BIDI_TABLE'
|
||||
target = '../heimdal/lib/wind/bidi_table.h ../heimdal/lib/wind/bidi_table.c'
|
||||
)
|
||||
|
||||
|
||||
# map_table rules
|
||||
#$(heimdalsrcdir)/lib/wind/map_table.h $(heimdalsrcdir)/lib/wind/map_table.c: $(heimdalsrcdir)/lib/wind/rfc3454.txt $(heimdalsrcdir)/lib/wind/gen-map.py $(heimdalsrcdir)/lib/wind/stringprep.py
|
||||
# $(PYTHON) $(heimdalsrcdir)/lib/wind/gen-map.py $(heimdalsrcdir)/lib/wind/rfc3454.txt $(heimdalsrcdir)/lib/wind/
|
||||
|
||||
|
||||
bld(rule="${PYTHON} ${SRC[0].abspath()} ${SRC[2].abspath()} ${SRC[2].parent.abspath(env)}",
|
||||
bld.SAMBA_GENERATOR(
|
||||
name = 'HEIMDAL_MAP_TABLE',
|
||||
rule="${PYTHON} ${SRC[0].abspath()} ${SRC[2].abspath()} ${SRC[2].parent.abspath(env)}",
|
||||
source = '../heimdal/lib/wind/gen-map.py ../heimdal/lib/wind/stringprep.py ../heimdal/lib/wind/rfc3454.txt',
|
||||
target = '../heimdal/lib/wind/map_table.h ../heimdal/lib/wind/map_table.c',
|
||||
before = 'cc',
|
||||
name = 'HEIMDAL_MAP_TABLE'
|
||||
target = '../heimdal/lib/wind/map_table.h ../heimdal/lib/wind/map_table.c'
|
||||
)
|
||||
|
||||
|
||||
# look at the example below - the output dir is lib/gssapi, the source asn1 file is lib/gssapi/spnego/spnego.asn1
|
||||
# well ... hmm, it depens if any heimdal C file uses a #include that depends on the path. We can try a different location
|
||||
# but I'm guessing it will break the heimdal C files
|
||||
# too hard to use a different output dir from input?
|
||||
# the restriction is we can't modify the existing C source of heimdal.
|
||||
# ok, symlink hacks to solve? it should be similar to the gen_ndr hackery of PIDL
|
||||
# as that is also a different out dir from input file
|
||||
# ok, but is it OK for PIDL? pidl is putting output in ../gen_ndr/ndr_$NAME.[ch] etc
|
||||
bld.SAMBA_ASN1('HEIMDAL_SPNEGO_ASN1',
|
||||
source='../heimdal/lib/gssapi/spnego/spnego.asn1',
|
||||
options='--sequence=MechTypeList',
|
||||
includes='../heimdal/lib/asn1',
|
||||
directory='lib/gssapi'
|
||||
)
|
||||
|
||||
|
||||
bld.SAMBA_ASN1('HEIMDAL_GSSAPI_ASN1',
|
||||
'../heimdal/lib/gssapi/mech/gssapi.asn1',
|
||||
includes='../heimdal/lib/asn1',
|
||||
directory='lib/gssapi'
|
||||
)
|
||||
|
||||
@ -136,6 +105,7 @@ bld.SAMBA_ASN1('HEIMDAL_CMS_ASN1',
|
||||
bld.SAMBA_ASN1('HEIMDAL_OCSP_ASN1',
|
||||
'../heimdal/lib/hx509/ocsp.asn1',
|
||||
options='--preserve-binary=OCSPTBSRequest --preserve-binary=OCSPResponseData',
|
||||
includes='../heimdal/lib/asn1',
|
||||
directory='lib/hx509'
|
||||
)
|
||||
|
||||
@ -149,12 +119,14 @@ bld.SAMBA_ASN1('HEIMDAL_KX509_ASN1',
|
||||
bld.SAMBA_ASN1('HEIMDAL_PKCS10_ASN1',
|
||||
'../heimdal/lib/hx509/pkcs10.asn1',
|
||||
options='--preserve-binary=CertificationRequestInfo',
|
||||
includes='../heimdal/lib/asn1',
|
||||
directory='lib/hx509'
|
||||
)
|
||||
|
||||
|
||||
bld.SAMBA_ASN1('HEIMDAL_HDB_ASN1',
|
||||
'../heimdal/lib/hdb/hdb.asn1',
|
||||
includes='../heimdal/lib/asn1',
|
||||
directory='lib/hdb'
|
||||
)
|
||||
|
||||
@ -212,17 +184,16 @@ bld.SAMBA_ERRTABLE('HEIMDAL_WIND_ERR_ET',
|
||||
)
|
||||
|
||||
|
||||
# try it here
|
||||
bld.SAMBA_SUBSYSTEM('HEIMDAL_ROKEN',
|
||||
'../heimdal/lib/roken/base64.c ../heimdal/lib/roken/ct.c ../heimdal/lib/roken/hex.c ../heimdal/lib/roken/bswap.c ../heimdal/lib/roken/dumpdata.c ../heimdal/lib/roken/emalloc.c ../heimdal/lib/roken/ecalloc.c ../heimdal/lib/roken/getarg.c ../heimdal/lib/roken/get_window_size.c ../heimdal/lib/roken/getdtablesize.c ../heimdal/lib/roken/h_errno.c ../heimdal/lib/roken/issuid.c ../heimdal/lib/roken/net_read.c ../heimdal/lib/roken/net_write.c ../heimdal/lib/roken/socket.c ../heimdal/lib/roken/parse_time.c ../heimdal/lib/roken/parse_units.c ../heimdal/lib/roken/resolve.c ../heimdal/lib/roken/roken_gethostby.c ../heimdal/lib/roken/signal.c ../heimdal/lib/roken/vis.c ../heimdal/lib/roken/strlwr.c ../heimdal/lib/roken/strsep_copy.c ../heimdal/lib/roken/strsep.c ../heimdal/lib/roken/strupr.c ../heimdal/lib/roken/strpool.c ../heimdal/lib/roken/estrdup.c ../heimdal/lib/roken/erealloc.c ../heimdal/lib/roken/simple_exec.c ../heimdal/lib/roken/strcollect.c ../heimdal/lib/roken/rtbl.c ../heimdal/lib/roken/cloexec.c ../heimdal/lib/roken/xfree.c replace.c',
|
||||
includes='. ../heimdal/lib/roken ../heimdal/include ../../lib/socket_wrapper',
|
||||
includes='../heimdal/lib/roken ../heimdal/include ../../lib/socket_wrapper',
|
||||
deps='HEIMDAL_ROKEN_PROGNAME HEIMDAL_ROKEN_CLOSEFROM resolv LIBREPLACE_NETWORK UID_WRAPPER'
|
||||
)
|
||||
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('HEIMDAL_KDC',
|
||||
source='../heimdal/kdc/default_config.c ../heimdal/kdc/kerberos5.c ../heimdal/kdc/krb5tgs.c ../heimdal/kdc/pkinit.c ../heimdal/kdc/log.c ../heimdal/kdc/misc.c ../heimdal/kdc/kaserver.c ../heimdal/kdc/digest.c ../heimdal/kdc/process.c ../heimdal/kdc/windc.c ../heimdal/kdc/kx509.c',
|
||||
includes='. ../heimdal/kdc',
|
||||
includes='../heimdal/kdc',
|
||||
heimdal_autoproto='../heimdal/kdc/kdc-protos.h',
|
||||
heimdal_autoproto_private='../heimdal/kdc/kdc-private.h',
|
||||
deps='HEIMDAL_ROKEN HEIMDAL_KRB5 HEIMDAL_HDB HEIMDAL_HEIM_ASN1 HEIMDAL_DIGEST_ASN1 HEIMDAL_KX509_ASN1 HEIMDAL_NTLM HEIMDAL_HCRYPTO'
|
||||
@ -231,7 +202,7 @@ bld.SAMBA_SUBSYSTEM('HEIMDAL_KDC',
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('HEIMDAL_NTLM',
|
||||
source='../heimdal/lib/ntlm/ntlm.c',
|
||||
includes='. ../heimdal/lib/ntlm',
|
||||
includes='../heimdal/lib/ntlm',
|
||||
heimdal_autoproto='../heimdal/lib/ntlm/heimntlm-protos.h',
|
||||
deps='HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_KRB5'
|
||||
)
|
||||
@ -239,15 +210,15 @@ bld.SAMBA_SUBSYSTEM('HEIMDAL_NTLM',
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('HEIMDAL_HDB_KEYS',
|
||||
'../heimdal/lib/hdb/keys.c',
|
||||
includes='. ../heimdal/lib/hdb',
|
||||
includes='../heimdal/lib/hdb',
|
||||
deps='HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_KRB5 HEIMDAL_HDB_ASN1'
|
||||
)
|
||||
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('HEIMDAL_HDB',
|
||||
source='''../heimdal/lib/hdb/db.c ../heimdal/lib/hdb/dbinfo.c ../heimdal/lib/hdb/ext.c ../heimdal/lib/hdb/keytab.c
|
||||
source='''../heimdal/lib/hdb/db.c ../heimdal/lib/hdb/dbinfo.c ../heimdal/lib/hdb/hdb.c ../heimdal/lib/hdb/ext.c ../heimdal/lib/hdb/keytab.c
|
||||
../heimdal/lib/hdb/mkey.c ../heimdal/lib/hdb/ndbm.c ../heimdal/lib/hdb/hdb_err.c hdb-glue.c''',
|
||||
includes='. ../heimdal/lib/hdb',
|
||||
includes='../heimdal/lib/hdb',
|
||||
heimdal_autoproto='../heimdal/lib/hdb/hdb-protos.h',
|
||||
heimdal_autoproto_private='../heimdal/lib/hdb/hdb-private.h',
|
||||
deps='HDB_LDB HEIMDAL_KRB5 HEIMDAL_HDB_KEYS HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_COM_ERR HEIMDAL_HDB_ASN1'
|
||||
@ -295,16 +266,17 @@ bld.SAMBA_SUBSYSTEM('HEIMDAL_GSSAPI',
|
||||
../heimdal/lib/gssapi/mech/gss_import_name.c ../heimdal/lib/gssapi/mech/gss_duplicate_name.c ../heimdal/lib/gssapi/mech/gss_unwrap.c
|
||||
../heimdal/lib/gssapi/mech/gss_export_sec_context.c ../heimdal/lib/gssapi/mech/gss_inquire_context.c ../heimdal/lib/gssapi/mech/gss_release_name.c
|
||||
../heimdal/lib/gssapi/mech/gss_set_cred_option.c ../heimdal/lib/gssapi/mech/gss_pseudo_random.c gssapi-glue.c''',
|
||||
includes='. ../heimdal/lib/gssapi ../heimdal/lib/gssapi/gssapi ../heimdal/lib/gssapi/spnego ../heimdal/lib/gssapi/krb5 ../heimdal/lib/gssapi/mech',
|
||||
includes='../heimdal/lib/gssapi ../heimdal/lib/gssapi/gssapi ../heimdal/lib/gssapi/spnego ../heimdal/lib/gssapi/krb5 ../heimdal/lib/gssapi/mech',
|
||||
deps='HEIMDAL_HCRYPTO HEIMDAL_HEIM_ASN1 HEIMDAL_SPNEGO_ASN1 HEIMDAL_GSSAPI_ASN1 HEIMDAL_ROKEN HEIMDAL_KRB5'
|
||||
)
|
||||
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('HEIMDAL_KRB5',
|
||||
'../heimdal/lib/krb5/acache.c ../heimdal/lib/krb5/add_et_list.c ../heimdal/lib/krb5/addr_families.c ../heimdal/lib/krb5/appdefault.c ../heimdal/lib/krb5/asn1_glue.c ../heimdal/lib/krb5/auth_context.c ../heimdal/lib/krb5/build_ap_req.c ../heimdal/lib/krb5/build_auth.c ../heimdal/lib/krb5/cache.c ../heimdal/lib/krb5/changepw.c ../heimdal/lib/krb5/codec.c ../heimdal/lib/krb5/config_file.c ../heimdal/lib/krb5/constants.c ../heimdal/lib/krb5/context.c ../heimdal/lib/krb5/convert_creds.c ../heimdal/lib/krb5/copy_host_realm.c ../heimdal/lib/krb5/crc.c ../heimdal/lib/krb5/creds.c ../heimdal/lib/krb5/crypto.c ../heimdal/lib/krb5/data.c ../heimdal/lib/krb5/eai_to_heim_errno.c ../heimdal/lib/krb5/error_string.c ../heimdal/lib/krb5/expand_hostname.c ../heimdal/lib/krb5/fcache.c ../heimdal/lib/krb5/free.c ../heimdal/lib/krb5/free_host_realm.c ../heimdal/lib/krb5/generate_seq_number.c ../heimdal/lib/krb5/generate_subkey.c ../heimdal/lib/krb5/get_addrs.c ../heimdal/lib/krb5/get_cred.c ../heimdal/lib/krb5/get_default_principal.c ../heimdal/lib/krb5/get_default_realm.c ../heimdal/lib/krb5/get_for_creds.c ../heimdal/lib/krb5/get_host_realm.c ../heimdal/lib/krb5/get_in_tkt.c ../heimdal/lib/krb5/get_port.c ../heimdal/lib/krb5/init_creds.c ../heimdal/lib/krb5/init_creds_pw.c ../heimdal/lib/krb5/kcm.c ../heimdal/lib/krb5/keyblock.c ../heimdal/lib/krb5/keytab.c ../heimdal/lib/krb5/keytab_any.c ../heimdal/lib/krb5/keytab_file.c ../heimdal/lib/krb5/keytab_memory.c ../heimdal/lib/krb5/keytab_keyfile.c ../heimdal/lib/krb5/krbhst.c ../heimdal/lib/krb5/log.c ../heimdal/lib/krb5/mcache.c ../heimdal/lib/krb5/misc.c ../heimdal/lib/krb5/mk_error.c ../heimdal/lib/krb5/mk_priv.c ../heimdal/lib/krb5/mk_rep.c ../heimdal/lib/krb5/mk_req.c ../heimdal/lib/krb5/mk_req_ext.c ../heimdal/lib/krb5/mit_glue.c ../heimdal/lib/krb5/n-fold.c ../heimdal/lib/krb5/padata.c ../heimdal/lib/krb5/pkinit.c ../heimdal/lib/krb5/plugin.c ../heimdal/lib/krb5/principal.c ../heimdal/lib/krb5/prog_setup.c ../heimdal/lib/krb5/pac.c ../heimdal/lib/krb5/prompter_posix.c ../heimdal/lib/krb5/rd_cred.c ../heimdal/lib/krb5/rd_error.c ../heimdal/lib/krb5/rd_priv.c ../heimdal/lib/krb5/rd_rep.c ../heimdal/lib/krb5/rd_req.c ../heimdal/lib/krb5/replay.c ../heimdal/lib/krb5/send_to_kdc.c ../heimdal/lib/krb5/set_default_realm.c ../heimdal/lib/krb5/store.c ../heimdal/lib/krb5/store_emem.c ../heimdal/lib/krb5/store_fd.c ../heimdal/lib/krb5/store_mem.c ../heimdal/lib/krb5/ticket.c ../heimdal/lib/krb5/time.c ../heimdal/lib/krb5/transited.c ../heimdal/lib/krb5/v4_glue.c ../heimdal/lib/krb5/version.c ../heimdal/lib/krb5/warn.c ../heimdal/lib/krb5/krb5_err.c ../heimdal/lib/krb5/heim_err.c ../heimdal/lib/krb5/k524_err.c krb5-glue.c',
|
||||
includes='. ../heimdal/lib/krb5 ../heimdal/lib/asn1 ../heimdal/lib/com_err',
|
||||
includes='../heimdal/lib/krb5 ../heimdal/lib/asn1 ../heimdal/lib/com_err',
|
||||
public_deps='HEIMDAL_COM_ERR',
|
||||
heimdal_autoproto='../heimdal/lib/krb5/krb5-protos.h',
|
||||
heimdal_autoproto_options='-E KRB5_LIB -q -P comment -o',
|
||||
heimdal_autoproto_private='../heimdal/lib/krb5/krb5-private.h',
|
||||
deps='HEIMDAL_ROKEN HEIMDAL_PKINIT_ASN1 HEIMDAL_WIND HEIMDAL_KRB5_ASN1 HEIMDAL_HX509 HEIMDAL_HCRYPTO LIBNETIF LIBSAMBA-HOSTCONFIG INTL'
|
||||
)
|
||||
@ -312,35 +284,35 @@ bld.SAMBA_SUBSYSTEM('HEIMDAL_KRB5',
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('HEIMDAL_HEIM_ASN1',
|
||||
'../heimdal/lib/asn1/der_get.c ../heimdal/lib/asn1/der_put.c ../heimdal/lib/asn1/der_free.c ../heimdal/lib/asn1/der_format.c ../heimdal/lib/asn1/der_length.c ../heimdal/lib/asn1/der_copy.c ../heimdal/lib/asn1/der_cmp.c ../heimdal/lib/asn1/extra.c ../heimdal/lib/asn1/timegm.c ../heimdal/lib/asn1/asn1_err.c',
|
||||
includes='. ../heimdal/lib/asn1',
|
||||
includes='../heimdal/lib/asn1',
|
||||
deps='HEIMDAL_ROKEN HEIMDAL_COM_ERR'
|
||||
)
|
||||
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('HEIMDAL_HCRYPTO_IMATH',
|
||||
'../heimdal/lib/hcrypto/imath/imath.c ../heimdal/lib/hcrypto/imath/iprime.c',
|
||||
includes='. ../heimdal/lib/hcrypto/imath',
|
||||
includes='../heimdal/lib/hcrypto/imath',
|
||||
deps='HEIMDAL_ROKEN'
|
||||
)
|
||||
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('HEIMDAL_HCRYPTO',
|
||||
'../heimdal/lib/hcrypto/aes.c ../heimdal/lib/hcrypto/bn.c ../heimdal/lib/hcrypto/dh.c ../heimdal/lib/hcrypto/dh-imath.c ../heimdal/lib/hcrypto/des.c ../heimdal/lib/hcrypto/dsa.c ../heimdal/lib/hcrypto/engine.c ../heimdal/lib/hcrypto/md2.c ../heimdal/lib/hcrypto/md4.c ../heimdal/lib/hcrypto/md5.c ../heimdal/lib/hcrypto/rsa.c ../heimdal/lib/hcrypto/rsa-imath.c ../heimdal/lib/hcrypto/rc2.c ../heimdal/lib/hcrypto/rc4.c ../heimdal/lib/hcrypto/rijndael-alg-fst.c ../heimdal/lib/hcrypto/rnd_keys.c ../heimdal/lib/hcrypto/sha.c ../heimdal/lib/hcrypto/sha256.c ../heimdal/lib/hcrypto/ui.c ../heimdal/lib/hcrypto/evp.c ../heimdal/lib/hcrypto/evp-hcrypto.c ../heimdal/lib/hcrypto/evp-cc.c ../heimdal/lib/hcrypto/pkcs5.c ../heimdal/lib/hcrypto/pkcs12.c ../heimdal/lib/hcrypto/rand.c ../heimdal/lib/hcrypto/rand-egd.c ../heimdal/lib/hcrypto/rand-unix.c ../heimdal/lib/hcrypto/rand-fortuna.c ../heimdal/lib/hcrypto/rand-timer.c ../heimdal/lib/hcrypto/hmac.c ../heimdal/lib/hcrypto/camellia.c ../heimdal/lib/hcrypto/camellia-ntt.c',
|
||||
includes='. ../heimdal/lib/hcrypto ../heimdal/lib',
|
||||
includes='../heimdal/lib/hcrypto ../heimdal/lib',
|
||||
deps='HEIMDAL_ROKEN HEIMDAL_HEIM_ASN1 HEIMDAL_HCRYPTO_IMATH HEIMDAL_RFC2459_ASN1'
|
||||
)
|
||||
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('HEIMDAL_HX509',
|
||||
'../heimdal/lib/hx509/ca.c ../heimdal/lib/hx509/cert.c ../heimdal/lib/hx509/cms.c ../heimdal/lib/hx509/collector.c ../heimdal/lib/hx509/crypto.c ../heimdal/lib/hx509/error.c ../heimdal/lib/hx509/env.c ../heimdal/lib/hx509/file.c ../heimdal/lib/hx509/keyset.c ../heimdal/lib/hx509/ks_dir.c ../heimdal/lib/hx509/ks_file.c ../heimdal/lib/hx509/ks_keychain.c ../heimdal/lib/hx509/ks_mem.c ../heimdal/lib/hx509/ks_null.c ../heimdal/lib/hx509/ks_p11.c ../heimdal/lib/hx509/ks_p12.c ../heimdal/lib/hx509/lock.c ../heimdal/lib/hx509/name.c ../heimdal/lib/hx509/peer.c ../heimdal/lib/hx509/print.c ../heimdal/lib/hx509/req.c ../heimdal/lib/hx509/revoke.c ../heimdal/lib/hx509/sel.c ../heimdal/lib/hx509/hx509_err.c ../heimdal/lib/hx509/sel-lex.c ../heimdal/lib/hx509/sel-gram.c',
|
||||
includes='. ../heimdal/lib/hx509',
|
||||
includes='../heimdal/lib/hx509',
|
||||
deps='HEIMDAL_ROKEN HEIMDAL_COM_ERR HEIMDAL_HEIM_ASN1 HEIMDAL_HCRYPTO HEIMDAL_CMS_ASN1 HEIMDAL_RFC2459_ASN1 HEIMDAL_OCSP_ASN1 HEIMDAL_PKCS8_ASN1 HEIMDAL_PKCS9_ASN1 HEIMDAL_PKCS12_ASN1 HEIMDAL_PKINIT_ASN1 HEIMDAL_PKCS10_ASN1 HEIMDAL_WIND'
|
||||
)
|
||||
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('HEIMDAL_WIND',
|
||||
'../heimdal/lib/wind/wind_err.c ../heimdal/lib/wind/stringprep.c ../heimdal/lib/wind/errorlist.c ../heimdal/lib/wind/errorlist_table.c ../heimdal/lib/wind/normalize.c ../heimdal/lib/wind/normalize_table.c ../heimdal/lib/wind/combining.c ../heimdal/lib/wind/combining_table.c ../heimdal/lib/wind/utf8.c ../heimdal/lib/wind/bidi.c ../heimdal/lib/wind/bidi_table.c ../heimdal/lib/wind/ldap.c ../heimdal/lib/wind/map.c ../heimdal/lib/wind/map_table.c',
|
||||
includes='. ../heimdal/lib/wind',
|
||||
includes='../heimdal/lib/wind',
|
||||
deps='HEIMDAL_ROKEN HEIMDAL_COM_ERR'
|
||||
)
|
||||
|
||||
@ -377,7 +349,7 @@ bld.SAMBA_SUBSYSTEM('HEIMDAL_ROKEN_CLOSEFROM_H',
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('HEIMDAL_ROKEN_H',
|
||||
'../heimdal/lib/roken/base64.c ../heimdal/lib/roken/ct.c ../heimdal/lib/roken/hex.c ../heimdal/lib/roken/bswap.c ../heimdal/lib/roken/dumpdata.c ../heimdal/lib/roken/emalloc.c ../heimdal/lib/roken/ecalloc.c ../heimdal/lib/roken/getarg.c ../heimdal/lib/roken/get_window_size.c ../heimdal/lib/roken/getdtablesize.c ../heimdal/lib/roken/h_errno.c ../heimdal/lib/roken/issuid.c ../heimdal/lib/roken/net_read.c ../heimdal/lib/roken/net_write.c ../heimdal/lib/roken/socket.c ../heimdal/lib/roken/parse_time.c ../heimdal/lib/roken/parse_units.c ../heimdal/lib/roken/resolve.c ../heimdal/lib/roken/roken_gethostby.c ../heimdal/lib/roken/signal.c ../heimdal/lib/roken/vis.c ../heimdal/lib/roken/strlwr.c ../heimdal/lib/roken/strsep_copy.c ../heimdal/lib/roken/strsep.c ../heimdal/lib/roken/strupr.c ../heimdal/lib/roken/strpool.c ../heimdal/lib/roken/estrdup.c ../heimdal/lib/roken/erealloc.c ../heimdal/lib/roken/simple_exec.c ../heimdal/lib/roken/strcollect.c ../heimdal/lib/roken/rtbl.c ../heimdal/lib/roken/cloexec.c ../heimdal/lib/roken/xfree.c replace.c',
|
||||
includes='. ../heimdal/lib/roken',
|
||||
includes='../heimdal/lib/roken',
|
||||
cflags='-DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1',
|
||||
deps='HEIMDAL_ROKEN_PROGNAME_H HEIMDAL_ROKEN_CLOSEFROM_H resolv LIBREPLACE_NETWORK'
|
||||
)
|
||||
@ -385,7 +357,7 @@ bld.SAMBA_SUBSYSTEM('HEIMDAL_ROKEN_H',
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('HEIMDAL_COM_ERR',
|
||||
'../heimdal/lib/com_err/com_err.c ../heimdal/lib/com_err/error.c',
|
||||
includes='. ../heimdal/lib/com_err',
|
||||
includes='../heimdal/lib/com_err',
|
||||
deps='HEIMDAL_ROKEN',
|
||||
config_option='HAVE_COM_ERR'
|
||||
)
|
||||
@ -395,8 +367,8 @@ bld.SAMBA_SUBSYSTEM('HEIMDAL_COM_ERR',
|
||||
bld.SAMBA_BINARY('asn1_compile',
|
||||
'../heimdal/lib/asn1/main.c ../heimdal/lib/asn1/gen.c ../heimdal/lib/asn1/gen_copy.c ../heimdal/lib/asn1/gen_decode.c ../heimdal/lib/asn1/gen_encode.c ../heimdal/lib/asn1/gen_free.c ../heimdal/lib/asn1/gen_glue.c ../heimdal/lib/asn1/gen_length.c ../heimdal/lib/asn1/gen_seq.c ../heimdal/lib/asn1/hash.c ../heimdal/lib/asn1/symbol.c ../heimdal/lib/asn1/asn1parse.c ../heimdal/lib/asn1/lex.c ../heimdal/lib/vers/print_version.c',
|
||||
use_hostcc=True,
|
||||
cflags='-DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_',
|
||||
includes='. ../heimdal/lib/asn1 ../heimdal/lib/roken',
|
||||
cflags='-DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_ -DFOO1',
|
||||
includes='../heimdal/lib/asn1 ../heimdal/lib/roken',
|
||||
group='build_compilers',
|
||||
deps='HEIMDAL_ROKEN_H replace',
|
||||
)
|
||||
@ -406,8 +378,7 @@ bld.SAMBA_BINARY('compile_et',
|
||||
'../heimdal/lib/vers/print_version.c ../heimdal/lib/com_err/parse.c ../heimdal/lib/com_err/lex.c ../heimdal/lib/com_err/compile_et.c',
|
||||
use_hostcc=True,
|
||||
group='build_compilers',
|
||||
cflags='-DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_',
|
||||
includes='.',
|
||||
cflags='-DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_ -DFOO2',
|
||||
deps='HEIMDAL_ROKEN_H replace'
|
||||
)
|
||||
|
||||
@ -421,6 +392,7 @@ bld.SAMBA_BINARY('samba4kinit',
|
||||
|
||||
bld.SAMBA_BINARY('samba4kpasswd',
|
||||
'../heimdal/kpasswd/kpasswd.c ../heimdal/lib/vers/print_version.c',
|
||||
cflags='-DFOO3',
|
||||
includes='../heimdal/lib/roken',
|
||||
deps='HEIMDAL_KRB5 HEIMDAL_NTLM'
|
||||
)
|
||||
@ -428,7 +400,8 @@ bld.SAMBA_BINARY('samba4kpasswd',
|
||||
|
||||
bld.SAMBA_BINARY('rkpty',
|
||||
'../heimdal/lib/roken/rkpty.c ../../lib/socket_wrapper/socket_wrapper.c',
|
||||
deps='HEIMDAL_ROKEN OPENPTY'
|
||||
deps='HEIMDAL_ROKEN OPENPTY',
|
||||
cflags='-DPACKAGE="Samba"'
|
||||
)
|
||||
|
||||
HEIMDAL_GSSAPI_SPNEGO_SOURCE = '''
|
||||
@ -527,11 +500,11 @@ HEIMDAL_HX509_OBJH_SOURCE = '''
|
||||
'''
|
||||
|
||||
bld.HEIMDAL_AUTOPROTO('../heimdal/lib/hx509/hx509-protos.h',
|
||||
HEIMDAL_GSSAPI_KRB5_SOURCE,
|
||||
HEIMDAL_HX509_OBJH_SOURCE,
|
||||
options="-R '^(_|^C)' -E HX509_LIB -q -P comment -o")
|
||||
|
||||
bld.HEIMDAL_AUTOPROTO('../heimdal/lib/hx509/hx509-private.h',
|
||||
HEIMDAL_GSSAPI_KRB5_SOURCE,
|
||||
HEIMDAL_HX509_OBJH_SOURCE,
|
||||
options="-q -P comment -p")
|
||||
|
||||
HEIMDAL_HEIM_ASN1_DER_SOURCE = '''
|
||||
|
@ -39,7 +39,6 @@ conf.CHECK_FUNCS_IN('openpty', 'util')
|
||||
conf.CHECK_FUNCS_IN('gettext', 'intl')
|
||||
|
||||
|
||||
conf.DEFINE('HAVE_COM_ERR',1)
|
||||
conf.DEFINE('HAVE_KRB5',1)
|
||||
conf.DEFINE('HAVE_GSSAPI',1)
|
||||
|
||||
|
@ -15,6 +15,8 @@ def configure(conf):
|
||||
if 'HAVE_GNUTLS' in conf.env and not Options.options.disable_gnutls:
|
||||
conf.DEFINE('ENABLE_GNUTLS', 1)
|
||||
|
||||
conf.CHECK_FUNCS_IN('gnutls_global_init', 'gnutls')
|
||||
|
||||
conf.CHECK_HEADERS('gnutls/gnutls.h')
|
||||
|
||||
# check for gnutls_datum types
|
||||
@ -28,5 +30,5 @@ def configure(conf):
|
||||
def build(bld):
|
||||
bld.SAMBA_SUBSYSTEM('LIBTLS',
|
||||
source='tls.c tlscert.c',
|
||||
public_deps='talloc GNUTLS GCRYPT LIBSAMBA-HOSTCONFIG samba_socket'
|
||||
public_deps='talloc gnutls gcrypt LIBSAMBA-HOSTCONFIG samba_socket'
|
||||
)
|
||||
|
@ -2,5 +2,6 @@ bld.SAMBA_PIDL_LIST('PIDL_S4',
|
||||
source='''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''',
|
||||
options="--includedir=../../librpc/idl"
|
||||
)
|
||||
options="--includedir=../librpc/idl --header --ndr-parser --client --python --server",
|
||||
output_dir='../gen_ndr')
|
||||
|
||||
|
@ -4,7 +4,7 @@ bld.BUILD_SUBDIR('../../librpc/idl')
|
||||
bld.BUILD_SUBDIR('idl')
|
||||
|
||||
bld.SAMBA_LIBRARY('LIBNDR',
|
||||
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',
|
||||
source='ndr/ndr_string.c ../../librpc/ndr/ndr_basic.c ../../librpc/ndr/uuid.c ../../librpc/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 PIDL_COMMON/misc.h PIDL_COMMON/ndr_misc.h',
|
||||
@ -625,6 +625,7 @@ bld.SAMBA_PYTHON('python_winreg',
|
||||
bld.SAMBA_PYTHON('python_dcerpc_misc',
|
||||
source='ndr/py_misc.c',
|
||||
deps='PYTALLOC python_dcerpc NDR_MISC NDR_KRB5PAC',
|
||||
enabled=False,
|
||||
realname='samba/dcerpc/misc.so'
|
||||
)
|
||||
|
||||
@ -723,6 +724,7 @@ bld.SAMBA_PYTHON('python_drsuapi',
|
||||
bld.SAMBA_PYTHON('python_dcerpc_security',
|
||||
source='ndr/py_security.c',
|
||||
deps='PYTALLOC python_dcerpc_misc python_dcerpc NDR_SECURITY',
|
||||
enabled=False,
|
||||
realname='samba/dcerpc/security.so'
|
||||
)
|
||||
|
||||
@ -730,6 +732,7 @@ bld.SAMBA_PYTHON('python_dcerpc_security',
|
||||
bld.SAMBA_PYTHON('python_dcerpc_xattr',
|
||||
source='ndr/py_xattr.c',
|
||||
deps='PYTALLOC python_dcerpc_misc python_dcerpc python_dcerpc_security NDR_XATTR RPC_NDR_XATTR',
|
||||
enabled=False,
|
||||
realname='samba/dcerpc/xattr.so'
|
||||
)
|
||||
|
||||
|
@ -5,21 +5,19 @@ blddir = 'bin'
|
||||
|
||||
import sys
|
||||
sys.path.insert(0, srcdir+"/buildtools/wafsamba")
|
||||
import wafsamba
|
||||
|
||||
LIBREPLACE_DIR= srcdir + '/lib/replace'
|
||||
LIBLDB_DIR= srcdir + '/source4/lib/ldb'
|
||||
import wafsamba, Options
|
||||
|
||||
def set_options(opt):
|
||||
opt.recurse(LIBREPLACE_DIR)
|
||||
opt.recurse(LIBLDB_DIR)
|
||||
opt.recurse('../lib/replace')
|
||||
opt.recurse('dynconfig')
|
||||
opt.recurse('scripting/python')
|
||||
opt.recurse('lib/ldb')
|
||||
opt.recurse('selftest')
|
||||
opt.recurse('lib/tls')
|
||||
opt.recurse('../lib/nss_wrapper')
|
||||
opt.recurse('../lib/socket_wrapper')
|
||||
opt.recurse('../lib/uid_wrapper')
|
||||
|
||||
|
||||
def configure(conf):
|
||||
conf.define('PACKAGE_NAME', 'samba')
|
||||
conf.define('PACKAGE_STRING', 'samba 4')
|
||||
@ -28,11 +26,33 @@ def configure(conf):
|
||||
conf.define('PACKAGE_VERSION', "4")
|
||||
conf.define('PACKAGE_BUGREPORT', 'samba-technical@samba.org')
|
||||
|
||||
conf.DEFINE('_SAMBA_BUILD_', 4)
|
||||
conf.DEFINE('CONFIG_H_IS_FROM_SAMBA', 1)
|
||||
conf.DEFINE('_SAMBA_BUILD_', 4, add_to_cflags=True)
|
||||
conf.DEFINE('HAVE_CONFIG_H', 1, add_to_cflags=True)
|
||||
if Options.options.developer:
|
||||
conf.ADD_CFLAGS('-DDEVELOPER -DDEBUG_PASSWORD')
|
||||
|
||||
# set a lower limit on recursing in waf preprocessor
|
||||
conf.env.preprocessor_recursion_limit = 10
|
||||
|
||||
# we should use the PIC options in waf instead
|
||||
conf.ADD_CFLAGS('-fPIC')
|
||||
|
||||
conf.ADD_EXTRA_INCLUDES('#source4 #lib #source4/lib #source4/include #lib/replace #lib/talloc')
|
||||
|
||||
conf.sub_config('../lib/replace')
|
||||
|
||||
conf.find_program('python', var='PYTHON', mandatory=True)
|
||||
conf.find_program('perl', var='PERL', mandatory=True)
|
||||
conf.sub_config(LIBREPLACE_DIR)
|
||||
conf.sub_config(LIBLDB_DIR)
|
||||
|
||||
# enable tool to build python extensions
|
||||
conf.check_tool('python')
|
||||
conf.check_python_version((2,4,2))
|
||||
conf.check_python_headers()
|
||||
|
||||
conf.sub_config('dynconfig')
|
||||
conf.sub_config('scripting/python')
|
||||
conf.sub_config('lib/ldb')
|
||||
conf.sub_config('heimdal_build')
|
||||
conf.sub_config('lib/tls')
|
||||
conf.sub_config('ntvfs/sysdep')
|
||||
@ -44,7 +64,4 @@ def configure(conf):
|
||||
conf.sub_config('../lib/socket_wrapper')
|
||||
conf.sub_config('../lib/uid_wrapper')
|
||||
|
||||
conf.DEFINE('CONFIG_H_IS_FROM_SAMBA', 1)
|
||||
conf.ADD_EXTRA_INCLUDES('#source4 #lib #source4/lib #source4/include #lib/socket_wrapper #lib/talloc #lib/replace #lib/event')
|
||||
|
||||
conf.SAMBA_CONFIG_H('include/config.h')
|
||||
|
@ -11,40 +11,15 @@ bld.SETUP_BUILD_GROUPS()
|
||||
|
||||
bld.SAMBA_MKVERSION('version.h')
|
||||
|
||||
bld.ENABLE_MAGIC_ORDERING()
|
||||
# bld.ENABLE_MAGIC_ORDERING()
|
||||
|
||||
bld.PREDECLARE('LIBNDR', 'LIBRARY')
|
||||
bld.PREDECLARE('LIBSAMBA-UTIL', 'LIBRARY')
|
||||
bld.PREDECLARE('torture', 'LIBRARY')
|
||||
bld.PREDECLARE('TORTURE_RAW', 'MODULE')
|
||||
bld.PREDECLARE('TORTURE_RAP', 'MODULE')
|
||||
bld.PREDECLARE('TORTURE_LDAP', 'MODULE')
|
||||
bld.PREDECLARE('python_dcerpc_misc', 'PYTHON')
|
||||
bld.PREDECLARE('python_dcerpc_security', 'PYTHON')
|
||||
bld.PREDECLARE('pycredentials', 'PYTHON')
|
||||
bld.PREDECLARE('pyauth', 'PYTHON')
|
||||
bld.PREDECLARE('gensec', 'LIBRARY')
|
||||
bld.PREDECLARE('registry', 'LIBRARY')
|
||||
bld.PREDECLARE('HEIMDAL_HDB_ASN1', 'ASN1')
|
||||
bld.PREDECLARE('HEIMDAL_SPNEGO_ASN1', 'ASN1')
|
||||
bld.PREDECLARE('HEIMDAL_GSSAPI_ASN1', 'ASN1')
|
||||
bld.PREDECLARE('HEIMDAL_KRB5_ASN1', 'ASN1')
|
||||
bld.PREDECLARE('HEIMDAL_DIGEST_ASN1', 'ASN1')
|
||||
bld.PREDECLARE('HEIMDAL_PKCS8_ASN1', 'ASN1')
|
||||
bld.PREDECLARE('HEIMDAL_PKCS9_ASN1', 'ASN1')
|
||||
bld.PREDECLARE('HEIMDAL_PKCS12_ASN1', 'ASN1')
|
||||
bld.PREDECLARE('HEIMDAL_RFC2459_ASN1', 'ASN1')
|
||||
bld.PREDECLARE('HEIMDAL_PKINIT_ASN1', 'ASN1')
|
||||
bld.PREDECLARE('HEIMDAL_CMS_ASN1', 'ASN1')
|
||||
bld.PREDECLARE('HEIMDAL_OCSP_ASN1', 'ASN1')
|
||||
bld.PREDECLARE('HEIMDAL_KX509_ASN1', 'ASN1')
|
||||
bld.PREDECLARE('HEIMDAL_PKCS10_ASN1', 'ASN1')
|
||||
bld.TARGET_ALIAS('attr', 'XATTR')
|
||||
bld.TARGET_ALIAS('execinfo', 'EXECINFO')
|
||||
bld.TARGET_ALIAS('popt', 'LIBPOPT')
|
||||
|
||||
# missing subsystems
|
||||
bld.SAMBA_SUBSYSTEM('pyldb_util', '')
|
||||
bld.SAMBA_SUBSYSTEM('pyldb', '')
|
||||
bld.SAMBA_SUBSYSTEM('LIBPOPT', '')
|
||||
bld.SAMBA_SUBSYSTEM('LIBCLI_SMB2', '')
|
||||
bld.SAMBA_SUBSYSTEM('dcerpc_mgmt', '')
|
||||
bld.SAMBA_SUBSYSTEM('TORTURE_LDB_MODULE', '')
|
||||
bld.SAMBA_SUBSYSTEM('INTL', '')
|
||||
@ -52,32 +27,23 @@ bld.SAMBA_SUBSYSTEM('NDR_SAMR', '')
|
||||
bld.SAMBA_SUBSYSTEM('LIBLDB_CMDLINE', '')
|
||||
bld.SAMBA_SUBSYSTEM('NETAPI', '')
|
||||
bld.SAMBA_SUBSYSTEM('HDB_LDB', '')
|
||||
bld.SAMBA_SUBSYSTEM('HDB_LDB', '')
|
||||
bld.SAMBA_SUBSYSTEM('SMBREADLINE', '')
|
||||
bld.SAMBA_SUBSYSTEM('OPENPTY', '')
|
||||
bld.SAMBA_SUBSYSTEM('SMBCLIENT', '')
|
||||
bld.SAMBA_SUBSYSTEM('BLKID', '')
|
||||
bld.SAMBA_SUBSYSTEM('LIBTEVENT_EXT', '')
|
||||
bld.SAMBA_SUBSYSTEM('LIBTEVENT_EXT', '')
|
||||
bld.SAMBA_SUBSYSTEM('PTHREAD', '')
|
||||
bld.SAMBA_SUBSYSTEM('CRYPT', '')
|
||||
bld.SAMBA_SUBSYSTEM('PAM', '')
|
||||
bld.SAMBA_SUBSYSTEM('HDB_LDB', '')
|
||||
bld.SAMBA_SUBSYSTEM('SASL', '')
|
||||
bld.SAMBA_SUBSYSTEM('smbcalls', '')
|
||||
bld.SAMBA_SUBSYSTEM('SMBREADLINE', '')
|
||||
bld.SAMBA_SUBSYSTEM('SMBREADLINE', '')
|
||||
bld.SAMBA_SUBSYSTEM('SETPROCTITLE', '')
|
||||
bld.SAMBA_SUBSYSTEM('ZLIB', '')
|
||||
bld.SAMBA_SUBSYSTEM('NDR_SRVSVC', '')
|
||||
bld.SAMBA_SUBSYSTEM('HDB_LDB', '')
|
||||
bld.SAMBA_SUBSYSTEM('HDB_LDB', '')
|
||||
bld.SAMBA_SUBSYSTEM('HDB_LDB', '')
|
||||
bld.SAMBA_SUBSYSTEM('SETPROCTITLE', '')
|
||||
bld.SAMBA_SUBSYSTEM('HDB_LDB', '')
|
||||
bld.SAMBA_SUBSYSTEM('ICONV', '')
|
||||
bld.SAMBA_SUBSYSTEM('NDR_MISC', '')
|
||||
bld.SAMBA_SUBSYSTEM('SCHANNELDB', '')
|
||||
bld.SAMBA_SUBSYSTEM('DCOM_PROXY_DCOM', '')
|
||||
|
||||
|
||||
bld.BUILD_SUBDIR('../lib/replace')
|
||||
@ -149,5 +115,5 @@ bld.BUILD_SUBDIR('../libgpo')
|
||||
bld.BUILD_SUBDIR('../libcli/named_pipe_auth')
|
||||
bld.BUILD_SUBDIR('heimdal_build')
|
||||
|
||||
bld.CHECK_DEPENDENCIES()
|
||||
bld.ENFORCE_GROUP_ORDERING()
|
||||
bld.CHECK_ORPANED_TARGETS()
|
||||
|
Loading…
x
Reference in New Issue
Block a user