SubDir HAIKU_TOP src system libroot posix glibc libio ;

# For now, all wide character functions are disabled,
# obprintf() is also disabled, because we don't have
# obstack functionality

SubDirCcFlags -D_GNU_SOURCE -DUSE_IN_LIBIO ;

local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
	on $(architectureObject) {
		local architecture = $(TARGET_PACKAGING_ARCH) ;

		SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch
			$(TARGET_ARCH) ;
		SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch
			generic ;
		SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc stdio-common ;
		SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ;
		SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ;
		SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc locale ;
		SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ;
		SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc iconv ;

		UsePrivateHeaders libroot ;

		MergeObject <$(architecture)>posix_gnu_libio.o :
			__fbufsize.c
			__flbf.c
			__fpending.c
			__fpurge.c
			__freadable.c
			__freadahead.c
			__freading.c
			__freadptr.c
			__freadptrinc.c
			__fseterr.c
			__fsetlocking.c
			__fwritable.c
			__fwriting.c
			clearerr.c
			clearerr_u.c
			fcloseall.c
			feof.c
			feof_u.c
			ferror.c
			ferror_u.c
			fileno.c
			filedoalloc.c
			fileops.c
			flockfile.c
			fmemopen.c
			fputc.c
			fputc_u.c
			freopen.c
			fseek.c
			fseeko.c
			ftello.c
			fwide.c
			genops.c
			getc.c
			getc_u.c
			getchar.c
			getchar_u.c
			iofclose.c
			iofdopen.c
			iofflush.c
			iofgetpos.c
			iofgets.c
			iofgets_u.c
			iofopen.c
			iofopncook.c
			iofputs.c
			iofputs_u.c
			iofread.c
			iofread_u.c
			iofsetpos.c
			ioftell.c
			iofwrite.c
			iofwrite_u.c
			iofwide.c
			iogetdelim.c
			iogetline.c
			iogets.c
			iopadn.c
			iopopen.c
			ioputs.c
			ioseekoff.c
			ioseekpos.c
			iosetbuffer.c
			iosetvbuf.c
			ioungetc.c
			iovdprintf.c
			iovsprintf.c
			iovsscanf.c
			memstream.c
			pclose.c
			peekc.c
			putc.c
			putc_u.c
			putchar.c
			putchar_u.c
			rewind.c
			setbuf.c
			setlinebuf.c
			stdfiles.c
			stdio.c
			strops.c
			vasprintf.c
			vscanf.c
			vsnprintf.c

			# wide character
			fputwc.c
			fputwc_u.c
			fwprintf.c
			fwscanf.c
			getwc.c
			getwc_u.c
			getwchar.c
			iofgetws.c
			iofputws.c
			iofputws_u.c
			iogetwline.c
			ioungetwc.c
			iovswscanf.c
			iowpadn.c
			putwc.c
			putwc_u.c
			putwchar.c
			putwchar_u.c
			swprintf.c
			swscanf.c
			vswprintf.c
			vwprintf.c
			vwscanf.c
			wfiledoalloc.c
			wfileops.c
			wgenops.c
			wprintf.c
			wscanf.c
			wstrops.c
			;
	}
}
