Clean up our OpenBSD usage.
Also undo some of the mess where we have OpenBSD <stdio.h> but a mix of
different BSD's implementations.
In this first pass, I've only moved easy OpenBSD stuff.
Change-Id: Iae67b02cde6dba9d8d06fedeb53efbfdac0a8cf6
diff --git a/libc/Android.mk b/libc/Android.mk
index 9cde073..4e140f0 100644
--- a/libc/Android.mk
+++ b/libc/Android.mk
@@ -38,9 +38,6 @@
# =========================================================
libc_common_src_files := \
bionic/arc4random.c \
- bionic/atoi.c \
- bionic/atol.c \
- bionic/atoll.c \
bionic/bindresvport.c \
bionic/clearenv.c \
bionic/daemon.c \
@@ -50,7 +47,6 @@
bionic/fdprintf.c \
bionic/flockfile.c \
bionic/ftime.c \
- bionic/ftok.c \
bionic/fts.c \
bionic/getdtablesize.c \
bionic/gethostname.c \
@@ -68,7 +64,6 @@
bionic/memmem.c \
bionic/memswap.c \
bionic/pathconf.c \
- bionic/perror.c \
bionic/ptsname.c \
bionic/ptsname_r.c \
bionic/pututline.c \
@@ -81,7 +76,6 @@
bionic/sigblock.c \
bionic/siginterrupt.c \
bionic/sigsetmask.c \
- bionic/strndup.c \
bionic/strntoimax.c \
bionic/strntoumax.c \
bionic/strtotimeval.c \
@@ -95,61 +89,24 @@
bionic/utmp.c \
bionic/wcscoll.c \
stdio/asprintf.c \
- stdio/fflush.c \
- stdio/fgetc.c \
stdio/findfp.c \
stdio/fprintf.c \
- stdio/fputc.c \
stdio/fread.c \
stdio/freopen.c \
- stdio/fscanf.c \
- stdio/fseek.c \
- stdio/ftell.c \
stdio/fvwrite.c \
- stdio/gets.c \
- stdio/printf.c \
- stdio/refill.c \
- stdio/rewind.c \
- stdio/scanf.c \
stdio/snprintf.c\
stdio/sprintf.c \
stdio/sscanf.c \
- stdio/stdio.c \
- stdio/ungetc.c \
- stdio/vasprintf.c \
stdio/vfprintf.c \
stdio/vfscanf.c \
- stdio/vprintf.c \
- stdio/vscanf.c \
- stdio/vsnprintf.c \
- stdio/vsprintf.c \
stdio/vsscanf.c \
- stdio/wbuf.c \
stdlib/atexit.c \
stdlib/ctype_.c \
stdlib/getenv.c \
stdlib/putenv.c \
stdlib/setenv.c \
stdlib/strtod.c \
- stdlib/strtoimax.c \
- stdlib/strtol.c \
- stdlib/strtoll.c \
- stdlib/strtoul.c \
- stdlib/strtoull.c \
- stdlib/strtoumax.c \
- stdlib/tolower_.c \
- stdlib/toupper_.c \
- string/strcasecmp.c \
- string/strcspn.c \
- string/strdup.c \
- string/strpbrk.c \
- string/strsep.c \
- string/strspn.c \
- string/strstr.c \
- string/strtok.c \
unistd/alarm.c \
- unistd/exec.c \
- unistd/fnmatch.c \
unistd/syslog.c \
unistd/system.c \
unistd/time.c \
@@ -280,38 +237,14 @@
libc_upstream_freebsd_src_files := \
upstream-freebsd/lib/libc/gen/sleep.c \
upstream-freebsd/lib/libc/gen/usleep.c \
- upstream-freebsd/lib/libc/stdio/clrerr.c \
upstream-freebsd/lib/libc/stdio/fclose.c \
- upstream-freebsd/lib/libc/stdio/fdopen.c \
- upstream-freebsd/lib/libc/stdio/feof.c \
- upstream-freebsd/lib/libc/stdio/ferror.c \
- upstream-freebsd/lib/libc/stdio/fgetln.c \
- upstream-freebsd/lib/libc/stdio/fgetpos.c \
- upstream-freebsd/lib/libc/stdio/fgets.c \
- upstream-freebsd/lib/libc/stdio/fileno.c \
upstream-freebsd/lib/libc/stdio/flags.c \
upstream-freebsd/lib/libc/stdio/fopen.c \
- upstream-freebsd/lib/libc/stdio/fpurge.c \
- upstream-freebsd/lib/libc/stdio/fputs.c \
- upstream-freebsd/lib/libc/stdio/fsetpos.c \
- upstream-freebsd/lib/libc/stdio/funopen.c \
- upstream-freebsd/lib/libc/stdio/fwalk.c \
upstream-freebsd/lib/libc/stdio/fwrite.c \
- upstream-freebsd/lib/libc/stdio/getc.c \
- upstream-freebsd/lib/libc/stdio/getchar.c \
upstream-freebsd/lib/libc/stdio/makebuf.c \
upstream-freebsd/lib/libc/stdio/mktemp.c \
- upstream-freebsd/lib/libc/stdio/putc.c \
- upstream-freebsd/lib/libc/stdio/putchar.c \
- upstream-freebsd/lib/libc/stdio/puts.c \
upstream-freebsd/lib/libc/stdio/putw.c \
- upstream-freebsd/lib/libc/stdio/remove.c \
- upstream-freebsd/lib/libc/stdio/rget.c \
- upstream-freebsd/lib/libc/stdio/setbuf.c \
- upstream-freebsd/lib/libc/stdio/setbuffer.c \
upstream-freebsd/lib/libc/stdio/setvbuf.c \
- upstream-freebsd/lib/libc/stdio/tempnam.c \
- upstream-freebsd/lib/libc/stdio/tmpnam.c \
upstream-freebsd/lib/libc/stdio/wsetup.c \
upstream-freebsd/lib/libc/stdlib/abs.c \
upstream-freebsd/lib/libc/stdlib/getopt_long.c \
@@ -361,8 +294,6 @@
upstream-netbsd/lib/libc/regex/regerror.c \
upstream-netbsd/lib/libc/regex/regexec.c \
upstream-netbsd/lib/libc/regex/regfree.c \
- upstream-netbsd/lib/libc/stdio/getdelim.c \
- upstream-netbsd/lib/libc/stdio/getline.c \
upstream-netbsd/lib/libc/stdlib/bsearch.c \
upstream-netbsd/lib/libc/stdlib/div.c \
upstream-netbsd/lib/libc/stdlib/drand48.c \
@@ -574,6 +505,32 @@
# ========================================================
+# libc_openbsd.a - upstream OpenBSD C library code
+# ========================================================
+#
+# These files are built with the openbsd-compat.h header file
+# automatically included.
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(call all-c-files-under,upstream-openbsd)
+LOCAL_CFLAGS := \
+ $(libc_common_cflags) \
+ -I$(LOCAL_PATH)/upstream-openbsd \
+ -I$(LOCAL_PATH)/upstream-openbsd/lib/libc/include \
+ -include upstream-openbsd/openbsd-compat.h
+LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
+LOCAL_CPPFLAGS := $(libc_common_cppflags)
+LOCAL_C_INCLUDES := $(libc_common_c_includes)
+LOCAL_MODULE := libc_openbsd
+LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies)
+LOCAL_SYSTEM_SHARED_LIBRARIES :=
+
+$(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags))
+include $(BUILD_STATIC_LIBRARY)
+
+
+# ========================================================
# libc_bionic.a - home-grown C library code
# ========================================================
@@ -633,6 +590,7 @@
libc_dns \
libc_freebsd \
libc_netbsd \
+ libc_openbsd \
libc_syscalls \
libc_tzcode \