SConscript 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. from building import *
  2. # get current directory
  3. cwd = GetCurrentDir()
  4. jerry_core_dir = cwd + '/jerryscript/jerry-core'
  5. SOURCE_CORE = Glob(jerry_core_dir + '/*.c')
  6. SOURCE_CORE_API = Glob(jerry_core_dir + '/api/*.c')
  7. SOURCE_CORE_DEBUG = Glob(jerry_core_dir + '/debugger/*.c')
  8. SOURCE_CORE_ECMA_BASE = Glob(jerry_core_dir + '/ecma/base/*.c')
  9. SOURCE_CORE_ECMA_BUILTINS = Glob(jerry_core_dir + '/ecma/builtin-objects/*.c')
  10. SOURCE_CORE_ECMA_BUILTINS_TYPEDARRAY = Glob(jerry_core_dir + '/ecma/builtin-objects/typedarray/*.c')
  11. SOURCE_CORE_ECMA_OPERATIONS = Glob(jerry_core_dir + '/ecma/operations/*.c')
  12. SOURCE_CORE_JCONTEXT = Glob(jerry_core_dir + '/jcontext/*.c')
  13. SOURCE_CORE_JMEM = Glob(jerry_core_dir + '/jmem/*.c')
  14. SOURCE_CORE_JRT = Glob(jerry_core_dir + '/jrt/*.c')
  15. SOURCE_CORE_LIT = Glob(jerry_core_dir + '/lit/*.c')
  16. SOURCE_CORE_PARSER_JS = Glob(jerry_core_dir + '/parser/js/*.c')
  17. SOURCE_CORE_PARSER_REGEXP = Glob(jerry_core_dir + '/parser/regexp/*.c')
  18. SOURCE_CORE_VM = Glob(jerry_core_dir + '/vm/*.c')
  19. SOURCE_CORE_PORT = Glob(cwd + '/rtthread-port/*.c')
  20. jerry_core = SOURCE_CORE
  21. jerry_core += SOURCE_CORE_API
  22. jerry_core += SOURCE_CORE_DEBUG
  23. jerry_core += SOURCE_CORE_ECMA_BASE
  24. jerry_core += SOURCE_CORE_ECMA_BUILTINS
  25. jerry_core += SOURCE_CORE_ECMA_BUILTINS_TYPEDARRAY
  26. jerry_core += SOURCE_CORE_ECMA_OPERATIONS
  27. jerry_core += SOURCE_CORE_JCONTEXT
  28. jerry_core += SOURCE_CORE_JMEM
  29. jerry_core += SOURCE_CORE_JRT
  30. jerry_core += SOURCE_CORE_LIT
  31. jerry_core += SOURCE_CORE_PARSER_JS
  32. jerry_core += SOURCE_CORE_PARSER_REGEXP
  33. jerry_core += SOURCE_CORE_PORT
  34. jerry_core += SOURCE_CORE_VM
  35. jerry_ext_dir = cwd + '/jerryscript/jerry-ext'
  36. SOURCE_EXT_ARG = Glob(jerry_ext_dir + '/arg/*.c')
  37. SOURCE_EXT_HANDLER = Glob(jerry_ext_dir + '/handler/*.c')
  38. SOURCE_EXT_INCLUDE = Glob(jerry_ext_dir + '/include/*.c')
  39. SOURCE_EXT_MODULE = Glob(jerry_ext_dir + '/module/*.c')
  40. jerry_ext = SOURCE_EXT_ARG + SOURCE_EXT_HANDLER + SOURCE_EXT_INCLUDE + SOURCE_EXT_MODULE
  41. src = jerry_core + jerry_ext
  42. path = [cwd]
  43. path += [cwd + '/rtthread-port']
  44. path += [jerry_core_dir + '/api']
  45. path += [jerry_core_dir + '/debugger']
  46. path += [jerry_core_dir + '/ecma/base']
  47. path += [jerry_core_dir + '/ecma/builtin-objects']
  48. path += [jerry_core_dir + '/ecma/builtin-objects/typedarray']
  49. path += [jerry_core_dir + '/ecma/operations']
  50. path += [jerry_core_dir + '/include']
  51. path += [jerry_core_dir + '/jcontext']
  52. path += [jerry_core_dir + '/jmem']
  53. path += [jerry_core_dir + '/jrt']
  54. path += [jerry_core_dir + '/lit']
  55. path += [jerry_core_dir + '/parser/js']
  56. path += [jerry_core_dir + '/parser/regexp']
  57. path += [jerry_core_dir + '/vm']
  58. path += [jerry_ext_dir + '/arg']
  59. path += [jerry_ext_dir + '/handler']
  60. path += [jerry_ext_dir + '/include']
  61. path += [jerry_ext_dir + '/module']
  62. LOCAL_CCFLAGS = ''
  63. import rtconfig
  64. if rtconfig.CROSS_TOOL == 'keil':
  65. LOCAL_CCFLAGS += ' --gnu'
  66. LOCAL_CPPDEFINES = ['JERRY_JS_PARSER', 'JERRY_ENABLE_ERROR_MESSAGES']
  67. group = DefineGroup('JerryScript', src, depend = ['PKG_USING_JERRYSCRIPT'], CPPPATH = path,
  68. LOCAL_CPPDEFINES = LOCAL_CPPDEFINES, LOCAL_CCFLAGS = LOCAL_CCFLAGS)
  69. Return('group')