SConscript 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. Import('RTT_ROOT')
  2. Import('rtconfig')
  3. from building import *
  4. # The set of source files associated with this SConscript file.
  5. dfs = Split("""
  6. src/dfs.c
  7. src/dfs_fs.c
  8. src/dfs_file.c
  9. src/dfs_posix.c
  10. """)
  11. # DFS-ELMFAT options
  12. elmfat = Split("""
  13. filesystems/elmfat/dfs_elm.c
  14. filesystems/elmfat/ff.c
  15. """)
  16. # DFS-ROMFS options
  17. romfs = Split("""
  18. filesystems/romfs/dfs_romfs.c
  19. """)
  20. if not GetDepend('DFS_ROMFS_ROOT'):
  21. romfs = romfs + Split('filesystems/romfs/romfs.c')
  22. # DFS-RAMFS options
  23. ramfs = Split("""
  24. filesystems/ramfs/dfs_ramfs.c
  25. """)
  26. # DFS-DeviceFS options
  27. devfs = Split("""
  28. filesystems/devfs/devfs.c
  29. filesystems/devfs/console.c
  30. """)
  31. # DFS-YAFFS2 options
  32. yaffs2_src = Split("""
  33. filesystems/yaffs2/dfs_yaffs2.c
  34. filesystems/yaffs2/yaffs_osglue.c
  35. filesystems/yaffs2/yaffs_nandcfg.c
  36. filesystems/yaffs2/yaffs/yaffs_allocator.c
  37. filesystems/yaffs2/yaffs/yaffs_bitmap.c
  38. filesystems/yaffs2/yaffs/yaffs_checkptrw.c
  39. filesystems/yaffs2/yaffs/yaffs_ecc.c
  40. filesystems/yaffs2/yaffs/yaffs_guts.c
  41. filesystems/yaffs2/yaffs/yaffs_nameval.c
  42. filesystems/yaffs2/yaffs/yaffs_nand.c
  43. filesystems/yaffs2/yaffs/yaffs_packedtags1.c
  44. filesystems/yaffs2/yaffs/yaffs_packedtags2.c
  45. filesystems/yaffs2/yaffs/yaffs_summary.c
  46. filesystems/yaffs2/yaffs/yaffs_tagscompat.c
  47. filesystems/yaffs2/yaffs/yaffs_verify.c
  48. filesystems/yaffs2/yaffs/yaffs_yaffs1.c
  49. filesystems/yaffs2/yaffs/yaffs_yaffs2.c
  50. filesystems/yaffs2/yaffs/direct/yaffs_attribs.c
  51. filesystems/yaffs2/yaffs/direct/yaffs_hweight.c
  52. filesystems/yaffs2/yaffs/direct/yaffs_nandif.c
  53. filesystems/yaffs2/yaffs/direct/yaffs_qsort.c
  54. filesystems/yaffs2/yaffs/direct/yaffsfs.c
  55. """)
  56. nfs = Split('''
  57. filesystems/nfs/mount_clnt.c
  58. filesystems/nfs/mount_xdr.c
  59. filesystems/nfs/nfs_clnt.c
  60. filesystems/nfs/nfs_xdr.c
  61. filesystems/nfs/dfs_nfs.c
  62. filesystems/nfs/rpc/auth_none.c
  63. filesystems/nfs/rpc/clnt_generic.c
  64. filesystems/nfs/rpc/clnt_udp.c
  65. filesystems/nfs/rpc/rpc_prot.c
  66. filesystems/nfs/rpc/pmap.c
  67. filesystems/nfs/rpc/xdr.c
  68. filesystems/nfs/rpc/xdr_mem.c
  69. ''')
  70. uffs = Split('''
  71. filesystems/uffs/src/uffs/uffs_badblock.c
  72. filesystems/uffs/src/uffs/uffs_blockinfo.c
  73. filesystems/uffs/src/uffs/uffs_buf.c
  74. filesystems/uffs/src/uffs/uffs_debug.c
  75. filesystems/uffs/src/uffs/uffs_device.c
  76. filesystems/uffs/src/uffs/uffs_ecc.c
  77. filesystems/uffs/src/uffs/uffs_crc.c
  78. filesystems/uffs/src/uffs/uffs_fd.c
  79. filesystems/uffs/src/uffs/uffs_find.c
  80. filesystems/uffs/src/uffs/uffs_flash.c
  81. filesystems/uffs/src/uffs/uffs_fs.c
  82. filesystems/uffs/src/uffs/uffs_init.c
  83. filesystems/uffs/src/uffs/uffs_mem.c
  84. filesystems/uffs/src/uffs/uffs_mtb.c
  85. filesystems/uffs/src/uffs/uffs_pool.c
  86. filesystems/uffs/src/uffs/uffs_public.c
  87. filesystems/uffs/src/uffs/uffs_tree.c
  88. filesystems/uffs/src/uffs/uffs_utils.c
  89. filesystems/uffs/src/uffs/uffs_version.c
  90. filesystems/uffs/dfs_uffs.c
  91. filesystems/uffs/uffs_nandif.c
  92. filesystems/uffs/uffs_rtthread.c
  93. ''')
  94. jffs2 = Split('''
  95. filesystems/jffs2/dfs_jffs2.c
  96. filesystems/jffs2/porting.c
  97. filesystems/jffs2/cyg/compress/src/adler32.c
  98. filesystems/jffs2/cyg/compress/src/compress.c
  99. filesystems/jffs2/cyg/compress/src/deflate.c
  100. filesystems/jffs2/cyg/compress/src/infback.c
  101. filesystems/jffs2/cyg/compress/src/inffast.c
  102. filesystems/jffs2/cyg/compress/src/inflate.c
  103. filesystems/jffs2/cyg/compress/src/inftrees.c
  104. filesystems/jffs2/cyg/compress/src/trees.c
  105. filesystems/jffs2/cyg/compress/src/uncompr.c
  106. filesystems/jffs2/cyg/compress/src/zutil.c
  107. filesystems/jffs2/cyg/crc/crc16.c
  108. filesystems/jffs2/cyg/crc/crc32.c
  109. filesystems/jffs2/cyg/crc/posix_crc.c
  110. filesystems/jffs2/kernel/rbtree.c
  111. filesystems/jffs2/src/build.c
  112. filesystems/jffs2/src/compr.c
  113. filesystems/jffs2/src/compr_rtime.c
  114. filesystems/jffs2/src/compr_rubin.c
  115. filesystems/jffs2/src/compr_zlib.c
  116. filesystems/jffs2/src/debug.c
  117. filesystems/jffs2/src/dir-ecos.c
  118. filesystems/jffs2/src/erase.c
  119. filesystems/jffs2/src/flashio.c
  120. filesystems/jffs2/src/fs-ecos.c
  121. filesystems/jffs2/src/gc.c
  122. filesystems/jffs2/src/gcthread.c
  123. filesystems/jffs2/src/malloc-ecos.c
  124. filesystems/jffs2/src/nodelist.c
  125. filesystems/jffs2/src/nodemgmt.c
  126. filesystems/jffs2/src/read.c
  127. filesystems/jffs2/src/readinode.c
  128. filesystems/jffs2/src/scan.c
  129. filesystems/jffs2/src/write.c
  130. ''')
  131. src_local = dfs
  132. CPPDEFINES = []
  133. # The set of source files associated with this SConscript file.
  134. path = [RTT_ROOT + '/components/dfs', RTT_ROOT + '/components/dfs/include']
  135. if GetDepend('RT_USING_DFS_YAFFS2'):
  136. src_local = src_local + yaffs2_src
  137. path = path + [RTT_ROOT + '/components/dfs/filesystems/yaffs2/yaffs', \
  138. RTT_ROOT + '/components/dfs/filesystems/yaffs2/yaffs/direct' ]
  139. if GetDepend('RT_USING_DFS_ELMFAT'):
  140. if GetDepend('RT_DFS_ELM_USE_LFN'):
  141. if GetDepend('RT_DFS_ELM_CODE_PAGE_FILE'):
  142. elmfat += ['filesystems/elmfat/option/ccfile.c']
  143. else:
  144. if GetConfigValue('RT_DFS_ELM_CODE_PAGE') == 932:
  145. elmfat += ['filesystems/elmfat/option/cc932.c']
  146. elif GetConfigValue('RT_DFS_ELM_CODE_PAGE') == 936:
  147. elmfat += ['filesystems/elmfat/option/cc936.c']
  148. elif GetConfigValue('RT_DFS_ELM_CODE_PAGE') == 949:
  149. elmfat += ['filesystems/elmfat/option/cc949.c']
  150. elif GetConfigValue('RT_DFS_ELM_CODE_PAGE') == 950:
  151. elmfat += ['filesystems/elmfat/option/cc950.c']
  152. else:
  153. elmfat += ['filesystems/elmfat/option/ccsbcs.c']
  154. src_local = src_local + elmfat
  155. if GetDepend(['RT_USING_DFS_NFS', 'RT_USING_LWIP']):
  156. src_local = src_local + nfs
  157. path = path + [RTT_ROOT + '/components/dfs/filesystems/nfs']
  158. if GetDepend('RT_USING_DFS_ROMFS'):
  159. src_local = src_local + romfs
  160. path = path + [RTT_ROOT + '/components/dfs/filesystems/romfs']
  161. if GetDepend('RT_USING_DFS_RAMFS'):
  162. src_local = src_local + ramfs
  163. path = path + [RTT_ROOT + '/components/dfs/filesystems/ramfs']
  164. if GetDepend('RT_USING_DFS_DEVFS'):
  165. src_local = src_local + devfs
  166. path = path + [RTT_ROOT + '/components/dfs/filesystems/devfs']
  167. if GetDepend('RT_USING_DFS_UFFS'):
  168. src_local = src_local + uffs
  169. path = path + [RTT_ROOT + '/components/dfs/filesystems/uffs/src/inc', \
  170. RTT_ROOT + '/components/dfs/filesystems/uffs'] #, \
  171. # RTT_ROOT + '/components/dfs/filesystems/uffs/flash']
  172. if GetDepend('RT_USING_DFS_JFFS2'):
  173. src_local = src_local + jffs2
  174. path = path + [RTT_ROOT + '/components/dfs/filesystems/jffs2/src', \
  175. RTT_ROOT + '/components/dfs/filesystems/jffs2/kernel', \
  176. RTT_ROOT + '/components/dfs/filesystems/jffs2/include', \
  177. RTT_ROOT + '/components/dfs/filesystems/jffs2', \
  178. RTT_ROOT + '/components/dfs/filesystems/jffs2/cyg/compress']
  179. group = DefineGroup('Filesystem', src_local, depend = ['RT_USING_DFS'], CPPPATH = path, CPPDEFINES = CPPDEFINES)
  180. Return('group')