text: """Functions used to generate source files during build time
  
  All such functions are invoked in a subprocess on Windows to prevent build flakiness.
  
  """
  from platform_methods import subprocess_main
  from collections import OrderedDict
  
  
  def make_splash(target, source, env):
      src = source[0]
      dst = target[0]
  
      with open(src, "rb") as f:
          buf = f.read()
  
      with open(dst, "w") as g:
          g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n")
          g.write("#ifndef BOOT_SPLASH_H\n")
          g.write("#define BOOT_SPLASH_H\n")
          g.write("static const Color boot_splash_bg_color = Color(0.14, 0.14, 0.14);\n")
          g.write("static const unsigned char boot_splash_png[] = {\n")
          for i in range(len(buf)):
              g.write(str(buf[i]) + ",\n")
          g.write("};\n")
          g.write("#endif")
  
  
  def make_splash_editor(target, source, env):
      src = source[0]
      dst = target[0]
  
      with open(src, "rb") as f:
          buf = f.read()
  
      with open(dst, "w") as g:
          g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n")
          g.write("#ifndef BOOT_SPLASH_EDITOR_H\n")
          g.write("#define BOOT_SPLASH_EDITOR_H\n")
          g.write("static const Color boot_splash_editor_bg_color = Color(0.14, 0.14, 0.14);\n")
          g.write("static const unsigned char boot_splash_editor_png[] = {\n")
          for i in range(len(buf)):
              g.write(str(buf[i]) + ",\n")
          g.write("};\n")
          g.write("#endif")
  
  
  def make_app_icon(target, source, env):
      src = source[0]
      dst = target[0]
  
      with open(src, "rb") as f:
          buf = f.read()
  
      with open(dst, "w") as g:
          g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n")
          g.write("#ifndef APP_ICON_H\n")
          g.write("#define APP_ICON_H\n")
          g.write("static const unsigned char app_icon_png[] = {\n")
          for i in range(len(buf)):
              g.write(str(buf[i]) + ",\n")
          g.write("};\n")
          g.write("#endif")
  
  
  if __name__ == "__main__":
      subprocess_main(globals())
  