usrDepend.c
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:15k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* usrDepend.c - include dependency rules */
  2. /* Copyright 1992-2002 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 02h,08apr02,jmp  removed dependency between INCLUDE_NET_SYM_TBL and
  7.  INCLUDE_NET_INIT for simulators (SPR #75207).
  8. 02g,20feb02,mas  updated to support new SM components (SPR 73371)
  9. 02f,07dec01,wef  include USB configlettes.
  10. 02e,15nov01,nrv  including sysTffs.c when INCLUDE_TFFS is defined
  11. 02d,31oct01,gls  added INCLUDE_POSIX_PTHREADS to INCLUDE_POSIX_ALL
  12. 02c,03oct01,jkf  added INCLUDE_DISK_UTIL to INCLUDE_CONFIGURATION_5_2 and
  13.                  STANDALONE ifdef conditions, this pulls in ls, cd, etc.
  14. 02b,20jan99,cdp  removed support for old ARM libraries.
  15. 02a,16nov98,cdp  added support for ARM MPU and generic ARM CPUs without cache.
  16. 01x,20jan99,dbs  change VXCOM to COM
  17. 01w,18dec98,dbs  add VXCOM as separate item
  18. 01v,06nov98,dbs  add DCOM dependencies on C++
  19. 01w,02mar99,dbt  remove WDB if we are using a standalone image without network
  20.                  initialization and WDB needs network (fixed SPR #23450).
  21. 01v,08sep98,cth  changed default upload path for windview
  22. 01u,17apr98,nps  added WINDVIEW dependency on RBUFF.
  23. 01t,27jan98,cth  removed INCLUDE_RPC, added INCLUDE_WVUPLOAD_FILE, 
  24.  INCLUDE_WDB_TSFS within INCLUDE_WINDVIEW
  25. 01z,02jun98,dbt  INCLUDE_WDB no longer remove INCLUDE_DEBUG.
  26. 01y,21apr98,jpd  removed ARM-specific check against INCLUDE_PROTECT_VEC_TABLE.
  27. 01w,29apr98,dbt  removed RDB references (no longer supported).
  28. 01v,25mar98,dbt  added a line to define INCLUDE_NET_SYM_TBL if we define
  29.  INCLUDE_SYM_TBL_SYNC  (SPR #9052).
  30. 01u,19mar98,dbt  added more WDB dependencies.
  31. 01x,26mar97,cdp  Break cache/MMU codependence for ARM7TDMI_T.
  32. 01w,29jan97,gnn  Added a line to include the network if we do WDB_COMM_END.
  33. 01v,13feb97,jpd  define INCLUDE_MMU_FULL if INCLUDE_PROTECT_TEXT defined, add
  34.  ARM-specific check against INCLUDE_PROTECT_VEC_TABLE.
  35. 01u,30jan97,jpd  Break codependence of cache and MMU on ARM7TDMI to allow
  36.                  dummy cacheLib.
  37. 01t,23jan97,jpd  added co-dependency of cache and MMU for ARM.
  38. 01t,04feb98,dbt  added WDB dependencies.
  39. 01s,13dec96,elp  added INCLUDE_SYM_TBL_SYNC (loader, unloader and symTbl).
  40. 01r,03dec96,dbt  added #ifdef INCLUDE_ANSI_ALL and #ifdef INCLUDE_MIB2_ALL.
  41. 01q,06aug96,dbt  added the ifdef INCLUDE_POSIX_ALL (SPR #5524).
  42. 01p,26jul96,ms  WDB removes RDB and DEBUG. STAT_SYM_TBL includes SYM_TBL.
  43. 01o,19jul96,dbt  added the ifdef INCLUDE_CONFIGURATION_5_2 (SPR #5603).
  44. 01n,27jun96,dbt  added INCLUDE_SHELL depedency for INCLUDE_EXC_TASK and
  45.  INCLUDE_EXC_HANDLING (SPR #5787).
  46.  Updated copyright.
  47. 01m,10jun96,dbt  added INCLUDE_POSIX_MQ dependency for INCLUDE_SYM_TBL
  48.  (SPR 6335)
  49. 01l,27sep95,ms   add INCLUDE_NET if WDB uses network communication (SPR 4506)
  50. 01k,28mar95,kkk  added INCLUDE_IO_SYSTEM dependency for INCLUDE_TTY_DEV
  51. 01j,27mar95,jag  added INCLUDE_NFS_SERVER dependancy INCLUDE_RPC
  52. 01i,22aug94,dzb  cut INCLUDE_NETWORK and STANDALONE ties (SPR #1147).
  53. 01h,03apr94,smb  added INCLUDE_NFS dependency for INCLUDE_MIB_VXWORKS.
  54. 01g,07dec93,smb  added INCLUDE_ WINDVIEW dependancy INCLUDE_RPC
  55. 01f,16aug93,jmm  including rdb now includes loader and unloader
  56. 01e,27feb93,rdc  changed logic of check for MMU_BASIC and MMU_FULL to include
  57.  FULL support if both defined.
  58. 01d,14nov92,jcf  guarded against definition of both _MMU_BASIC and _MMU_FULL.
  59. 01c,14nov91,kdl  made USER_D_CACHE_ENABLE definition depend on INCLUDE_BP_5_0
  60.  and SM_OFF_BOARD (SPR #1801).
  61. 01b,31oct91,jcf  removed INCLUDE_68881 definition.
  62. 01a,18sep92,jcf  written.
  63. */
  64. /*
  65. DESCRIPTION
  66. This file is used to include all modules necessary given the desired
  67. configuration specified by configAll.h and config.h.  For instance 
  68. if INCLUDE_NFS is defined, and INCLUDE_RPC is not, then INCLUDE_RPC
  69. is automatically defined here.  This file is included by usrConfig.c.
  70. SEE ALSO: usrExtra.c
  71. NOMANUAL
  72. */
  73. #ifndef  __INCusrDependc 
  74. #define  __INCusrDependc 
  75. /* check include dependencies */
  76. #if defined(INCLUDE_MIB_VXWORKS)
  77. #define INCLUDE_NFS             /* nfs package */
  78. #endif /* INCLUDE_MIB_VXWORKS */
  79. #ifdef DOC /* include when building documentation */
  80. #define INCLUDE_SCSI
  81. #endif /* DOC */
  82. #ifdef INCLUDE_TFFS
  83. #include "sysTffs.c"      /* the BSP stub file, in the BSP directory */        
  84. #endif /* INCLUDE_TFFS */
  85. /* Begin including USB Configlettes */
  86. #ifdef INCLUDE_USB
  87.     #include "usbPciStub.c" 
  88. #endif
  89. #ifdef INCLUDE_USB_INIT
  90.     #include "../comps/src/usrUsbInit.c"
  91. #endif
  92. #ifdef INCLUDE_UHCI_INIT
  93.     #include "../comps/src/usrUsbHcdUhciInit.c"
  94. #endif
  95. #ifdef INCLUDE_OHCI_INIT
  96.     #include "../comps/src/usrUsbHcdOhciInit.c"
  97. #endif
  98. #ifdef INCLUDE_OHCI_PCI_INIT
  99.     #include "../comps/src/usrUsbPciOhciInit.c"
  100. #endif
  101. #ifdef INCLUDE_USBTOOL
  102.     #include "../comps/src/usrUsbTool.c"
  103. #endif
  104. #ifdef INCDLUE_USB_AUDIO_DEMO
  105.     #include "../comps/src/usrUsbAudioDemo.c"
  106. #endif
  107. #ifdef INCLUDE_USB_MOUSE_INIT
  108.     #include "../comps/src/usrUsbMseInit.c"
  109. #endif
  110. #ifdef INCLUDE_USB_KEYBOARD_INIT
  111.     #include "../comps/src/usrUsbKbdInit.c"
  112. #endif
  113. #ifdef INCLUDE_USB_PRINTER_INIT
  114.     #include "../comps/src/usrUsbPrnInit.c"
  115. #endif
  116. #ifdef INCLUDE_USB_SPEAKER_INIT
  117.     #include "../comps/src/usrUsbSpkrInit.c"
  118. #endif
  119. #ifdef INCLUDE_USB_MS_BULKONLY_INIT
  120.     #include "../comps/src/usrUsbBulkDevInit.c"
  121. #endif
  122. #ifdef INCLUDE_USB_MS_CBI_INIT
  123.     #include "../comps/src/usrUsbCbiUfiDevInit.c"
  124. #endif
  125. #ifdef INCLUDE_USB_PEGASUS_END_INIT
  126.     #include "../comps/src/usrUsbPegasusEndInit.c"
  127. #endif  
  128. /* end USB Configlettes */
  129. #ifdef  INCLUDE_CONFIGURATION_5_2
  130. #define INCLUDE_LOADER          /* object module loading */
  131. #define INCLUDE_NET_SYM_TBL     /* load symbol table from network */
  132. #define INCLUDE_RLOGIN          /* remote login */
  133. #define INCLUDE_SHELL           /* interactive c-expression interpreter */
  134. #define INCLUDE_SHOW_ROUTINES   /* show routines for system facilities*/
  135. #define INCLUDE_SPY             /* spyLib for task monitoring */
  136. #define INCLUDE_STARTUP_SCRIPT  /* execute start-up script */
  137. #define INCLUDE_STAT_SYM_TBL    /* create user-readable error status */
  138. #define INCLUDE_SYM_TBL         /* symbol table package */
  139. #define INCLUDE_TELNET          /* telnet-style remote login */
  140. #define INCLUDE_UNLOADER        /* object module unloading */
  141. #define INCLUDE_DEBUG           /* native debugging */
  142. #define INCLUDE_DISK_UTIL /* cd, mkdir, ls, xcopy, etc */
  143. #undef  INCLUDE_WDB             /* tornado debug agent */
  144. #endif  /* INCLUDE_CONFIGURATION_5_2 */
  145. /* Posix facilities */
  146. #ifdef  INCLUDE_POSIX_ALL
  147. #define INCLUDE_POSIX_AIO        /* POSIX async I/O support */
  148. #define INCLUDE_POSIX_AIO_SYSDRV /* POSIX async I/O system driver */
  149. #define INCLUDE_POSIX_FTRUNC     /* POSIX ftruncate routine */
  150. #define INCLUDE_POSIX_MEM        /* POSIX memory locking */
  151. #define INCLUDE_POSIX_MQ         /* POSIX message queue support */
  152. #define INCLUDE_POSIX_PTHREADS   /* POSIX pthreads support */
  153. #define INCLUDE_POSIX_SCHED      /* POSIX scheduling */
  154. #define INCLUDE_POSIX_SEM        /* POSIX semaphores */
  155. #define INCLUDE_POSIX_SIGNALS    /* POSIX queued signals */
  156. #define INCLUDE_POSIX_TIMERS     /* POSIX timers */
  157. #endif
  158. /* Ansi facilities */
  159. #ifdef INCLUDE_ANSI_ALL
  160. #define INCLUDE_ANSI_ASSERT /* ANSI-C assert library functionality */
  161. #define INCLUDE_ANSI_CTYPE /* ANSI-C ctype library functionality */
  162. #define INCLUDE_ANSI_LOCALE /* ANSI-C locale library functionality */
  163. #define INCLUDE_ANSI_MATH /* ANSI-C math library functionality */
  164. #define INCLUDE_ANSI_STDIO /* ANSI-C stdio library functionality */
  165. #define INCLUDE_ANSI_STDLIB /* ANSI-C stdlib library functionality */
  166. #define INCLUDE_ANSI_STRING /* ANSI-C string library functionality */
  167. #define INCLUDE_ANSI_TIME /* ANSI-C time library functionality */
  168. #endif
  169. #ifdef INCLUDE_MIB2_ALL
  170. #define INCLUDE_MIB2_SYSTEM /* the system group */
  171. #define INCLUDE_MIB2_TCP /* the TCP group */
  172. #define INCLUDE_MIB2_ICMP /* the ICMP group */
  173. #define INCLUDE_MIB2_UDP /* the UDP group */
  174. #define INCLUDE_MIB2_IF /* the interfaces group */
  175. #define INCLUDE_MIB2_AT /* the AT group */
  176. #define INCLUDE_MIB2_IP /* the IP group */
  177. #endif /* INCLUDE_MIB2_ALL */
  178. #ifdef INCLUDE_SYM_TBL_SYNC
  179. #define INCLUDE_WDB /* WDB debug agent */
  180. #define INCLUDE_LOADER /* object module loading */
  181. #define INCLUDE_SYM_TBL /* symbol table package */
  182. #define INCLUDE_UNLOADER /* object module unloading */
  183. #define INCLUDE_NET_SYM_TBL /* load symbol table from network */
  184. #endif /* INCLUDE_SYM_TBL_SYNC */
  185. #if     defined(INCLUDE_WINDVIEW)
  186. #define INCLUDE_RBUFF
  187. #if defined(INCLUDE_WVUPLOAD_ALL)
  188. #define INCLUDE_WVUPLOAD_FILE
  189. #define INCLUDE_WVUPLOAD_SOCK
  190. #define INCLUDE_WVUPLOAD_TSFSSOCK
  191. #endif
  192. #if    (!defined(INCLUDE_WVUPLOAD_SOCK) &&
  193.         !defined(INCLUDE_WVUPLOAD_TSFSSOCK) && 
  194. !defined(INCLUDE_WVUPLOAD_FILE))
  195. #define INCLUDE_WVUPLOAD_FILE
  196. #define INCLUDE_WVUPLOAD_TSFSSOCK
  197. #endif
  198. #if     defined (INCLUDE_WVUPLOAD_TSFSSOCK)
  199. #define INCLUDE_WDB_TSFS
  200. #endif
  201. #endif /* INCLUDE_WINDVIEW */
  202. #if     defined(INCLUDE_NFS_SERVER)
  203. #define INCLUDE_RPC             /* rpc required by nfs */
  204. #endif /* INCLUDE_NFS_SERVER  */
  205. #if     defined(INCLUDE_NFS)
  206. #define INCLUDE_RPC             /* rpc required by nfs */
  207. #endif /* INCLUDE_NFS */
  208. #if ((defined(INCLUDE_RPC) || defined(INCLUDE_NET_SYM_TBL)) 
  209.  && !defined(INCLUDE_NET_INIT))
  210. #if ((CPU != SIMNT) && (CPU != SIMSPARCSOLARIS))
  211. #define INCLUDE_NET_INIT /* net init required by rpc and net sym tbl */
  212. #endif /* (CPU != SIMNT) && (CPU != SIMSPARCSOLARIS) */
  213. #endif /* INCLUDE_RPC || INCLUDE_NET_SYM_TBL */
  214. #if defined(INCLUDE_WDB) && ((WDB_COMM_TYPE == WDB_COMM_NETWORK) || 
  215.                                  (WDB_COMM_TYPE == WDB_COMM_END))
  216. #define INCLUDE_NET_INIT
  217. #endif /* defined(INCLUDE_WDB) && (WDB_COMM_TYPE == WDB_COMM_NETWORK) */
  218. #if defined(INCLUDE_NET_INIT) && !defined(INCLUDE_NETWORK)
  219. #define INCLUDE_NETWORK /* network required for net init */
  220. #endif /* INCLUDE_NETWORK */
  221. #if defined(INCLUDE_TTY_DEV) && !defined(INCLUDE_IO_SYSTEM)
  222. #define INCLUDE_IO_SYSTEM       /* io system require for tty device */
  223. #endif /* INCLUDE_TTY_DEV && !INCLUDE_IO_SYSTEM */
  224. #if (defined(INCLUDE_SM_OBJ) && !defined(INCLUDE_SM_COMMON))
  225. #  define INCLUDE_SM_COMMON
  226. #endif /* INCLUDE_SM_OBJ && !INCLUDE_SM_COMMON */
  227. #if (defined(INCLUDE_SM_NET_SHOW)    || 
  228.      defined(INCLUDE_SECOND_SMNET)   || 
  229.      defined(INCLUDE_SM_NET_ADDRGET) || 
  230.      defined(INCLUDE_SM_SEQ_ADDR))
  231. # ifndef   INCLUDE_SM_NET
  232. #  define  INCLUDE_SM_NET
  233. # endif /* INCLUDE_SM_NET */
  234. #endif /* INCLUDE_SM_NET_SHOW || INCLUDE_SECOND_SMNET || ... */
  235. #if (defined(INCLUDE_SECOND_SMNET) && !defined(INCLUDE_SM_NET_ADDRGET))
  236. #  define INCLUDE_SM_NET_ADDRGET
  237. #endif /* INCLUDE_SECOND_SMNET && !INCLUDE_SM_NET_ADDRGET */
  238. #ifdef  INCLUDE_SM_NET
  239. # ifndef   INCLUDE_BSD_BOOT
  240. #  define  INCLUDE_BSD_BOOT
  241. # endif /* INCLUDE_BSD_BOOT */
  242. # ifndef   INCLUDE_SM_COMMON
  243. #  define  INCLUDE_SM_COMMON
  244. # endif /* INCLUDE_SM_COMMON */
  245. #endif /* INCLUDE_SM_NET */
  246. #if defined(INCLUDE_BP_5_0) && (SM_OFF_BOARD == FALSE)
  247. #undef USER_D_CACHE_ENABLE /* disable data cache if old bp on-board */
  248. #endif  /* INCLUDE_BP_5_0 && !SM_OFF_BOARD */
  249. #if defined(INCLUDE_FP_EMULATION)
  250. #define INCLUDE_SW_FP /* floating point software emulation */
  251. #endif
  252. #if defined(INCLUDE_MMU_BASIC) && defined(INCLUDE_MMU_FULL)
  253. #undef INCLUDE_MMU_BASIC /* leave only FULL defined. can't have both */
  254. #endif
  255. #if defined(INCLUDE_PROTECT_TEXT) && !defined(INCLUDE_MMU_FULL)
  256. #undef INCLUDE_MMU_BASIC
  257. #define INCLUDE_MMU_FULL /* FULL required to protect areas */
  258. #endif
  259. #if (CPU_FAMILY == ARM)
  260. #if     defined(INCLUDE_MMU_MPU) && defined(INCLUDE_MMU_FULL)
  261. #undef  INCLUDE_MMU_FULL       /* leave only MPU defined. can't have both */
  262. #endif
  263. #if     defined(INCLUDE_MMU_MPU) && defined(INCLUDE_MMU_BASIC)
  264. #undef  INCLUDE_MMU_BASIC       /* leave only MPU defined. can't have both */
  265. #endif
  266. #if defined(INCLUDE_PROTECT_TEXT) && defined(INCLUDE_MMU_MPU)
  267. #undef INCLUDE_PROTECT_TEXT /* FULL required to protect areas */
  268. #endif
  269. /*
  270.  * On the ARM processors, the cache and MMU are very closely related and it
  271.  * is difficult and often dangerous to use one without the other. Some
  272.  * combinations are architecturally undefined and others can have unfortunate
  273.  * side-effects. Only change the following if you are certain you understand
  274.  * the ramifications.
  275.  */
  276. #if !ARM_HAS_NO_MMU
  277. /*
  278.  * processor has an MMU/MPU so, if cache support requested, must enable
  279.  * support for the MMU/MPU
  280.  */
  281. #if defined(INCLUDE_CACHE_SUPPORT) && 
  282. !defined(INCLUDE_MMU_BASIC) && !defined(INCLUDE_MMU_FULL) && 
  283. !defined(INCLUDE_MMU_MPU)
  284. /* cache support requested so ensure we have some MMU/MPU support */
  285. #if ARM_HAS_MPU
  286. #define INCLUDE_MMU_MPU
  287. #else
  288. #define INCLUDE_MMU_BASIC
  289. #endif /* ARM_HAS_MPU */
  290. #endif /* defined(INCLUDE_CACHE_SUPPORT) */
  291. #endif /* !ARM_HAS_NO_MMU */
  292. #if (defined(INCLUDE_MMU_BASIC) || defined(INCLUDE_MMU_FULL) || 
  293.  defined(INCLUDE_MMU_MPU)) && 
  294. !defined(INCLUDE_CACHE_SUPPORT)
  295. #define INCLUDE_CACHE_SUPPORT
  296. #endif
  297. #endif /* (CPU_FAMILY == ARM) */
  298. /* traditional STANDALONE configuration has network included but not
  299.  * initialized, and standalone symbol table.  To include the network
  300.  * modules, the INCLUDE_NETWORK conditional must be defined.
  301.  */
  302. #if defined(STANDALONE)
  303. #define INCLUDE_STANDALONE_SYM_TBL
  304. #undef INCLUDE_NET_SYM_TBL
  305. #define INCLUDE_SHELL
  306. #define INCLUDE_DISK_UTIL
  307. #define INCLUDE_SHOW_ROUTINES
  308. #define INCLUDE_DEBUG
  309. #ifndef STANDALONE_NET
  310. #undef INCLUDE_NET_INIT
  311. #if     defined(INCLUDE_WDB) && ((WDB_COMM_TYPE == WDB_COMM_NETWORK) || 
  312.                                   (WDB_COMM_TYPE == WDB_COMM_END))
  313. #undef INCLUDE_WDB
  314. #endif  /* defined(INCLUDE_WDB) && (WDB_COMM_TYPE == WDB_COMM_NETWORK) */
  315. #endif /* STANDALONE_NET */
  316. #endif /* STANDALONE */
  317. #if     defined(INCLUDE_NET_SYM_TBL) || defined(INCLUDE_STANDALONE_SYM_TBL) || 
  318.         defined(INCLUDE_SECURITY) || defined(INCLUDE_POSIX_MQ)
  319. #define INCLUDE_SYM_TBL  /* include symbol table package */
  320. #endif /* INCLUDE_NET_SYM_TBL||INCLUDE_STANDALONE_SYM_TBL||INCLUDE_SECURITY
  321. ||INCLUDE_POSIX_MQ */
  322. #if  defined(INCLUDE_SHELL)
  323. #define INCLUDE_EXC_TASK /* miscelaneous support task */
  324. #define INCLUDE_EXC_HANDLING /* include basic exception handling */
  325. #endif /* INCLUDE_SHELL */
  326. #if defined(INCLUDE_STAT_SYM_TBL)
  327. #define INCLUDE_SYM_TBL
  328. #endif /* defined(INCLUDE_STAT_SYM_TBL) */
  329. #if  defined (INCLUDE_WDB_FUNC_CALL) || defined (INCLUDE_WDB_EXC_NOTIFY) || 
  330. defined (INCLUDE_WDB_EVENTPOINTS) || defined (INCLUDE_WDB_VIO) || 
  331. defined (INCLUDE_WDB_USER_EVENT)
  332. #define INCLUDE_WDB_EVENTS              /* host async event notification */
  333. #endif  /* INCLUDE_WDB_FUNC_CALL */
  334. #if defined (INCLUDE_WDB_BP) || defined (INCLUDE_WDB_EXIT_NOTIFY) || 
  335. defined (INCLUDE_WDB_START_NOTIFY)
  336. #define INCLUDE_WDB_EVENTS              /* host async event notification */
  337. #define INCLUDE_WDB_EVENTPOINTS         /* eventpoints handling */
  338. #endif /* INCLUDE_WDB_BP */
  339. #if defined (INCLUDE_DCOM)
  340. #define INCLUDE_COM
  341. #endif
  342. #if defined (INCLUDE_COM)
  343. #define INCLUDE_CPLUS_STL
  344. #define INCLUDE_CPLUS_STRING
  345. #endif
  346. #endif /* __INCusrDependc */