#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
import SCons
import shutil

Import('build')

if int(build.flags['mediafoundation']):
    env = build.env.Clone()
    conf = Configure(env)
    env = conf.Finish()
    env["LINKFLAGS"].remove("/entry:mainCRTStartup")
    # TODO(rryan): Why do we do this?
    if build.machine_is_64bit:
        env["LINKFLAGS"].remove("/subsystem:windows,5.02")
    else:
        env["LINKFLAGS"].remove("/subsystem:windows,5.01")
    results = ["ssmediafoundation_bin"]
    ssmediafoundation_bin = env.SharedLibrary('soundsourcemediafoundation',
        ['soundsourcemediafoundation.cpp',
         'sources/audiosource.cpp',
         'sources/metadatasourcetaglib.cpp',
         'sources/soundsource.cpp',
         'sources/soundsourceplugin.cpp',
         'util/audiosignal.cpp',
         'util/readaheadsamplebuffer.cpp',
         'util/samplebuffer.cpp',
         'util/sample.cpp',
         'util/logger.cpp',
         'util/indexrange.cpp',
         'track/albuminfo.cpp',
         'track/trackinfo.cpp',
         'track/trackmetadata.cpp',
         'track/trackmetadatataglib.cpp',
         'track/tracknumbers.cpp',
         'track/replaygain.cpp',
         'track/bpm.cpp' ],
        LINKCOM  = [env['LINKCOM'],
            'mt.exe -nologo -manifest ${TARGET}.manifest -outputresource:$TARGET;1'])
    if build.bundle_pdbs:
        ssmediafoundation_pdb = env.SideEffect('soundsourcemediafoundation.pdb', ssmediafoundation_bin)
        results.append("ssmediafoundation_pdb")
    Return(results)
else:
    Return("")
