Import('env')

# Custom builder to generate file:
def builder_script_file(target, source, env):
    infile = file(source[0].abspath, 'r')
    outfile = file(target[0].abspath, 'w')
    for line in infile:
        line = line.rstrip('\r\n')
        if line.endswith("@TOPDIR@"):
            line = "TOPDIR=" + source[1].get_contents()
        elif line.endswith("@MODPY@"):
            line = "MODPY=" + source[2].get_contents()
        elif line.endswith("@PATHSEP@"):
            line = "PATHSEP=\"" + source[3].get_contents() + "\""
        print >> outfile, line
    outfile.close()
    infile.close()
    env.Execute(Chmod(str(target[0]), 0755))

env.Append(BUILDERS = {'ScriptFile': Builder(action=builder_script_file)})

if not env['wine'] and not env['wine64'] and env['PLATFORM'] == 'win32':
    bin = File('mdtpy.bat')
else:
    bin = env.ScriptFile("mdtpy.sh",
                         ["mdtpy.sh.in", env.Value(env.Dir('#').abspath),
                          env.Value(env['MODELLER_MODPY']),
                          env.Value(env['PATHSEP'])])
Return('bin')
