def _builddoc(env, name, source=_null, **kw): import SCons.Errors try: builder = kw['builder'] except KeyError: builder = 'DVI' if builder == 'DVI' and 'suffix' in kw: del kw['suffix'] if source is _null: source = name alias = TeXASCommon.get_auto_alias(name, 'alias', **kw) target = TeXASCommon.get_auto_target(env, name, **kw) try: deps = kw['deps'] except KeyError: deps = None kw = _del_local_keywords(kw) if builder == 'DVI': target = env.DVI(target, source, **kw) if deps: env.Depends(target, deps) elif builder == 'PDF': try: kw['DVIPDFCOM'] = env['TEXASDVIPDFCOM'] except KeyError: pass target = env.PDF(target, source, **kw) if deps: env.Depends(target, deps) elif builder == 'DVIPDFM': try: kw['DVIPDFMCOM'] = env['TEXASDVIPDFMCOM'] except KeyError: pass target = env.DVIPDFM(target, source, **kw) if deps: env.Depends(target, deps) else: raise SCons.Errors.UserError('Unsupported builder: %r' % builder) if alias: env.Alias(alias, target) env.AlwaysBuild(alias) return target
def _tar(env, name, source, **kw): """Core of the `Tar()`, `TarGz()` and `TarBz2()`""" import SCons.Util import platform target = TeXASCommon.get_auto_target(env, name, **kw) alias = TeXASCommon.get_auto_alias(name, 'alias', **kw) # Some paths are stripped from file names in the archive dirs2strip = TeXASCommon.get_strip_dirs(env, **kw) kw = _del_local_keywords(kw) if dirs2strip: kw['_dirs2strip'] = dirs2strip kw['_joinpathre'] = TeXASCommon.joinpathre if platform.system() == 'Windows': t = "--transform='s:^^\\(${_joinpathre(_dirs2strip)}\\)::S'" else: t = "--transform='s:^\\(${_joinpathre(_dirs2strip)}\\)::S'" flags = SCons.Util.CLVar(t) kw['TARFLAGS'] = TeXASCommon.append_flags(env, 'TARFLAGS', flags, **kw) target = env.Tar(target, source, **kw) if alias: env.Alias(alias, target) env.AlwaysBuild(alias) return target