mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-11-09 08:37:58 +08:00
config: Provide file descriptors only if necessary
Only provide the file descriptor array if CONFIGURE_MAXIMUM_FILE_DESCRIPTORS > 0. If someone configured CONFIGURE_MAXIMUM_FILE_DESCRIPTORS == 0 and the appplication uses something which requires a file descriptor, then a linker error will show up. An alternative would be to add a zero-length array rtems_libio_iops[ 0 ] to librtemscpu.a which would be used in this case. Conditionally include some header files.
This commit is contained in:
1 parent
1818b9a826
commit
ced28f2cfc
1 file changed
+15
-9
@@ -43,7 +43,6 @@
|
||||
#ifdef CONFIGURE_INIT
|
||||
|
||||
#include <rtems/confdefs/bsp.h>
|
||||
#include <rtems/libio.h>
|
||||
#include <rtems/sysinit.h>
|
||||
|
||||
#ifdef CONFIGURE_FILESYSTEM_ALL
|
||||
@@ -86,6 +85,15 @@
|
||||
#define CONFIGURE_IMFS_DISABLE_UTIME
|
||||
#endif
|
||||
|
||||
#ifndef CONFIGURE_MAXIMUM_FILE_DESCRIPTORS
|
||||
#define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 3
|
||||
#endif
|
||||
|
||||
#if !defined(CONFIGURE_APPLICATION_DISABLE_FILESYSTEM) || \
|
||||
CONFIGURE_MAXIMUM_FILE_DESCRIPTORS > 0
|
||||
#include <rtems/libio.h>
|
||||
#endif
|
||||
|
||||
#ifdef CONFIGURE_APPLICATION_DISABLE_FILESYSTEM
|
||||
#ifdef CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
|
||||
#error "CONFIGURE_APPLICATION_DISABLE_FILESYSTEM cannot be used together with CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM"
|
||||
@@ -122,10 +130,10 @@
|
||||
#ifdef CONFIGURE_FILESYSTEM_TFTPFS
|
||||
#error "CONFIGURE_APPLICATION_DISABLE_FILESYSTEM cannot be used together with CONFIGURE_FILESYSTEM_TFTPFS"
|
||||
#endif
|
||||
#else
|
||||
#include <rtems/imfs.h>
|
||||
#endif
|
||||
|
||||
#include <rtems/imfs.h>
|
||||
|
||||
#ifdef CONFIGURE_FILESYSTEM_DOSFS
|
||||
#include <rtems/dosfs.h>
|
||||
#endif
|
||||
@@ -316,14 +324,12 @@ RTEMS_SYSINIT_ITEM(
|
||||
|
||||
#endif /* !CONFIGURE_APPLICATION_DISABLE_FILESYSTEM */
|
||||
|
||||
#ifndef CONFIGURE_MAXIMUM_FILE_DESCRIPTORS
|
||||
#define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 3
|
||||
#if CONFIGURE_MAXIMUM_FILE_DESCRIPTORS > 0
|
||||
rtems_libio_t rtems_libio_iops[ CONFIGURE_MAXIMUM_FILE_DESCRIPTORS ];
|
||||
|
||||
const uint32_t rtems_libio_number_iops = RTEMS_ARRAY_SIZE( rtems_libio_iops );
|
||||
#endif
|
||||
|
||||
rtems_libio_t rtems_libio_iops[ CONFIGURE_MAXIMUM_FILE_DESCRIPTORS ];
|
||||
|
||||
const uint32_t rtems_libio_number_iops = RTEMS_ARRAY_SIZE( rtems_libio_iops );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in new issue
Block a user