Ignore:
Timestamp:
Nov 24, 2016, 1:14:11 PM (9 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: update vendor to version 4.4.3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vendor/current/buildtools/wafsamba/wafsamba.py

    r740 r988  
    1717from samba_autoproto import *
    1818from samba_python import *
     19from samba_perl import *
    1920from samba_deps import *
    2021from samba_bundled import *
     22from samba_third_party import *
     23import samba_cross
    2124import samba_install
    2225import samba_conftests
     
    3235import symbols
    3336import pkgconfig
     37import configure_file
    3438
    3539# some systems have broken threading in python
     
    6468    # to be expressed in terms of build directory paths
    6569    mkdir_p(os.path.join(conf.blddir, 'default'))
    66     for p in ['python','shared', 'modules']:
    67         link_target = os.path.join(conf.blddir, 'default/' + p)
     70    for (source, target) in [('shared', 'shared'), ('modules', 'modules'), ('python', 'python_modules')]:
     71        link_target = os.path.join(conf.blddir, 'default/' + target)
    6872        if not os.path.lexists(link_target):
    69             os.symlink('../' + p, link_target)
     73            os.symlink('../' + source, link_target)
    7074
    7175    # get perl to put the blib files in the build directory
     
    9296
    9397
     98def generate_empty_file(task):
     99    task.outputs[0].write('')
     100    return 0
    94101
    95102#################################################################
     
    100107                  public_headers=None,
    101108                  public_headers_install=True,
     109                  private_headers=None,
    102110                  header_path=None,
    103111                  pc_files=None,
     
    108116                  external_library=False,
    109117                  realname=None,
     118                  keep_underscore=False,
    110119                  autoproto=None,
    111                   group='libraries',
     120                  autoproto_extra_source='',
     121                  group='main',
    112122                  depends_on='',
    113123                  local_include=True,
     
    120130                  pyext=False,
    121131                  target_type='LIBRARY',
    122                   bundled_extension=True,
     132                  bundled_extension=False,
     133                  bundled_name=None,
    123134                  link_name=None,
    124135                  abi_directory=None,
     
    129140                  grouping_library=False,
    130141                  allow_undefined_symbols=False,
     142                  allow_warnings=False,
    131143                  enabled=True):
    132144    '''define a Samba library'''
     145
     146    if pyembed and bld.env['IS_EXTRA_PYTHON']:
     147        public_headers = pc_files = None
     148
     149    if private_library and public_headers:
     150        raise Utils.WafError("private library '%s' must not have public header files" %
     151                             libname)
     152
     153    if LIB_MUST_BE_PRIVATE(bld, libname):
     154        private_library = True
    133155
    134156    if not enabled:
     
    141163
    142164    # remember empty libraries, so we can strip the dependencies
    143     if ((source == '') or (source == [])) and deps == '' and public_deps == '':
    144         SET_TARGET_TYPE(bld, libname, 'EMPTY')
    145         return
     165    if ((source == '') or (source == [])):
     166        if deps == '' and public_deps == '':
     167            SET_TARGET_TYPE(bld, libname, 'EMPTY')
     168            return
     169        empty_c = libname + '.empty.c'
     170        bld.SAMBA_GENERATOR('%s_empty_c' % libname,
     171                            rule=generate_empty_file,
     172                            target=empty_c)
     173        source=empty_c
    146174
    147175    if BUILTIN_LIBRARY(bld, libname):
     
    165193                        public_headers = public_headers,
    166194                        public_headers_install = public_headers_install,
     195                        private_headers= private_headers,
    167196                        header_path    = header_path,
    168197                        cflags         = cflags,
    169198                        group          = subsystem_group,
    170199                        autoproto      = autoproto,
     200                        autoproto_extra_source=autoproto_extra_source,
    171201                        depends_on     = depends_on,
    172202                        hide_symbols   = hide_symbols,
    173                         pyext          = pyext or (target_type == "PYTHON"),
     203                        allow_warnings = allow_warnings,
     204                        pyembed        = pyembed,
     205                        pyext          = pyext,
    174206                        local_include  = local_include,
    175207                        global_include = global_include)
     
    190222
    191223    # we don't want any public libraries without version numbers
    192     if not private_library and vnum is None and soname is None and target_type != 'PYTHON' and not realname:
    193         raise Utils.WafError("public library '%s' must have a vnum" % libname)
    194 
    195     if target_type == 'PYTHON' or realname or not private_library:
    196         bundled_name = libname.replace('_', '-')
     224    if (not private_library and target_type != 'PYTHON' and not realname):
     225        if vnum is None and soname is None:
     226            raise Utils.WafError("public library '%s' must have a vnum" %
     227                    libname)
     228        if pc_files is None and not bld.env['IS_EXTRA_PYTHON']:
     229            raise Utils.WafError("public library '%s' must have pkg-config file" %
     230                       libname)
     231        if public_headers is None and not bld.env['IS_EXTRA_PYTHON']:
     232            raise Utils.WafError("public library '%s' must have header files" %
     233                       libname)
     234
     235    if bundled_name is not None:
     236        pass
     237    elif target_type == 'PYTHON' or realname or not private_library:
     238        if keep_underscore:
     239            bundled_name = libname
     240        else:
     241            bundled_name = libname.replace('_', '-')
    197242    else:
    198         bundled_name = PRIVATE_NAME(bld, libname, bundled_extension, private_library)
     243        assert (private_library == True and realname is None)
     244        if abi_directory or vnum or soname:
     245            bundled_extension=True
     246        bundled_name = PRIVATE_NAME(bld, libname.replace('_', '-'),
     247                                    bundled_extension, private_library)
    199248
    200249    ldflags = TO_LIST(ldflags)
    201 
    202     features = 'cc cshlib symlink_lib install_lib'
    203     if target_type == 'PYTHON':
     250    if bld.env['ENABLE_RELRO'] is True:
     251        ldflags.extend(TO_LIST('-Wl,-z,relro,-z,now'))
     252
     253    features = 'c cshlib symlink_lib install_lib'
     254    if pyext:
    204255        features += ' pyext'
    205     if pyext or pyembed:
    206         # this is quite strange. we should add pyext feature for pyext
    207         # but that breaks the build. This may be a bug in the waf python tool
     256    if pyembed:
    208257        features += ' pyembed'
    209258
    210259    if abi_directory:
    211260        features += ' abi_check'
     261
     262    if pyembed and bld.env['PYTHON_SO_ABI_FLAG']:
     263        # For ABI checking, we don't care about the exact Python version.
     264        # Replace the Python ABI tag (e.g. ".cpython-35m") by a generic ".py3"
     265        abi_flag = bld.env['PYTHON_SO_ABI_FLAG']
     266        replacement = '.py%s' % bld.env['PYTHON_VERSION'].split('.')[0]
     267        version_libname = libname.replace(abi_flag, replacement)
     268    else:
     269        version_libname = libname
    212270
    213271    vscript = None
     
    221279        if version:
    222280            vscript = "%s.vscript" % libname
    223             bld.ABI_VSCRIPT(libname, abi_directory, version, vscript,
     281            bld.ABI_VSCRIPT(version_libname, abi_directory, version, vscript,
    224282                            abi_match)
    225283            fullname = apply_pattern(bundled_name, bld.env.shlib_PATTERN)
     
    231289                raise Utils.WafError("unable to find vscript path for %s" % vscript)
    232290            bld.add_manual_dependency(fullpath, vscriptpath)
    233             if Options.is_install:
     291            if bld.is_install:
    234292                # also make the .inst file depend on the vscript
    235293                instname = apply_pattern(bundled_name + '.inst', bld.env.shlib_PATTERN)
     
    247305        samba_includes  = includes,
    248306        version_script  = vscript,
     307        version_libname = version_libname,
    249308        local_include   = local_include,
    250309        global_include  = global_include,
     
    269328        t.link_name = link_name
    270329
    271     if pc_files is not None:
     330    if pc_files is not None and not private_library:
    272331        bld.PKG_CONFIG_FILES(pc_files, vnum=vnum)
    273332
    274     if manpages is not None and 'XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']:
    275         bld.MANPAGES(manpages)
     333    if (manpages is not None and 'XSLTPROC_MANPAGES' in bld.env and
     334        bld.env['XSLTPROC_MANPAGES']):
     335        bld.MANPAGES(manpages, install)
    276336
    277337
     
    284344                 includes='',
    285345                 public_headers=None,
     346                 private_headers=None,
    286347                 header_path=None,
    287348                 modules=None,
     
    292353                 use_global_deps=True,
    293354                 compiler=None,
    294                  group='binaries',
     355                 group='main',
    295356                 manpages=None,
    296357                 local_include=True,
     
    312373        return
    313374
    314     features = 'cc cprogram symlink_bin install_bin'
     375    features = 'c cprogram symlink_bin install_bin'
    315376    if pyembed:
    316377        features += ' pyembed'
     
    327388    else:
    328389        subsystem_group = group
     390
     391    # only specify PIE flags for binaries
     392    pie_cflags = cflags
     393    pie_ldflags = TO_LIST(ldflags)
     394    if bld.env['ENABLE_PIE'] is True:
     395        pie_cflags += ' -fPIE'
     396        pie_ldflags.extend(TO_LIST('-pie'))
     397    if bld.env['ENABLE_RELRO'] is True:
     398        pie_ldflags.extend(TO_LIST('-Wl,-z,relro,-z,now'))
    329399
    330400    # first create a target for building the object files for this binary
     
    335405                        deps           = deps,
    336406                        includes       = includes,
    337                         cflags         = cflags,
     407                        cflags         = pie_cflags,
    338408                        group          = subsystem_group,
    339409                        autoproto      = autoproto,
     
    365435        samba_inst_path= install_path,
    366436        samba_install  = install,
    367         samba_ldflags  = TO_LIST(ldflags)
     437        samba_ldflags  = pie_ldflags
    368438        )
    369439
    370440    if manpages is not None and 'XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']:
    371         bld.MANPAGES(manpages)
     441        bld.MANPAGES(manpages, install)
    372442
    373443Build.BuildContext.SAMBA_BINARY = SAMBA_BINARY
     
    391461                 enabled=True,
    392462                 pyembed=False,
    393                  allow_undefined_symbols=False
     463                 manpages=None,
     464                 allow_undefined_symbols=False,
     465                 allow_warnings=False
    394466                 ):
    395467    '''define a Samba module.'''
     468
     469    bld.ASSERT(subsystem, "You must specify a subsystem for SAMBA_MODULE(%s)" % modname)
    396470
    397471    source = bld.EXPAND_VARIABLES(source, vars=vars)
     
    400474
    401475    if internal_module or BUILTIN_LIBRARY(bld, modname):
     476        # Do not create modules for disabled subsystems
     477        if GET_TARGET_TYPE(bld, subsystem) == 'DISABLED':
     478            return
    402479        bld.SAMBA_SUBSYSTEM(modname, source,
    403480                    deps=deps,
     
    408485                    local_include=local_include,
    409486                    global_include=global_include,
     487                    allow_warnings=allow_warnings,
    410488                    enabled=enabled)
    411489
     
    417495        return
    418496
    419     obj_target = modname + '.objlist'
     497    # Do not create modules for disabled subsystems
     498    if GET_TARGET_TYPE(bld, subsystem) == 'DISABLED':
     499        return
    420500
    421501    realname = modname
    422     if subsystem is not None:
    423         deps += ' ' + subsystem
    424         while realname.startswith("lib"+subsystem+"_"):
    425             realname = realname[len("lib"+subsystem+"_"):]
    426         while realname.startswith(subsystem+"_"):
    427             realname = realname[len(subsystem+"_"):]
     502    deps += ' ' + subsystem
     503    while realname.startswith("lib"+subsystem+"_"):
     504        realname = realname[len("lib"+subsystem+"_"):]
     505    while realname.startswith(subsystem+"_"):
     506        realname = realname[len(subsystem+"_"):]
     507
     508    build_name = "%s_module_%s" % (subsystem, realname)
    428509
    429510    realname = bld.make_libname(realname)
     
    446527                      global_include=global_include,
    447528                      vars=vars,
     529                      bundled_name=build_name,
    448530                      link_name=build_link_name,
    449531                      install_path="${MODULESDIR}/%s" % subsystem,
    450532                      pyembed=pyembed,
    451                       allow_undefined_symbols=allow_undefined_symbols
     533                      manpages=manpages,
     534                      allow_undefined_symbols=allow_undefined_symbols,
     535                      allow_warnings=allow_warnings
    452536                      )
    453537
     
    463547                    public_headers=None,
    464548                    public_headers_install=True,
     549                    private_headers=None,
    465550                    header_path=None,
    466551                    cflags='',
    467552                    cflags_end=None,
    468553                    group='main',
    469                     init_function_sentinal=None,
     554                    init_function_sentinel=None,
    470555                    autoproto=None,
    471556                    autoproto_extra_source='',
     
    481566                    subdir=None,
    482567                    hide_symbols=False,
    483                     pyext=False):
     568                    allow_warnings=False,
     569                    pyext=False,
     570                    pyembed=False):
    484571    '''define a Samba subsystem'''
    485572
     
    489576
    490577    # remember empty subsystems, so we can strip the dependencies
    491     if ((source == '') or (source == [])) and deps == '' and public_deps == '':
    492         SET_TARGET_TYPE(bld, modname, 'EMPTY')
    493         return
     578    if ((source == '') or (source == [])):
     579        if deps == '' and public_deps == '':
     580            SET_TARGET_TYPE(bld, modname, 'EMPTY')
     581            return
     582        empty_c = modname + '.empty.c'
     583        bld.SAMBA_GENERATOR('%s_empty_c' % modname,
     584                            rule=generate_empty_file,
     585                            target=empty_c)
     586        source=empty_c
    494587
    495588    if not SET_TARGET_TYPE(bld, modname, 'SUBSYSTEM'):
     
    505598    bld.SET_BUILD_GROUP(group)
    506599
    507     features = 'cc'
     600    features = 'c'
    508601    if pyext:
    509602        features += ' pyext'
     603    if pyembed:
     604        features += ' pyembed'
    510605
    511606    t = bld(
     
    513608        source         = source,
    514609        target         = modname,
    515         samba_cflags   = CURRENT_CFLAGS(bld, modname, cflags, hide_symbols=hide_symbols),
     610        samba_cflags   = CURRENT_CFLAGS(bld, modname, cflags,
     611                                        allow_warnings=allow_warnings,
     612                                        hide_symbols=hide_symbols),
    516613        depends_on     = depends_on,
    517614        samba_deps     = TO_LIST(deps),
     
    522619        samba_subsystem= subsystem_name,
    523620        samba_use_hostcc = use_hostcc,
    524         samba_use_global_deps = use_global_deps
     621        samba_use_global_deps = use_global_deps,
    525622        )
    526623
     
    543640                    public_headers=None,
    544641                    public_headers_install=True,
     642                    private_headers=None,
    545643                    header_path=None,
    546644                    vars=None,
     645                    dep_vars=[],
    547646                    always=False):
    548647    '''A generic source generator target'''
     
    553652    if not enabled:
    554653        return
     654
     655    dep_vars.append('ruledeps')
     656    dep_vars.append('SAMBA_GENERATOR_VARS')
    555657
    556658    bld.SET_BUILD_GROUP(group)
     
    560662        target=target,
    561663        shell=isinstance(rule, str),
    562         on_results=True,
     664        update_outputs=True,
    563665        before='cc',
    564666        ext_out='.c',
    565667        samba_type='GENERATOR',
    566         dep_vars = [rule] + (vars or []),
     668        dep_vars = dep_vars,
    567669        name=name)
     670
     671    if vars is None:
     672        vars = {}
     673    t.env.SAMBA_GENERATOR_VARS = vars
    568674
    569675    if always:
     
    578684
    579685
    580 @runonce
     686@Utils.run_once
    581687def SETUP_BUILD_GROUPS(bld):
    582688    '''setup build groups used to ensure that the different build
     
    597703    bld.add_group('main')
    598704    bld.add_group('symbolcheck')
    599     bld.add_group('libraries')
    600     bld.add_group('binaries')
    601705    bld.add_group('syslibcheck')
    602706    bld.add_group('final')
     
    629733
    630734
    631 
    632 t = Task.simple_task_type('copy_script', 'rm -f "${LINK_TARGET}" && ln -s "${SRC[0].abspath(env)}" ${LINK_TARGET}',
    633                           shell=True, color='PINK', ext_in='.bin')
    634 t.quiet = True
    635 
    636 @feature('copy_script')
    637 @before('apply_link')
    638 def copy_script(self):
    639     tsk = self.create_task('copy_script', self.allnodes[0])
    640     tsk.env.TARGET = self.target
    641 
    642735def SAMBA_SCRIPT(bld, name, pattern, installdir, installname=None):
    643736    '''used to copy scripts from the source tree into the build directory
    644737       for use by selftest'''
    645738
    646     source = bld.path.ant_glob(pattern)
     739    source = bld.path.ant_glob(pattern, flat=True)
    647740
    648741    bld.SET_BUILD_GROUP('build_source')
    649742    for s in TO_LIST(source):
    650743        iname = s
    651         if installname != None:
     744        if installname is not None:
    652745            iname = installname
    653746        target = os.path.join(installdir, iname)
    654747        tgtdir = os.path.dirname(os.path.join(bld.srcnode.abspath(bld.env), '..', target))
    655748        mkdir_p(tgtdir)
    656         t = bld(features='copy_script',
    657                 source       = s,
    658                 target       = target,
    659                 always       = True,
    660                 install_path = None)
    661         t.env.LINK_TARGET = target
    662 
     749        link_src = os.path.normpath(os.path.join(bld.curdir, s))
     750        link_dst = os.path.join(tgtdir, os.path.basename(iname))
     751        if os.path.islink(link_dst) and os.readlink(link_dst) == link_src:
     752            continue
     753        if os.path.exists(link_dst):
     754            os.unlink(link_dst)
     755        Logs.info("symlink: %s -> %s/%s" % (s, installdir, iname))
     756        os.symlink(link_src, link_dst)
    663757Build.BuildContext.SAMBA_SCRIPT = SAMBA_SCRIPT
     758
    664759
    665760def copy_and_fix_python_path(task):
     
    673768sys.path.insert(1, "%s")""" % (task.env["PYTHONARCHDIR"], task.env["PYTHONDIR"])
    674769
     770    if task.env["PYTHON"][0] == "/":
     771        replacement_shebang = "#!%s\n" % task.env["PYTHON"]
     772    else:
     773        replacement_shebang = "#!/usr/bin/env %s\n" % task.env["PYTHON"]
     774
    675775    installed_location=task.outputs[0].bldpath(task.env)
    676776    source_file = open(task.inputs[0].srcpath(task.env))
    677777    installed_file = open(installed_location, 'w')
     778    lineno = 0
    678779    for line in source_file:
    679780        newline = line
    680         if pattern in line:
     781        if (lineno == 0 and task.env["PYTHON_SPECIFIED"] is True and
     782                line[:2] == "#!"):
     783            newline = replacement_shebang
     784        elif pattern in line:
    681785            newline = line.replace(pattern, replacement)
    682786        installed_file.write(newline)
     787        lineno = lineno + 1
    683788    installed_file.close()
    684789    os.chmod(installed_location, 0755)
    685790    return 0
    686791
     792def copy_and_fix_perl_path(task):
     793    pattern='use lib "$RealBin/lib";'
     794
     795    replacement = ""
     796    if not task.env["PERL_LIB_INSTALL_DIR"] in task.env["PERL_INC"]:
     797         replacement = 'use lib "%s";' % task.env["PERL_LIB_INSTALL_DIR"]
     798
     799    if task.env["PERL"][0] == "/":
     800        replacement_shebang = "#!%s\n" % task.env["PERL"]
     801    else:
     802        replacement_shebang = "#!/usr/bin/env %s\n" % task.env["PERL"]
     803
     804    installed_location=task.outputs[0].bldpath(task.env)
     805    source_file = open(task.inputs[0].srcpath(task.env))
     806    installed_file = open(installed_location, 'w')
     807    lineno = 0
     808    for line in source_file:
     809        newline = line
     810        if lineno == 0 and task.env["PERL_SPECIFIED"] == True and line[:2] == "#!":
     811            newline = replacement_shebang
     812        elif pattern in line:
     813            newline = line.replace(pattern, replacement)
     814        installed_file.write(newline)
     815        lineno = lineno + 1
     816    installed_file.close()
     817    os.chmod(installed_location, 0755)
     818    return 0
     819
    687820
    688821def install_file(bld, destdir, file, chmod=MODE_644, flat=False,
    689                  python_fixup=False, destname=None, base_name=None):
     822                 python_fixup=False, perl_fixup=False,
     823                 destname=None, base_name=None):
    690824    '''install a file'''
    691825    destdir = bld.EXPAND_VARIABLES(destdir)
     
    696830    dest = os.path.join(destdir, destname)
    697831    if python_fixup:
    698         # fixup the python path it will use to find Samba modules
     832        # fix the path python will use to find Samba modules
    699833        inst_file = file + '.inst'
    700834        bld.SAMBA_GENERATOR('python_%s' % destname,
    701835                            rule=copy_and_fix_python_path,
     836                            dep_vars=["PYTHON","PYTHON_SPECIFIED","PYTHONDIR","PYTHONARCHDIR"],
     837                            source=file,
     838                            target=inst_file)
     839        file = inst_file
     840    if perl_fixup:
     841        # fix the path perl will use to find Samba modules
     842        inst_file = file + '.inst'
     843        bld.SAMBA_GENERATOR('perl_%s' % destname,
     844                            rule=copy_and_fix_perl_path,
     845                            dep_vars=["PERL","PERL_SPECIFIED","PERL_LIB_INSTALL_DIR"],
    702846                            source=file,
    703847                            target=inst_file)
     
    709853
    710854def INSTALL_FILES(bld, destdir, files, chmod=MODE_644, flat=False,
    711                   python_fixup=False, destname=None, base_name=None):
     855                  python_fixup=False, perl_fixup=False,
     856                  destname=None, base_name=None):
    712857    '''install a set of files'''
    713858    for f in TO_LIST(files):
    714859        install_file(bld, destdir, f, chmod=chmod, flat=flat,
    715                      python_fixup=python_fixup, destname=destname,
    716                      base_name=base_name)
     860                     python_fixup=python_fixup, perl_fixup=perl_fixup,
     861                     destname=destname, base_name=base_name)
    717862Build.BuildContext.INSTALL_FILES = INSTALL_FILES
    718863
     
    721866                     python_fixup=False, exclude=None, trim_path=None):
    722867    '''install a set of files matching a wildcard pattern'''
    723     files=TO_LIST(bld.path.ant_glob(pattern))
     868    files=TO_LIST(bld.path.ant_glob(pattern, flat=True))
    724869    if trim_path:
    725870        files2 = []
     
    746891
    747892
    748 def MANPAGES(bld, manpages):
     893def MANPAGES(bld, manpages, install):
    749894    '''build and install manual pages'''
    750895    bld.env.MAN_XSL = 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl'
     
    755900                            target=m,
    756901                            group='final',
    757                             rule='${XSLTPROC} -o ${TGT} --nonet ${MAN_XSL} ${SRC}'
     902                            rule='${XSLTPROC} --xinclude -o ${TGT} --nonet ${MAN_XSL} ${SRC}'
     903                            )
     904        if install:
     905            bld.INSTALL_FILES('${MANDIR}/man%s' % m[-1], m, flat=True)
     906Build.BuildContext.MANPAGES = MANPAGES
     907
     908def SAMBAMANPAGES(bld, manpages, extra_source=None):
     909    '''build and install manual pages'''
     910    bld.env.SAMBA_EXPAND_XSL = bld.srcnode.abspath() + '/docs-xml/xslt/expand-sambadoc.xsl'
     911    bld.env.SAMBA_MAN_XSL = bld.srcnode.abspath() + '/docs-xml/xslt/man.xsl'
     912    bld.env.SAMBA_CATALOG = bld.srcnode.abspath() + '/bin/default/docs-xml/build/catalog.xml'
     913    bld.env.SAMBA_CATALOGS = 'file:///etc/xml/catalog file:///usr/local/share/xml/catalog file://' + bld.env.SAMBA_CATALOG
     914
     915    for m in manpages.split():
     916        source = m + '.xml'
     917        if extra_source is not None:
     918            source = [source, extra_source]
     919        bld.SAMBA_GENERATOR(m,
     920                            source=source,
     921                            target=m,
     922                            group='final',
     923                            dep_vars=['SAMBA_MAN_XSL', 'SAMBA_EXPAND_XSL', 'SAMBA_CATALOG'],
     924                            rule='''XML_CATALOG_FILES="${SAMBA_CATALOGS}"
     925                                    export XML_CATALOG_FILES
     926                                    ${XSLTPROC} --xinclude --stringparam noreference 0 -o ${TGT}.xml --nonet ${SAMBA_EXPAND_XSL} ${SRC[0].abspath(env)}
     927                                    ${XSLTPROC} --nonet -o ${TGT} ${SAMBA_MAN_XSL} ${TGT}.xml'''
    758928                            )
    759929        bld.INSTALL_FILES('${MANDIR}/man%s' % m[-1], m, flat=True)
    760 Build.BuildContext.MANPAGES = MANPAGES
    761 
     930Build.BuildContext.SAMBAMANPAGES = SAMBAMANPAGES
    762931
    763932#############################################################
Note: See TracChangeset for help on using the changeset viewer.