SConscript 6.5 KB

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