From b71545a5ec91eb59cff09ce324ca7caa485f1b9b Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Mon, 8 Dec 2014 07:14:31 -0600 Subject: Fix compilation errors if CONFIG_DISABLE_MOUNTPOINT is selected --- nuttx/configs/sim/nx/defconfig | 198 ++++++++++++++++++++++--------- nuttx/drivers/Makefile | 4 +- nuttx/fs/driver/Make.defs | 6 + nuttx/fs/driver/fs_registerblockdriver.c | 4 + nuttx/fs/vfs/Make.defs | 12 +- nuttx/fs/vfs/fs_fsync.c | 4 + 6 files changed, 169 insertions(+), 59 deletions(-) diff --git a/nuttx/configs/sim/nx/defconfig b/nuttx/configs/sim/nx/defconfig index c3cd63f86..94cf0726c 100644 --- a/nuttx/configs/sim/nx/defconfig +++ b/nuttx/configs/sim/nx/defconfig @@ -17,6 +17,7 @@ CONFIG_HOST_LINUX=y # Build Configuration # # CONFIG_APPS_DIR="../apps" +CONFIG_BUILD_FLAT=y # CONFIG_BUILD_2PASS is not set # @@ -26,6 +27,7 @@ CONFIG_HOST_LINUX=y # CONFIG_INTELHEX_BINARY is not set # CONFIG_MOTOROLA_SREC is not set # CONFIG_RAW_BINARY is not set +# CONFIG_UBOOT_UIMAGE is not set # # Customize Header Files @@ -47,12 +49,17 @@ CONFIG_DEBUG_VERBOSE=y # # Subsystem Debug Options # -# CONFIG_DEBUG_MM is not set -# CONFIG_DEBUG_SCHED is not set -# CONFIG_DEBUG_FS is not set -# CONFIG_DEBUG_LIB is not set +# CONFIG_DEBUG_AUDIO is not set # CONFIG_DEBUG_BINFMT is not set +# CONFIG_DEBUG_FS is not set CONFIG_DEBUG_GRAPHICS=y +# CONFIG_DEBUG_LIB is not set +# CONFIG_DEBUG_MM is not set +# CONFIG_DEBUG_SCHED is not set + +# +# OS Function Debug Options +# # CONFIG_DEBUG_IRQ is not set # @@ -60,7 +67,6 @@ CONFIG_DEBUG_GRAPHICS=y # # CONFIG_DEBUG_ANALOG is not set # CONFIG_DEBUG_GPIO is not set -# CONFIG_DEBUG_AUDIO is not set # CONFIG_DEBUG_SYMBOLS is not set # CONFIG_ARCH_HAVE_CUSTOMOPT is not set # CONFIG_DEBUG_NOOPT is not set @@ -84,6 +90,8 @@ CONFIG_ARCH="sim" # # Simulation Configuration Options # +CONFIG_HOST_X86_64=y +# CONFIG_HOST_X86 is not set # CONFIG_SIM_M32 is not set # CONFIG_SIM_WALLTIME is not set CONFIG_SIM_FRAMEBUFFER=y @@ -91,6 +99,7 @@ CONFIG_SIM_FRAMEBUFFER=y CONFIG_SIM_FBHEIGHT=240 CONFIG_SIM_FBWIDTH=480 CONFIG_SIM_FBBPP=8 +# CONFIG_SIM_SPIFLASH is not set # # Architecture Options @@ -99,10 +108,15 @@ CONFIG_SIM_FBBPP=8 # CONFIG_ARCH_VECNOTIRQ is not set # CONFIG_ARCH_DMA is not set # CONFIG_ARCH_HAVE_IRQPRIO is not set -# CONFIG_ARCH_ADDRENV is not set +# CONFIG_ARCH_L2CACHE is not set +# CONFIG_ARCH_HAVE_COHERENT_DCACHE is not set +# CONFIG_ARCH_HAVE_ADDRENV is not set +# CONFIG_ARCH_NEED_ADDRENV_MAPPING is not set # CONFIG_ARCH_HAVE_VFORK is not set # CONFIG_ARCH_HAVE_MMU is not set +# CONFIG_ARCH_HAVE_MPU is not set # CONFIG_ARCH_NAND_HWECC is not set +# CONFIG_ARCH_HAVE_EXTCLK is not set # CONFIG_ARCH_STACKDUMP is not set # CONFIG_ENDIAN_BIG is not set # CONFIG_ARCH_IDLE_CUSTOM is not set @@ -155,35 +169,74 @@ CONFIG_ARCH_BOARD="sim" # # RTOS Features # -# CONFIG_BOARD_INITIALIZE is not set +CONFIG_DISABLE_OS_API=y +CONFIG_DISABLE_POSIX_TIMERS=y +# CONFIG_DISABLE_PTHREAD is not set +# CONFIG_DISABLE_SIGNALS is not set +# CONFIG_DISABLE_MQUEUE is not set +CONFIG_DISABLE_ENVIRON=y + +# +# Clocks and Timers +# +CONFIG_ARCH_HAVE_TICKLESS=y +# CONFIG_SCHED_TICKLESS is not set CONFIG_USEC_PER_TICK=10000 # CONFIG_SYSTEM_TIME64 is not set -CONFIG_RR_INTERVAL=0 -# CONFIG_SCHED_CPULOAD is not set -# CONFIG_SCHED_INSTRUMENTATION is not set -CONFIG_TASK_NAME_SIZE=32 -# CONFIG_SCHED_HAVE_PARENT is not set +# CONFIG_CLOCK_MONOTONIC is not set # CONFIG_JULIAN_TIME is not set CONFIG_START_YEAR=2008 CONFIG_START_MONTH=11 CONFIG_START_DAY=28 -CONFIG_DEV_CONSOLE=y +CONFIG_MAX_WDOGPARMS=4 +CONFIG_PREALLOC_WDOGS=32 +CONFIG_WDOG_INTRESERVE=4 +CONFIG_PREALLOC_TIMERS=8 + +# +# Tasks and Scheduling +# +# CONFIG_INIT_NONE is not set +CONFIG_INIT_ENTRYPOINT=y +# CONFIG_INIT_FILEPATH is not set +CONFIG_USER_ENTRYPOINT="nx_main" +CONFIG_RR_INTERVAL=0 +CONFIG_TASK_NAME_SIZE=32 +CONFIG_MAX_TASKS=16 +# CONFIG_SCHED_HAVE_PARENT is not set +# CONFIG_SCHED_WAITPID is not set + +# +# Pthread Options +# # CONFIG_MUTEX_TYPES is not set -# CONFIG_PRIORITY_INHERITANCE is not set +CONFIG_NPTHREAD_KEYS=4 + +# +# Performance Monitoring +# +# CONFIG_SCHED_CPULOAD is not set +# CONFIG_SCHED_INSTRUMENTATION is not set + +# +# Files and I/O +# +CONFIG_DEV_CONSOLE=y # CONFIG_FDCLONE_DISABLE is not set # CONFIG_FDCLONE_STDIO is not set CONFIG_SDCLONE_DISABLE=y -# CONFIG_SCHED_WAITPID is not set +CONFIG_NFILE_DESCRIPTORS=16 +CONFIG_NFILE_STREAMS=16 +CONFIG_NAME_MAX=32 +# CONFIG_PRIORITY_INHERITANCE is not set + +# +# RTOS hooks +# +# CONFIG_BOARD_INITIALIZE is not set # CONFIG_SCHED_STARTHOOK is not set # CONFIG_SCHED_ATEXIT is not set # CONFIG_SCHED_ONEXIT is not set -CONFIG_USER_ENTRYPOINT="nx_main" -CONFIG_DISABLE_OS_API=y -CONFIG_DISABLE_POSIX_TIMERS=y -# CONFIG_DISABLE_PTHREAD is not set -# CONFIG_DISABLE_SIGNALS is not set -# CONFIG_DISABLE_MQUEUE is not set -CONFIG_DISABLE_ENVIRON=y # # Signal Numbers @@ -194,19 +247,17 @@ CONFIG_SIG_SIGALARM=3 CONFIG_SIG_SIGCONDTIMEDOUT=16 # -# Sizes of configurable things (0 disables) +# POSIX Message Queue Options # -CONFIG_MAX_TASKS=16 -CONFIG_NPTHREAD_KEYS=4 -CONFIG_NFILE_DESCRIPTORS=16 -CONFIG_NFILE_STREAMS=16 -CONFIG_NAME_MAX=32 CONFIG_PREALLOC_MQ_MSGS=32 CONFIG_MQ_MAXMSGSIZE=32 -CONFIG_MAX_WDOGPARMS=4 -CONFIG_PREALLOC_WDOGS=32 -CONFIG_WDOG_INTRESERVE=4 -CONFIG_PREALLOC_TIMERS=8 + +# +# Work Queue Support +# +# CONFIG_SCHED_WORKQUEUE is not set +# CONFIG_SCHED_HPWORK is not set +# CONFIG_SCHED_LPWORK is not set # # Stack and heap information @@ -215,6 +266,7 @@ CONFIG_IDLETHREAD_STACKSIZE=4096 CONFIG_USERMAIN_STACKSIZE=4096 CONFIG_PTHREAD_STACK_MIN=256 CONFIG_PTHREAD_STACK_DEFAULT=8192 +# CONFIG_LIB_SYSCALL is not set # # Device Drivers @@ -223,6 +275,12 @@ CONFIG_DISABLE_POLL=y CONFIG_DEV_NULL=y # CONFIG_DEV_ZERO is not set # CONFIG_LOOP is not set + +# +# Buffering +# +# CONFIG_DRVR_WRITEBUFFER is not set +# CONFIG_DRVR_READAHEAD is not set # CONFIG_RAMDISK is not set # CONFIG_CAN is not set # CONFIG_ARCH_HAVE_PWM_PULSECOUNT is not set @@ -233,6 +291,7 @@ CONFIG_DEV_NULL=y # CONFIG_I2S is not set # CONFIG_RTC is not set # CONFIG_WATCHDOG is not set +# CONFIG_TIMER is not set # CONFIG_ANALOG is not set # CONFIG_AUDIO_DEVICES is not set # CONFIG_VIDEO_DEVICES is not set @@ -241,6 +300,7 @@ CONFIG_DEV_NULL=y # CONFIG_LCD is not set # CONFIG_MMCSD is not set # CONFIG_MTD is not set +# CONFIG_EEPROM is not set # CONFIG_PIPES is not set # CONFIG_PM is not set # CONFIG_POWER is not set @@ -270,12 +330,14 @@ CONFIG_SERIAL=y # CONFIG_ARCH_HAVE_USART6 is not set # CONFIG_ARCH_HAVE_USART7 is not set # CONFIG_ARCH_HAVE_USART8 is not set +# CONFIG_ARCH_HAVE_OTHER_UART is not set # # USART Configuration # # CONFIG_MCU_SERIAL is not set # CONFIG_STANDARD_SERIAL is not set +# CONFIG_ARCH_HAVE_SERIAL_TERMIOS is not set # CONFIG_SERIAL_IFLOWCONTROL is not set # CONFIG_SERIAL_OFLOWCONTROL is not set # CONFIG_USBDEV is not set @@ -298,6 +360,11 @@ CONFIG_SERIAL=y # CONFIG_ARCH_HAVE_PHY is not set # CONFIG_NET is not set +# +# Crypto API +# +# CONFIG_CRYPTO is not set + # # File Systems # @@ -309,20 +376,23 @@ CONFIG_DISABLE_MOUNTPOINT=y # CONFIG_DISABLE_PSEUDOFS_OPERATIONS is not set # CONFIG_FS_READABLE is not set # CONFIG_FS_WRITABLE is not set +# CONFIG_FS_NAMED_SEMAPHORES is not set +CONFIG_FS_MQUEUE_MPATH="/var/mqueue" # CONFIG_FS_RAMMAP is not set # CONFIG_FS_PROCFS is not set # # System Logging # - # CONFIG_SYSLOG is not set +# CONFIG_SYSLOG_TIMESTAMP is not set # # Graphics Support # CONFIG_NX=y CONFIG_NX_NPLANES=1 +CONFIG_NX_BGCOLOR=0x0 # CONFIG_NX_WRITEONLY is not set # @@ -375,6 +445,8 @@ CONFIG_NXFONT_SANS23X27=y # CONFIG_NXFONT_SERIF22X28B is not set # CONFIG_NXFONT_SERIF27X38B is not set # CONFIG_NXFONT_SERIF38X49B is not set +# CONFIG_NXFONT_PIXEL_UNICODE is not set +# CONFIG_NXFONT_PIXEL_LCD_MACHINE is not set # CONFIG_NXTERM is not set # @@ -396,7 +468,7 @@ CONFIG_MM_REGIONS=1 # CONFIG_AUDIO is not set # -# Binary Formats +# Binary Loader # # CONFIG_BINFMT_DISABLE is not set # CONFIG_NXFLAT is not set @@ -418,6 +490,7 @@ CONFIG_NUNGET_CHARS=2 # CONFIG_LIBM is not set # CONFIG_NOPRINTF_FIELDWIDTH is not set # CONFIG_LIBC_FLOATINGPOINT is not set +# CONFIG_LIBC_IOCTL_VARIADIC is not set CONFIG_LIB_RAND_ORDER=1 # CONFIG_EOL_IS_CR is not set # CONFIG_EOL_IS_LF is not set @@ -436,7 +509,6 @@ CONFIG_LIB_SENDFILE_BUFSIZE=512 # # Non-standard Library Support # -# CONFIG_SCHED_WORKQUEUE is not set # CONFIG_LIB_KBDCODEC is not set # CONFIG_LIB_SLCDCODEC is not set @@ -460,6 +532,7 @@ CONFIG_LIB_SENDFILE_BUFSIZE=512 # CONFIG_EXAMPLES_BUTTONS is not set # CONFIG_EXAMPLES_CAN is not set # CONFIG_EXAMPLES_CONFIGDATA is not set +# CONFIG_EXAMPLES_CPUHOG is not set # CONFIG_EXAMPLES_DHCPD is not set # CONFIG_EXAMPLES_ELF is not set # CONFIG_EXAMPLES_FTPC is not set @@ -470,7 +543,6 @@ CONFIG_LIB_SENDFILE_BUFSIZE=512 # CONFIG_EXAMPLES_HIDKBD is not set # CONFIG_EXAMPLES_KEYPADTEST is not set # CONFIG_EXAMPLES_IGMP is not set -# CONFIG_EXAMPLES_LCDRW is not set # CONFIG_EXAMPLES_MM is not set # CONFIG_EXAMPLES_MODBUS is not set # CONFIG_EXAMPLES_MOUNT is not set @@ -494,7 +566,6 @@ CONFIG_EXAMPLES_NX_TOOLBAR_HEIGHT=16 # CONFIG_EXAMPLES_NXLINES is not set # CONFIG_EXAMPLES_NXTEXT is not set # CONFIG_EXAMPLES_OSTEST is not set -# CONFIG_EXAMPLES_PASHELLO is not set # CONFIG_EXAMPLES_PIPE is not set # CONFIG_EXAMPLES_POLL is not set # CONFIG_EXAMPLES_POSIXSPAWN is not set @@ -502,6 +573,8 @@ CONFIG_EXAMPLES_NX_TOOLBAR_HEIGHT=16 # CONFIG_EXAMPLES_RGMP is not set # CONFIG_EXAMPLES_ROMFS is not set # CONFIG_EXAMPLES_SENDMAIL is not set +# CONFIG_EXAMPLES_SERIALBLASTER is not set +# CONFIG_EXAMPLES_SERIALRX is not set # CONFIG_EXAMPLES_SERLOOP is not set # CONFIG_EXAMPLES_SLCD is not set # CONFIG_EXAMPLES_SMART is not set @@ -569,40 +642,41 @@ CONFIG_EXAMPLES_NX_TOOLBAR_HEIGHT=16 # # -# USB CDC/ACM Device Commands +# Custom Free Memory Command # +# CONFIG_SYSTEM_FREE is not set # -# USB Composite Device Commands +# EMACS-like Command Line Editor # +# CONFIG_SYSTEM_CLE is not set # -# Custom Free Memory Command +# FLASH Program Installation # -# CONFIG_SYSTEM_FREE is not set +# CONFIG_SYSTEM_INSTALL is not set # -# I2C tool +# FLASH Erase-all Command # # -# INI File Parser +# Intel HEX to binary conversion # -# CONFIG_SYSTEM_INIFILE is not set +# CONFIG_SYSTEM_HEX2BIN is not set # -# FLASH Program Installation +# I2C tool # -# CONFIG_SYSTEM_INSTALL is not set # -# FLASH Erase-all Command +# INI File Parser # +# CONFIG_SYSTEM_INIFILE is not set # # NxPlayer media player library / command Line # -# CONFIG_SYSTEM_NXPLAYER is not set # # RAM test @@ -614,6 +688,14 @@ CONFIG_EXAMPLES_NX_TOOLBAR_HEIGHT=16 # # CONFIG_SYSTEM_READLINE is not set +# +# P-Code Support +# + +# +# PHY Tool +# + # # Power Off # @@ -629,33 +711,41 @@ CONFIG_EXAMPLES_NX_TOOLBAR_HEIGHT=16 # # CONFIG_SYSTEM_SDCARD is not set +# +# Sudoku +# +# CONFIG_SYSTEM_SUDOKU is not set + # # Sysinfo # # CONFIG_SYSTEM_SYSINFO is not set # -# USB Monitor +# VI Work-Alike Editor # +# CONFIG_SYSTEM_VI is not set # -# EMACS-like Command Line Editor +# Stack Monitor # -# CONFIG_SYSTEM_CLE is not set # -# VI Work-Alike Editor +# USB CDC/ACM Device Commands # -# CONFIG_SYSTEM_VI is not set # -# Stack Monitor +# USB Composite Device Commands # # # USB Mass Storage Device Commands # +# +# USB Monitor +# + # # Zmodem Commands # diff --git a/nuttx/drivers/Makefile b/nuttx/drivers/Makefile index 62d1986ca..a894ee292 100644 --- a/nuttx/drivers/Makefile +++ b/nuttx/drivers/Makefile @@ -71,10 +71,10 @@ include video$(DELIM)Make.defs include wireless$(DELIM)Make.defs ifneq ($(CONFIG_NFILE_DESCRIPTORS),0) - CSRCS += dev_null.c dev_zero.c loop.c + CSRCS += dev_null.c dev_zero.c ifneq ($(CONFIG_DISABLE_MOUNTPOINT),y) - CSRCS += ramdisk.c + CSRCS += ramdisk.c loop.c ifeq ($(CONFIG_DRVR_WRITEBUFFER),y) CSRCS += rwbuffer.c else diff --git a/nuttx/fs/driver/Make.defs b/nuttx/fs/driver/Make.defs index 587076dae..7cf8c344b 100644 --- a/nuttx/fs/driver/Make.defs +++ b/nuttx/fs/driver/Make.defs @@ -38,8 +38,14 @@ ifneq ($(CONFIG_NFILE_DESCRIPTORS),0) CSRCS += fs_registerdriver.c fs_unregisterdriver.c + +# Don't build-in block driver support if there are no mountpoints + + +ifneq ($(CONFIG_DISABLE_MOUNTPOINT),y) CSRCS += fs_registerblockdriver.c fs_unregisterblockdriver.c CSRCS += fs_findblockdriver.c fs_openblockdriver.c fs_closeblockdriver.c +endif # System logging to a character device (or file) diff --git a/nuttx/fs/driver/fs_registerblockdriver.c b/nuttx/fs/driver/fs_registerblockdriver.c index 6ef9308f5..ea611022d 100644 --- a/nuttx/fs/driver/fs_registerblockdriver.c +++ b/nuttx/fs/driver/fs_registerblockdriver.c @@ -46,6 +46,8 @@ #include "inode/inode.h" +#ifndef CONFIG_DISABLE_MOUNTPOINT + /**************************************************************************** * Pre-processor oDefinitions ****************************************************************************/ @@ -122,3 +124,5 @@ int register_blockdriver(FAR const char *path, return ret; } +#endif /* !CONFIG_DISABLE_MOUNTPOINT */ + diff --git a/nuttx/fs/vfs/Make.defs b/nuttx/fs/vfs/Make.defs index 1780eabd6..2ef44a96b 100644 --- a/nuttx/fs/vfs/Make.defs +++ b/nuttx/fs/vfs/Make.defs @@ -70,9 +70,15 @@ else # Common file/socket descriptor support CSRCS += fs_close.c fs_dup.c fs_dup2.c fs_fcntl.c fs_dupfd.c fs_dupfd2.c -CSRCS += fs_fsync.c fs_getfilep.c fs_ioctl.c fs_lseek.c fs_mkdir.c fs_open.c -CSRCS += fs_poll.c fs_read.c fs_rename.c fs_rmdir.c fs_stat.c fs_statfs.c -CSRCS += fs_select.c fs_unlink.c fs_write.c +CSRCS += fs_getfilep.c fs_ioctl.c fs_lseek.c fs_mkdir.c fs_open.c fs_poll.c +CSRCS += fs_read.c fs_rename.c fs_rmdir.c fs_stat.c fs_statfs.c fs_select.c +CSRCS += fs_unlink.c fs_write.c + +# Certain interfaces are not available if there is no mountpoint support + +ifneq ($(CONFIG_DISABLE_MOUNTPOINT),y) +CSRCS += fs_fsync +endif # Support for positional file access diff --git a/nuttx/fs/vfs/fs_fsync.c b/nuttx/fs/vfs/fs_fsync.c index 24e184142..4d2311ea0 100644 --- a/nuttx/fs/vfs/fs_fsync.c +++ b/nuttx/fs/vfs/fs_fsync.c @@ -49,6 +49,8 @@ #include "inode/inode.h" +#ifndef CONFIG_DISABLE_MOUNTPOINT + /**************************************************************************** * Pre-processor Definitions ****************************************************************************/ @@ -146,3 +148,5 @@ int fsync(int fd) return file_fsync(filep); } + +#endif /* !CONFIG_DISABLE_MOUNTPOINT */ -- cgit v1.2.3