X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senfscons%2Fsenfutil.py;h=69f18e09159ad87f37e4d98ca3c8a7488909f6d8;hb=fd3a0e8ac95d1158e9ea661ddf9187b67c70169f;hp=a0954a8b2e31f842dd5174bb1067b3b1b31baa1b;hpb=f2cc6f8a4ca99301f9f26156803e541ec2dff66b;p=senf.git diff --git a/senfscons/senfutil.py b/senfscons/senfutil.py index a0954a8..69f18e0 100644 --- a/senfscons/senfutil.py +++ b/senfscons/senfutil.py @@ -8,10 +8,18 @@ from SCons.Script import * # c) check for a local SENF, set options accordingly and update that SENF if needed def SetupForSENF(env): - env.Append( LIBS = [ 'senf', 'iberty', 'boost_regex', 'boost_iostreams' ], + env.Append( LIBS = [ 'senf', 'rt', '$BOOSTREGEXLIB', + '$BOOSTIOSTREAMSLIB', '$BOOSTSIGNALSLIB', + '$BOOSTFSLIB' ], + BOOSTREGEXLIB = 'boost_regex', + BOOSTIOSTREAMSLIB = 'boost_iostreams', + BOOSTSIGNALSLIB = 'boost_signals', + BOOSTFSLIB = 'boost_filesystem', CXXFLAGS = [ '-Wno-long-long', - '${"$CXXFLAGS_"+(final and "final" or "debug")}' ], - LINKFLAGS = [ '${"$LINKFLAGS_"+(final and "final" or "debug")}' ], + '${"$CXXFLAGS_"+(final and "final" or "debug")}', + '${profile and ("-g","-pg") or None}' ], + LINKFLAGS = [ '${"$LINKFLAGS_"+(final and "final" or "debug")}', + '${profile and "-pg" or None}' ], SENF_BUILDOPTS = [ '-j%s' % (env.GetOption('num_jobs') or "1") ], CXXFLAGS_debug = [ '-O0', '-g', '-fno-inline' ], LINKFLAGS_debug = [ '-g', '-rdynamic' ], @@ -21,7 +29,7 @@ def SetupForSENF(env): def parseLogOption(value): stream, area, level = ( x.strip() for x in value.strip().split('|') ) stream = ''.join('(%s)' % x for x in stream.split('::') ) - if area : area = ''.join( '(%s)' % x for x in elts[1].split('::') ) + if area : area = ''.join( '(%s)' % x for x in area.split('::') ) else : area = '(_)' return '(( %s,%s,%s ))' % (stream,area,level) @@ -33,10 +41,10 @@ def SetupForSENF(env): opts.Add( 'LOGLEVELS', 'Special log levels. Syntax: |[]| ...', '${"$LOGLEVELS_"+(final and "final" or "debug")}' ) opts.Add( BoolOption('final', 'Build final (optimized) build', False) ) + opts.Add( BoolOption('debug', 'Link in debug symbols', False) ) + opts.Add( BoolOption('profile', 'Add profile information', False) ) opts.Update(env) - print env.subst('$LOGLEVELS') - if env.subst('$LOGLEVELS'): env.Append( expandLogOption=expandLogOption ) env.Append( CPPDEFINES = { 'SENF_LOG_CONF': '$expandLogOption' } ) @@ -49,11 +57,13 @@ def SetupForSENF(env): print "\nUsing SENF in './senf'\n" env.Append( LIBPATH = [ 'senf' ], CPPPATH = [ 'senf/include' ], - SENF_BUILDOPTS = [ '${final and "final=1" or None}' ], + SENF_BUILDOPTS = [ '${final and "final=1" or None}', + '${debug and "debug=1" or None}', + '${profile and "profile=1" or None}' ], CPPDEFINES = [ '${not(final) and "SENF_DEBUG" or None}' ] ) - env.Default( - env.AlwaysBuild( - env.Command('senf/libsenf.a', [], [ 'scons -C senf $SENF_BUILDOPTS libsenf.a' ]))) + #env.Default( + # env.AlwaysBuild( + # env.Command('senf/libsenf.a', [], [ 'scons -C %s $SENF_BUILDOPTS libsenf.a' % os.path.realpath('senf')]))) else: print '\nUsing global SENF\n'