SConscript 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. # RT-Thread building script for JerryScript
  2. import os
  3. from building import *
  4. # get current directory
  5. cwd = GetCurrentDir()
  6. jerry_core_dir = 'jerryscript/jerry-core'
  7. jerry_core = Glob(jerry_core_dir + '/*.c')
  8. jerry_core += Glob(jerry_core_dir + '/api/*.c')
  9. jerry_core += Glob(jerry_core_dir + '/debugger/*.c')
  10. jerry_core += Glob(jerry_core_dir + '/ecma/base/*.c')
  11. jerry_core += Glob(jerry_core_dir + '/ecma/builtin-objects/*.c')
  12. jerry_core += Glob(jerry_core_dir + '/ecma/builtin-objects/typedarray/*.c')
  13. jerry_core += Glob(jerry_core_dir + '/ecma/operations/*.c')
  14. jerry_core += Glob(jerry_core_dir + '/jcontext/*.c')
  15. jerry_core += Glob(jerry_core_dir + '/jmem/*.c')
  16. jerry_core += Glob(jerry_core_dir + '/jrt/*.c')
  17. jerry_core += Glob(jerry_core_dir + '/lit/*.c')
  18. jerry_core += Glob(jerry_core_dir + '/parser/js/*.c')
  19. jerry_core += Glob(jerry_core_dir + '/parser/regexp/*.c')
  20. jerry_core += Glob(jerry_core_dir + '/vm/*.c')
  21. jerry_ext_dir = 'jerryscript/jerry-ext'
  22. jerry_ext = Glob(jerry_ext_dir + '/arg/*.c')
  23. jerry_ext += Glob(jerry_ext_dir + '/handler/*.c')
  24. jerry_ext += Glob(jerry_ext_dir + '/include/*.c')
  25. jerry_ext += Glob(jerry_ext_dir + '/module/*.c')
  26. src = jerry_core + jerry_ext
  27. CPPPATH = [cwd]
  28. jerry_core_dir = cwd + '/jerryscript/jerry-core'
  29. CPPPATH += [jerry_core_dir + '/api']
  30. CPPPATH += [jerry_core_dir + '/debugger']
  31. CPPPATH += [jerry_core_dir + '/ecma/base']
  32. CPPPATH += [jerry_core_dir + '/ecma/builtin-objects']
  33. CPPPATH += [jerry_core_dir + '/ecma/builtin-objects/typedarray']
  34. CPPPATH += [jerry_core_dir + '/ecma/operations']
  35. CPPPATH += [jerry_core_dir + '/include']
  36. CPPPATH += [jerry_core_dir + '/jcontext']
  37. CPPPATH += [jerry_core_dir + '/jmem']
  38. CPPPATH += [jerry_core_dir + '/jrt']
  39. CPPPATH += [jerry_core_dir + '/lit']
  40. CPPPATH += [jerry_core_dir + '/parser/js']
  41. CPPPATH += [jerry_core_dir + '/parser/regexp']
  42. CPPPATH += [jerry_core_dir + '/vm']
  43. jerry_ext_dir = cwd + '/jerryscript/jerry-ext'
  44. CPPPATH += [jerry_ext_dir + '/arg']
  45. CPPPATH += [jerry_ext_dir + '/handler']
  46. CPPPATH += [jerry_ext_dir + '/include']
  47. CPPPATH += [jerry_ext_dir + '/module']
  48. LOCAL_CCFLAGS = ''
  49. import rtconfig
  50. if rtconfig.CROSS_TOOL == 'keil':
  51. LOCAL_CCFLAGS += ' --gnu'
  52. elif rtconfig.CROSS_TOOL == 'gcc':
  53. LOCAL_CCFLAGS += ' -std=c11'
  54. CPPDEFINES = ['JERRY_JS_PARSER', 'JERRY_ENABLE_EXTERNAL_CONTEXT']
  55. if GetDepend('PKG_JERRY_ENABLE_ERROR_MESSAGES'):
  56. CPPDEFINES += ['JERRY_ENABLE_ERROR_MESSAGES']
  57. if GetDepend('PKG_JERRY_ENABLE_LOGGING'):
  58. CPPDEFINES += ['JERRY_ENABLE_LOGGING']
  59. if GetDepend('PKG_JMEM_STATS'):
  60. CPPDEFINES += ['JMEM_STATS']
  61. if GetDepend('PKG_CONFIG_DISABLE_ES2015'):
  62. CPPDEFINES += ['CONFIG_DISABLE_ES2015']
  63. group = DefineGroup('JerryScript', src, depend = ['PKG_USING_JERRYSCRIPT'], CPPPATH = CPPPATH,
  64. CPPDEFINES = CPPDEFINES, LOCAL_CCFLAGS = LOCAL_CCFLAGS)
  65. group = group + SConscript(os.path.join('rtthread-port', 'SConscript'))
  66. Return('group')