import commands
import os


path = commands.getoutput('pwd')

env = Environment()
env["projectname"]="dolfwave"
env["prev_version"]="09.26"
env["version"]="09.27"



#Managing Options
demo=ARGUMENTS.get('enableDemo',0)
cleanall=ARGUMENTS.get('cleanAll',0)
doxy=ARGUMENTS.get('doxy',0)
commit=ARGUMENTS.get('commit',0)
release=ARGUMENTS.get('release',0)
sandbox=ARGUMENTS.get('enableSandbox',0)

#Default path for SConscript file
SC_PATH=['src/SConstruct']

if bool(demo)!=0:
    SC_PATH=['src/SConstruct','demo/SConstruct']

if bool(sandbox)!=0:
    SC_PATH=['src/SConstruct','sandbox/SConstruct']


if bool(cleanall)!=0:
    commit=ARGUMENTS.get('enableCommit',0)
    print 'scons: removed *~ file'+ commands.getoutput('rm -rf */*~')
    print 'scons: removed *~ file'+ commands.getoutput('rm -rf */*/*~')
    env.SetOption("clean",1)
 
if env.GetOption("clean"):
    commit=ARGUMENTS.get('enableCommit',0)
    SC_PATH=['src/SConstruct','demo/SConstruct','sandbox/SConstruct']

if bool(doxy)!=0:
    print 'Updating doxygen documentation'
    print commands.getoutput('doxygen doxy.conf')

   
if bool(commit)!=0:
    COMMENT=raw_input("Enter a commit comment: ")
    CMMND1='hg commit -m "'+COMMENT+': DOLFWAVE '+env["version"]+\
            '" -u "N.Lopes"'
    print CMMND1
    print commands.getoutput(CMMND1)

if bool(release)!=0:
    CMMND1='hg archive -t "tgz" '+env["projectname"]+env["version"]+'.tgz'
    print CMMND1
    print commands.getoutput(CMMND1)
    

SConscript(SC_PATH)

def help():
    print '\n'+env["projectname"]+' '+env["version"]
    path_lib = '"' + path + '/src: $LD_LIBRARY_PATH"' 
    print '\n You will need to set library path \n'
    print '   export LD_LIBRARY_PATH=' + path_lib +'\n'
    path_lib = '"' + path + '/src:' + '$DYLD_LIBRARY_PATH"' 
    print '\n You should update your PATH for some of the tools \n'
    print ' export PATH='+ path + '/tools/run_and_log:$PATH'
    print ' Or'
    print '   source dolwave.conf \n'


if not env.GetOption("clean"):
    import atexit
    atexit.register(help)


