X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=doclib%2FSConscript;h=a16273141d9ca8b513a901e79939dc1d86b73b7b;hb=ae06fe86f16fdabb7ffb219d255444d2eb4f4f79;hp=e72656b9faa09f2f2f0441efbea5969e5e8e9e6a;hpb=5457377c2eda70c535303f6cf87413bbb51bf1ea;p=senf.git diff --git a/doclib/SConscript b/doclib/SConscript index e72656b..a162731 100644 --- a/doclib/SConscript +++ b/doclib/SConscript @@ -11,19 +11,20 @@ def modules(): # Naja ... etwas rumgehackt aber was solls ... global EXTRA_MODULES mods = {} - ix = len(env.Dir('#').abspath)+1 - ex = dict((env.Dir(p).abspath,True) for n,p in EXTRA_MODULES) + pathbase = len(env.Dir('#').abspath)+1 for module in env.Alias('all_docs')[0].sources: if module.name != 'html.stamp' : continue - if not ex.get(module.dir.abspath): - mods[module.dir.dir.dir.abspath] = [ module.dir.dir.dir.name, module.dir.abspath[ix:], 0 ] + mods[module.dir.dir.dir.abspath] = [ module.dir.dir.dir.name, + module.dir.abspath[pathbase:], + 0 ] + rv = [] keys = mods.keys() keys.sort() for mod in keys: i = 0 while i < len(rv): - if mod.startswith(rv[i] + '/'): + if len(rv[i]) > pathbase and mod.startswith(rv[i] + '/'): level = mods[rv[i]][2] + 1 i += 1 while i < len(rv) and mods[rv[i]][2] >= level: @@ -34,11 +35,29 @@ def modules(): i += 1 if i == len(rv): rv.append(mod) - return [ (name, env.Dir(path).abspath[ix:], 0) for name,path in EXTRA_MODULES - ] + [ ( (((not mods[mod][2]) and 'lib') or '') + mods[mod][0], - mods[mod][1], - mods[mod][2]) - for mod in rv ] + + for mod in keys: + if mods[mod][2] == 0: + mods[mod][0] = 'lib' + mods[mod][0] + + n = 0 + for name,path in EXTRA_MODULES: + path = env.Dir(path).dir.dir.abspath + i = 0 + while i < len(rv): + if rv[i] == path: + mods[rv[i]][0] = name + m = 1 + while i+m < len(rv) and mods[rv[i+m]][2] > mods[rv[i]][2]: + m += 1 + rv[n:n] = rv[i:i+m] + rv[i+m:i+2*m] = [] + i += m + n += m + else: + i += 1 + + return ( tuple(mods[mod]) for mod in rv ) def indices(): ix = len(env.Dir('#').abspath)+1 @@ -159,3 +178,14 @@ env.Alias('all_docs', env.Alias('all_docs', env.Command('search_paths.php', 'SConscript', writeTemplate, TEMPLATE = Literal(SEARCH_PATHS_PHP))) + +env.Alias('install_all', + env.Install( '$DOCINSTALLDIR/doclib', [ 'favicon.ico', + 'logo-head.png', + 'search.php', + 'search_functions.php', + 'search_paths.php', + 'senf.css' ] )) + +env.Clean('all', 'doxy-header.html') # I should not need this but I do ... +env.Clean('all_docs', 'doxy-header.html') # I should not need this but I do ...