From: g0dil Date: Tue, 11 Sep 2007 07:33:22 +0000 (+0000) Subject: Fix the build process to work with the SCons V0.96.1 workaround X-Git-Url: http://g0dil.de/git?a=commitdiff_plain;h=54fe6b70dd2c783a37f4bbd62a166160adae0e0f;hp=6dfdbbf4962860466aa70bdfe5b58990f862efc5;p=senf.git Fix the build process to work with the SCons V0.96.1 workaround git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@436 270642c3-0616-0410-b53a-bc976706d245 --- diff --git a/SConstruct b/SConstruct index 8d97ecb..c98eb46 100644 --- a/SConstruct +++ b/SConstruct @@ -6,6 +6,8 @@ import SENFSCons ########################################################################### +# This hack is needed for SCons V 0.96.1 compatibility. In current SCons versions +# we can just use 'env.AlwaysBuild(env.Alias(target), [], action)' def PhonyTarget(env, target, action): env.AlwaysBuild(env.Command(target + '.phony', 'SConstruct', env.Action(action))) env.Alias(target, target + '.phony') @@ -129,6 +131,9 @@ libsenf = env.Library( SENFSCons.LibPath('senf'), Flatten([ env.File(SENFSCons.LibPath(lib)).sources for lib in env['ALLLIBS'] ])) env.Default(libsenf) +env.Clean('all', 'libsenf.a') +env.Alias('all', 'libsenf.a') + env.Alias('install_all', env.Install('$LIBINSTALLDIR', libsenf)) env.Clean('all', [ os.path.join(path,f) diff --git a/doclib/SConscript b/doclib/SConscript index e45344d..cdb9cd6 100644 --- a/doclib/SConscript +++ b/doclib/SConscript @@ -186,3 +186,5 @@ env.Alias('install_all', 'search_functions.php', 'search_paths.php', 'senf.css' ] )) + +env.Clean('all', 'doxy-header.html') # I should not need this but I do ... diff --git a/senfscons/Doxygen.py b/senfscons/Doxygen.py index 0e8dd24..e5b7b79 100644 --- a/senfscons/Doxygen.py +++ b/senfscons/Doxygen.py @@ -248,6 +248,10 @@ class DoxyfileParser: return self._items def DoxyfileParse(env,file): + # We don't parse source files which do not contain the word 'doxyfile'. SCons will + # pass other dependencies to DoxyfileParse which are not doxyfiles ... grmpf ... + if not 'doxyfile' in file.lower(): + return {} ENV = {} ENV.update(env.get("ENV",{})) ENV['TOPDIR'] = env.Dir('#').abspath diff --git a/senfscons/SENFSCons.py b/senfscons/SENFSCons.py index 74e035d..623c9d7 100644 --- a/senfscons/SENFSCons.py +++ b/senfscons/SENFSCons.py @@ -291,7 +291,7 @@ def StandardTargets(env): # # \ingroup target def GlobalTargets(env): - env.Depends(env.Alias('all'),'#') + env.Alias('all', [ 'default', 'all_tests', 'all_docs' ]) ## \brief Return path of a built library within $LOCALLIBDIR # \internal @@ -587,6 +587,7 @@ def Lib(env, library, sources, testSources = None, LIBS = [], OBJECTS = [], no_i lib = env.Library(env.File(LibPath(library)),objects) env.Default(lib) env.Append(ALLLIBS = library) + env.Alias('default', lib) install = InstallWithSources(env, lib, '$LIBINSTALLDIR', sources, testSources, no_includes) env.Alias('install_all', install) return lib @@ -598,6 +599,7 @@ def Object(env, target, sources, testSources = None, LIBS = [], OBJECTS = [], no if objects: ob = env.Command(target+".o", objects, "ld -r -o $TARGET $SOURCES") env.Default(ob) + env.Alias('default', ob) install = InstallWithSources(env, ob, '$OBJINSTALLDIR', sources, testSources, no_includes) env.Alias('install_all', install) return ob @@ -621,6 +623,7 @@ def Binary(env, binary, sources, testSources = None, LIBS = [], OBJECTS = [], no program = progEnv.Program(target=binary,source=objects+OBJECTS) env.Default(program) env.Depends(program, [ env.File(LibPath(x)) for x in LIBS ]) + env.Alias('default', program) install = InstallWithSources(env, program, '$BININSTALLDIR', sources, testSources, no_includes) env.Alias('install_all', install) @@ -629,6 +632,7 @@ def Binary(env, binary, sources, testSources = None, LIBS = [], OBJECTS = [], no def AllIncludesHH(env, headers): headers.sort() file(env.File("all_includes.hh").abspath,"w").write("".join([ '#include "%s"\n' % f - for f in headers ])) - env.Clean('all','all_includes.hh') + for f in headers ])) + env.Alias('all', 'all_includes.hh') + env.Clean('all', 'all_includes.hh')