detect.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. import os
  2. import sys
  3. import string
  4. def is_active():
  5. return True
  6. def get_name():
  7. return "WinRT"
  8. def can_build():
  9. if (os.name=="nt"):
  10. #building natively on windows!
  11. if (os.getenv("VSINSTALLDIR")):
  12. return True
  13. return False
  14. def get_opts():
  15. return []
  16. def get_flags():
  17. return []
  18. def configure(env):
  19. env.Append(CPPPATH=['#platform/winrt', '#platform/winrt/include'])
  20. env.Append(LINKFLAGS=['/MANIFEST:NO', '/NXCOMPAT', '/DYNAMICBASE', "kernel32.lib", '/MACHINE:X64', '/WINMD', '/APPCONTAINER', '/MANIFESTUAC:NO', '/ERRORREPORT:PROMPT', '/NOLOGO', '/TLBID:1'])
  21. env.Append(LIBPATH=['#platform/winrt/x64/lib'])
  22. if (env["target"]=="release"):
  23. env.Append(CCFLAGS=['/O2'])
  24. env.Append(LINKFLAGS=['/SUBSYSTEM:WINDOWS'])
  25. env.Append(LINKFLAGS=['/ENTRY:mainCRTStartup'])
  26. elif (env["target"]=="test"):
  27. env.Append(CCFLAGS=['/O2','/DDEBUG_ENABLED','/DD3D_DEBUG_INFO'])
  28. env.Append(LINKFLAGS=['/SUBSYSTEM:CONSOLE'])
  29. elif (env["target"]=="debug"):
  30. env.Append(CCFLAGS=['/Zi','/DDEBUG_ENABLED','/DD3D_DEBUG_INFO'])
  31. env.Append(LINKFLAGS=['/SUBSYSTEM:CONSOLE'])
  32. env.Append(LINKFLAGS=['/DEBUG', '/D_DEBUG'])
  33. elif (env["target"]=="profile"):
  34. env.Append(CCFLAGS=['-g','-pg'])
  35. env.Append(LINKFLAGS=['-pg'])
  36. env.Append(CCFLAGS=string.split('/MP /GS /wd"4453" /wd"28204" /Zc:wchar_t /Gm- /Od /fp:precise /D "_UNICODE" /D "UNICODE" /D "WINAPI_FAMILY=WINAPI_FAMILY_APP" /errorReport:prompt /WX- /Zc:forScope /RTC1 /Gd /MDd /EHsc /nologo'))
  37. env.Append(CXXFLAGS=string.split('/ZW'))
  38. env.Append(CCFLAGS=['/AI', os.environ['VCINSTALLDIR']+'\\vcpackages', '/AI', os.environ['WINDOWSSDKDIR']+'\\References\\CommonConfiguration\\Neutral'])
  39. #env.Append(CCFLAGS=['/Gd','/GR','/nologo', '/EHsc'])
  40. #env.Append(CXXFLAGS=['/TP', '/ZW'])
  41. #env.Append(CPPFLAGS=['/DMSVC', '/GR', ])
  42. ##env.Append(CCFLAGS=['/I'+os.getenv("WindowsSdkDir")+"/Include"])
  43. env.Append(CCFLAGS=['/DWINRT_ENABLED'])
  44. env.Append(CCFLAGS=['/DWINDOWS_ENABLED'])
  45. env.Append(CCFLAGS=['/DWINAPI_FAMILY=WINAPI_FAMILY_APP', '/D_WIN32_WINNT=0x0603', '/DNTDDI_VERSION=0x06030000'])
  46. env.Append(CCFLAGS=['/DRTAUDIO_ENABLED'])
  47. #env.Append(CCFLAGS=['/DWIN32'])
  48. env.Append(CCFLAGS=['/DTYPED_METHOD_BIND'])
  49. env.Append(CCFLAGS=['/DGLES2_ENABLED'])
  50. #env.Append(CCFLAGS=['/DGLES1_ENABLED'])
  51. LIBS=[
  52. #'winmm',
  53. 'libEGL',
  54. 'libGLESv2',
  55. 'libANGLE',
  56. #'kernel32','ole32','user32', 'advapi32'
  57. ]
  58. env.Append(LINKFLAGS=[p+".lib" for p in LIBS])
  59. import methods
  60. env.Append( BUILDERS = { 'GLSL120' : env.Builder(action = methods.build_legacygl_headers, suffix = 'glsl.h',src_suffix = '.glsl') } )
  61. env.Append( BUILDERS = { 'GLSL' : env.Builder(action = methods.build_glsl_headers, suffix = 'glsl.h',src_suffix = '.glsl') } )
  62. env.Append( BUILDERS = { 'HLSL9' : env.Builder(action = methods.build_hlsl_dx9_headers, suffix = 'hlsl.h',src_suffix = '.hlsl') } )
  63. env.Append( BUILDERS = { 'GLSL120GLES' : env.Builder(action = methods.build_gles2_headers, suffix = 'glsl.h',src_suffix = '.glsl') } )
  64. env['ENV'] = os.environ;