2
0

detect.py 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import os
  2. import sys
  3. def is_active():
  4. return False
  5. def get_name():
  6. return "iSIM"
  7. def can_build():
  8. import sys
  9. if sys.platform == 'darwin':
  10. return True
  11. return False
  12. def get_opts():
  13. return [
  14. ('ISIMPLATFORM', 'name of the iphone platform', 'iPhoneSimulator'),
  15. ('ISIMPATH', 'the path to iphone toolchain', '/Developer/Platforms/${ISIMPLATFORM}.platform'),
  16. ('ISIMSDK', 'path to the iphone SDK', '$ISIMPATH/Developer/SDKs/${ISIMPLATFORM}4.3.sdk'),
  17. ]
  18. def get_flags():
  19. return [
  20. ('lua', 'no'),
  21. ('tools', 'yes'),
  22. ('nedmalloc', 'no'),
  23. ]
  24. def configure(env):
  25. env.Append(CPPPATH=['#platform/iphone'])
  26. env['OBJSUFFIX'] = ".isim.o"
  27. env['LIBSUFFIX'] = ".isim.a"
  28. env['PROGSUFFIX'] = ".isim"
  29. env['ENV']['PATH'] = env['ISIMPATH']+"/Developer/usr/bin/:"+env['ENV']['PATH']
  30. env['CC'] = '$ISIMPATH/Developer/usr/bin/gcc'
  31. env['CXX'] = '$ISIMPATH/Developer/usr/bin/g++'
  32. env['AR'] = 'ar'
  33. import string
  34. env['CCFLAGS'] = string.split('-arch i386 -fobjc-abi-version=2 -fobjc-legacy-dispatch -fmessage-length=0 -fpascal-strings -fasm-blocks -Wall -D__IPHONE_OS_VERSION_MIN_REQUIRED=40100 -isysroot $ISIMSDK -mmacosx-version-min=10.6 -DCUSTOM_MATRIX_TRANSFORM_H=\\\"build/iphone/matrix4_iphone.h\\\" -DCUSTOM_VECTOR3_TRANSFORM_H=\\\"build/iphone/vector3_iphone.h\\\"')
  35. env.Append(LINKFLAGS=['-arch', 'i386',
  36. #'-miphoneos-version-min=2.2.1',
  37. '-isysroot', '$ISIMSDK',
  38. '-mmacosx-version-min=10.6',
  39. '-Xlinker',
  40. '-objc_abi_version',
  41. '-Xlinker', '2',
  42. '-framework', 'Foundation',
  43. '-framework', 'UIKit',
  44. '-framework', 'IOKit',
  45. '-framework', 'CoreGraphics',
  46. '-framework', 'OpenGLES',
  47. '-framework', 'QuartzCore',
  48. '-framework', 'AudioToolbox',
  49. '-F$ISIMSDK',
  50. ])
  51. env.Append(CPPPATH = ['$ISIMSDK/System/Library/Frameworks/OpenGLES.framework/Headers'])
  52. if (env["target"]=="release"):
  53. env.Append(CCFLAGS=['-O3', '-ffast-math'])
  54. env.Append(LINKFLAGS=['-O3', '-ffast-math'])
  55. env['OBJSUFFIX'] = "_opt"+env['OBJSUFFIX']
  56. env['LIBSUFFIX'] = "_opt"+env['LIBSUFFIX']
  57. elif (env["target"]=="debug"):
  58. env.Append(CCFLAGS=['-DDEBUG', '-D_DEBUG', '-gdwarf-2', '-Wall', '-O0', '-DDEBUG_ENABLED'])
  59. env.Append(CPPFLAGS=['-DDEBUG_MEMORY_ALLOC'])
  60. elif (env["target"]=="profile"):
  61. env.Append(CCFLAGS=['-g','-pg'])
  62. env.Append(LINKFLAGS=['-pg'])
  63. env['ENV']['MACOSX_DEPLOYMENT_TARGET'] = '10.6'
  64. env['ENV']['CODESIGN_ALLOCATE'] = '/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate'
  65. env.Append(CPPFLAGS=['-DIPHONE_ENABLED', '-DUNIX_ENABLED', '-DGLES2_ENABLED', '-fno-exceptions'])
  66. if env['lua'] == "yes":
  67. env.Append(CCFLAGS=['-DLUA_USE_FLOAT'])