#Long command line fix for mingw on windows
class ourSpawn:
	def ourspawn(self, sh, escape, cmd, args, env):
		newargs = ' '.join(args[1:])
		cmdline = cmd + " " + newargs
		startupinfo = subprocess.STARTUPINFO()
		startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
		proc = subprocess.Popen(cmdline, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
			stderr=subprocess.PIPE, startupinfo=startupinfo, shell=False, env=env)
		data, err = proc.communicate()
		rv = proc.wait()
		if rv:
			print("=====")
			print(err)
			print("=====")
		return rv
def SetupSpawn(env):
	buf = ourSpawn()
	buf.ourenv = env
	env['SPAWN'] = buf.ourspawn

env = Environment(
	tools = ['mingw'],
	CXXFLAGS = ['-O3','-msse','-msse2','-ffast-math'],
	LINKFLAGS = ['-mwindows','-static-libgcc','-static-libstdc++','-Wl,--large-address-aware'])

env.Program('sim.exe', Glob('src/*.cpp') + Glob('src/asm/*.S'))
# env.Program('fileworker.exe', Glob('src/worker/*.cpp'))