eea7db24f3
Adds support for POSIX interface open_memstream() that allows writing to dynamic memory buffer stream. The stream is dynamically reallocated as the buffer grows with initial size set to zero. The caller has to free the buffer after the stream is closed. The implementation uses fopencookie() for custom stream operations and callbacks. Signed-off-by: Michal Lenc <michallenc@seznam.cz>
58 lines
2.6 KiB
Plaintext
58 lines
2.6 KiB
Plaintext
############################################################################
|
|
# libs/libc/stdio/Make.defs
|
|
#
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# contributor license agreements. See the NOTICE file distributed with
|
|
# this work for additional information regarding copyright ownership. The
|
|
# ASF licenses this file to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance with the
|
|
# License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
#
|
|
############################################################################
|
|
|
|
# Add the stdio C files to the build
|
|
# This first group of C files do not depend on having C streams.
|
|
|
|
CSRCS += lib_fileno.c lib_printf.c lib_sprintf.c lib_asprintf.c
|
|
CSRCS += lib_snprintf.c lib_libsprintf.c lib_vsprintf.c lib_vasprintf.c
|
|
CSRCS += lib_vsnprintf.c lib_dprintf.c lib_vdprintf.c lib_vprintf.c
|
|
CSRCS += lib_perror.c lib_putchar.c lib_getchar.c lib_puts.c
|
|
CSRCS += lib_gets_s.c lib_gets.c lib_libdgets.c
|
|
CSRCS += lib_sscanf.c lib_vsscanf.c lib_libvscanf.c lib_libvsprintf.c
|
|
CSRCS += lib_remove.c lib_tempnam.c lib_tmpnam.c lib_ultoa_invert.c
|
|
CSRCS += lib_renameat.c lib_putwchar.c
|
|
|
|
ifeq ($(CONFIG_LIBC_FLOATINGPOINT),y)
|
|
CSRCS += lib_dtoa_engine.c lib_dtoa_data.c
|
|
endif
|
|
|
|
# The remaining sources files depend upon C streams
|
|
|
|
ifeq ($(CONFIG_FILE_STREAM),y)
|
|
CSRCS += lib_fopen.c lib_freopen.c lib_fclose.c lib_fread.c lib_libfread_unlocked.c
|
|
CSRCS += lib_fseek.c lib_fseeko.c lib_ftell.c lib_ftello.c lib_fsetpos.c
|
|
CSRCS += lib_getdelim.c lib_fgetpos.c lib_getc.c lib_fgetc.c
|
|
CSRCS += lib_fgets.c lib_libfgets.c lib_fwrite.c
|
|
CSRCS += lib_libfwrite.c lib_fflush.c lib_libflushall.c lib_libfflush.c
|
|
CSRCS += lib_rdflush_unlocked.c lib_wrflush_unlocked.c lib_putc.c lib_fputc.c
|
|
CSRCS += lib_fputs.c lib_ungetc.c lib_fprintf.c lib_vfprintf.c
|
|
CSRCS += lib_feof.c lib_ferror.c lib_rewind.c lib_clearerr.c
|
|
CSRCS += lib_scanf.c lib_vscanf.c lib_fscanf.c lib_vfscanf.c lib_tmpfile.c
|
|
CSRCS += lib_setbuf.c lib_setvbuf.c lib_libfilelock.c lib_libgetstreams.c
|
|
CSRCS += lib_setbuffer.c lib_fputwc.c lib_putwc.c lib_fputws.c
|
|
CSRCS += lib_fopencookie.c lib_fmemopen.c lib_open_memstream.c
|
|
endif
|
|
|
|
# Add the stdio directory to the build
|
|
|
|
DEPPATH += --dep-path stdio
|
|
VPATH += :stdio
|