detect.py 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. import os
  2. import sys
  3. import string
  4. def is_active():
  5. return True
  6. def get_name():
  7. return "Flash"
  8. def can_build():
  9. #import os
  10. if (not os.environ.has_key("FLASCC_ROOT")):
  11. return False
  12. return True
  13. def get_opts():
  14. return []
  15. def get_flags():
  16. return [
  17. ('lua', 'no'),
  18. ('tools', 'no'),
  19. ('nedmalloc', 'no'),
  20. ('theora', 'no'),
  21. ('squirrel', 'yes'),
  22. ('gdscript', 'yes'),
  23. ('minizip', 'no'),
  24. ('vorbis', 'yes'),
  25. ('squish', 'yes'),
  26. ('speex', 'yes'),
  27. ('xml', 'yes'),
  28. ('png', 'yes'),
  29. ('jpg', 'yes'),
  30. ('webp', 'yes'),
  31. ('dds', 'yes'),
  32. ('pvr', 'yes'),
  33. ('musepack', 'yes'),
  34. ('default_gui_theme', 'yes'),
  35. ('old_scenes', 'no'),
  36. ]
  37. def configure(env):
  38. ccroot = os.environ["FLASCC_ROOT"]
  39. if (ccroot.find("/cygdrive")==0):
  40. unit = ccroot[ ccroot.find("/") + 1 ]
  41. ccroot=ccroot.replace("/cygdrive/"+unit,unit+":")
  42. env['FLASCC_ROOT'] = ccroot
  43. if env['PLATFORM'] == 'win32':
  44. import methods
  45. env.Tool('mingw')
  46. #env['SPAWN'] = methods.win32_spawn
  47. env['ENV']['PATH'] = os.environ["PATH"];
  48. env.PrependENVPath('PATH', env['FLASCC_ROOT']+'/usr/bin')
  49. #os.environ['PATH'] = env['ENV']['PATH']
  50. env.Append(CPPPATH=['#platform/flash', '#platform/flash/include'])
  51. env.Append(LIBPATH=['#platform/flash/lib'])
  52. env['CC'] = ccroot+'/sdk/usr/bin/gcc'
  53. env['CXX'] = ccroot+'/sdk/usr/bin/g++'
  54. env['AR'] = ccroot+'/sdk/usr/bin/ar'
  55. env['LINK'] = ccroot+'/sdk/usr/bin/gcc'
  56. env['OBJSUFFIX'] = ".fl.o"
  57. env['LIBSUFFIX'] = ".fl.a"
  58. env['PROGSUFFIX'] = "_flash"
  59. #env["CXX"]='gcc-4'
  60. import string
  61. #include path
  62. env['CCFLAGS'] = string.split('-fno-strict-aliasing -fno-rtti -fno-common -finline-limit=30000 -fno-exceptions -DNO_SAFE_CAST -DNO_THREADS -DNO_NETWORK -DNO_STATVFS')
  63. #env.Append(LDPATH=[ld_path])
  64. env.Append(LIBS=['m', 'Flash++', 'AS3++', 'GL'])
  65. env.Append(LINKFLAGS=['-symbol-abc=platform/flash/Console.abc'])
  66. #env["LINKFLAGS"]= string.split(" -g --sysroot="+ld_sysroot+" -Wl,--no-undefined -Wl,-z,noexecstack -lsupc++ ")
  67. #env.Append(CXXFLAGS=['-fno-access-control'])
  68. if (env["target"]=="release"):
  69. env.Append(CCFLAGS=['-O4', '-ffast-math','-fomit-frame-pointer'])
  70. env['OBJSUFFIX'] = ".fo.o"
  71. env['LIBSUFFIX'] = ".fo.a"
  72. env['PROGSUFFIX'] = "_opt_flash"
  73. elif (env["target"]=="debug"):
  74. env.Append(CCFLAGS=['-D_DEBUG', '-g0', '-Wall', '-O0', '-DDEBUG_ENABLED'])
  75. env.Append(CPPFLAGS=['-DDEBUG_MEMORY_ALLOC'])
  76. env.Append(CPPFLAGS=['-DFLASH_ENABLED', '-DGLES1_ENABLED', '-DNO_FCNTL', '-DUNIX_ENABLED'])
  77. # env.Append(CPPFLAGS=['-DANDROID_ENABLED', '-DUNIX_ENABLED','-DMPC_FIXED_POINT'])