This change removes the hard dependency on posix-fdtab, allowing
posix-fdio to be used with anonymous open file descriptions (i.e., raw
uk_ofiles). It remains selected as a soft dependency by default.
File descriptor related syscalls are now only provided if posix-fdtab is
also selected.
Signed-off-by: Andrei Tatar <andrei@unikraft.io>
Approved-by: Sergiu Moga <sergiu@unikraft.io>
Reviewed-by: Sergiu Moga <sergiu@unikraft.io>
GitHub-Closes: #1574
select LIBPOSIX_FD
select LIBPOSIX_TIME
select LIBUKTIMECONV
- select LIBPOSIX_FDTAB
- select LIBPOSIX_FDTAB_LEGACY_SHIM
+ imply LIBPOSIX_FDTAB
+ select LIBPOSIX_FDTAB_LEGACY_SHIM if LIBPOSIX_FDTAB
LIBPOSIX_FDIO_SRCS-y += $(LIBPOSIX_FDIO_BASE)/fdio.c
LIBPOSIX_FDIO_SRCS-y += $(LIBPOSIX_FDIO_BASE)/fdstat.c
LIBPOSIX_FDIO_SRCS-y += $(LIBPOSIX_FDIO_BASE)/fdctl.c
-LIBPOSIX_FDIO_SRCS-y += $(LIBPOSIX_FDIO_BASE)/fd-shim.c
+LIBPOSIX_FDIO_SRCS-$(CONFIG_LIBPOSIX_FDTAB) += $(LIBPOSIX_FDIO_BASE)/fd-shim.c
UK_PROVIDED_SYSCALLS-$(CONFIG_LIBPOSIX_FDIO) += preadv2-5
UK_PROVIDED_SYSCALLS-$(CONFIG_LIBPOSIX_FDIO) += preadv-4