X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senfscons%2FSENFSCons.py;h=d31c844aaad47d6558cb77c7c0c2e7574938b8cc;hb=f2cc6f8a4ca99301f9f26156803e541ec2dff66b;hp=b10f2b412ad50ec52ad907bb012a0a265c572332;hpb=fd5677c5ebf2035148fe1d5b970514edef82e3fd;p=senf.git diff --git a/senfscons/SENFSCons.py b/senfscons/SENFSCons.py index b10f2b4..d31c844 100644 --- a/senfscons/SENFSCons.py +++ b/senfscons/SENFSCons.py @@ -153,6 +153,7 @@ def FinalizeBoost(env): env['BOOSTTESTLIB'] = 'boost_unit_test_framework' + env['BOOST_VARIANT'] env['BOOSTREGEXLIB'] = 'boost_regex' + env['BOOST_VARIANT'] env['BOOSTFSLIB'] = 'boost_filesystem' + env['BOOST_VARIANT'] + env['BOOSTIOSTREAMSLIB'] = 'boost_iostreams' + env['BOOST_VARIANT'] env.Append(LIBPATH = [ '$BOOST_LIBDIR' ], CPPPATH = [ '$BOOST_INCLUDES' ]) @@ -246,13 +247,13 @@ def MakeEnvironment(): LIBPATH = [ '$LOCALLIBDIR' ]) if env['final']: - env.Append(CXXFLAGS = [ '-O3' ], - CPPDEFINES = [ 'SENF_NO_DEBUG' ]) + env.Append(CXXFLAGS = [ '-O3' ]) else: + # The boost-regex library is not compiled with _GLIBCXX_DEBUG so this fails: + # CPPDEFINES = [ '_GLIBCXX_DEBUG' ], env.Append(CXXFLAGS = [ '-O0', '-g', '-fno-inline' ], - # The boost-regex library is not compiled with _GLIBCXX_DEBUG so this fails. - # CPPDEFINES = [ '_GLIBCXX_DEBUG' ], - LINKFLAGS = [ '-g' ]) + CPPDEFINES = [ 'SENF_DEBUG' ], + LINKFLAGS = [ '-g', '-rdynamic' ]) env.Append(CPPDEFINES = [ '$EXTRA_DEFINES' ], LIBS = [ '$EXTRA_LIBS' ], @@ -302,6 +303,18 @@ def GlobalTargets(env): # \internal def LibPath(lib): return '${LOCALLIBDIR}/${LIBPREFIX}%s${LIBADDSUFFIX}${LIBSUFFIX}' % lib +def Test(env, sources, LIBS = [], OBJECTS = []): + test = env.BoostUnitTests( + target = 'test', + objects = [], + test_sources = sources, + LIBS = [ x + '$LIBADDSUFFIX' for x in LIBS ], + OBJECTS = OBJECTS, + DEPENDS = [ env.File(LibPath(x)) for x in LIBS ]) + env.Alias('all_tests', test) + env.Alias(env.File('test'), test) + + ## \brief Build object files # # This target helper will build object files from the given @@ -463,13 +476,12 @@ def Doxygen(env, doxyfile = "Doxyfile", extra_sources = []): docs, SCons.Action.Action(("for html in %s/*.html; do " + " echo $$html;" + - " sed -e 's/id=\"current\"/class=\"current\"/' $${html}" + - " | tidy -ascii -q --show-warnings no --fix-uri no " + - " | xsltproc --nonet --html --stringparam topdir %s -o $${html}.new %s - 2>&1" + - " | grep '^-'" + - " | grep -v 'ID .* already defined';" + - " mv $${html}.new $${html}; " + - "done") + " mv $${html} $${html}.orig;" + + " sed -e 's/id=\"current\"/class=\"current\"/' $${html}.orig" + + " | tidy -ascii -q --wrap 0 --show-warnings no --fix-uri no " + + " | sed -e 's/name=\"\([^\"]*\)\"\([^>]*\) id=\"\\1\"/name=\"\\1\"\\2/g'" + + " | xsltproc --novalid --nonet --html --stringparam topdir %s -o $${html} %s -;" + "done; true") % (htmlnode.dir.abspath, reltopdir, xslfile.abspath))) for doc in docs: env.Depends(doc, xslfile)