[build] support building in Magenta
1. check this repository out under third_party/uapp in magenta
2. build Magenta as usual
Change-Id: Iec63e9d3cd1428b1e72533db5df2085f74e664fc
diff --git a/libutf/rules.mk b/libutf/rules.mk
new file mode 100644
index 0000000..3f859b6
--- /dev/null
+++ b/libutf/rules.mk
@@ -0,0 +1,35 @@
+# Copyright 2016 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+MODULE := $(LOCAL_DIR)
+
+MODULE_TYPE := userlib
+
+MODULE_SRCS += \
+ $(LOCAL_DIR)/fgetrune.c \
+ $(LOCAL_DIR)/fputrune.c \
+ $(LOCAL_DIR)/isalnumrune.c \
+ $(LOCAL_DIR)/isalpharune.c \
+ $(LOCAL_DIR)/isblankrune.c \
+ $(LOCAL_DIR)/iscntrlrune.c \
+ $(LOCAL_DIR)/isdigitrune.c \
+ $(LOCAL_DIR)/isgraphrune.c \
+ $(LOCAL_DIR)/isprintrune.c \
+ $(LOCAL_DIR)/ispunctrune.c \
+ $(LOCAL_DIR)/isspacerune.c \
+ $(LOCAL_DIR)/istitlerune.c \
+ $(LOCAL_DIR)/isxdigitrune.c \
+ $(LOCAL_DIR)/lowerrune.c \
+ $(LOCAL_DIR)/rune.c \
+ $(LOCAL_DIR)/runetype.c \
+ $(LOCAL_DIR)/runetype.h \
+ $(LOCAL_DIR)/upperrune.c \
+ $(LOCAL_DIR)/utf.c \
+ $(LOCAL_DIR)/utftorunestr.c \
+
+MODULE_LIBS += ulib/c
+
+include make/module.mk
diff --git a/libutil/rules.mk b/libutil/rules.mk
new file mode 100644
index 0000000..461cde9
--- /dev/null
+++ b/libutil/rules.mk
@@ -0,0 +1,54 @@
+# Copyright 2016 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+MODULE := $(LOCAL_DIR)
+
+MODULE_TYPE := userlib
+
+MODULE_SRCS += \
+ $(LOCAL_DIR)/concat.c \
+ $(LOCAL_DIR)/cp.c \
+ $(LOCAL_DIR)/crypt.c \
+ $(LOCAL_DIR)/ealloc.c \
+ $(LOCAL_DIR)/enmasse.c \
+ $(LOCAL_DIR)/eprintf.c \
+ $(LOCAL_DIR)/eregcomp.c \
+ $(LOCAL_DIR)/estrtod.c \
+ $(LOCAL_DIR)/fnck.c \
+ $(LOCAL_DIR)/fshut.c \
+ $(LOCAL_DIR)/getlines.c \
+ $(LOCAL_DIR)/human.c \
+ $(LOCAL_DIR)/linecmp.c \
+ $(LOCAL_DIR)/md5.c \
+ $(LOCAL_DIR)/memmem.c \
+ $(LOCAL_DIR)/mkdirp.c \
+ $(LOCAL_DIR)/mode.c \
+ $(LOCAL_DIR)/parseoffset.c \
+ $(LOCAL_DIR)/putword.c \
+ $(LOCAL_DIR)/reallocarray.c \
+ $(LOCAL_DIR)/recurse.c \
+ $(LOCAL_DIR)/rm.c \
+ $(LOCAL_DIR)/sha1.c \
+ $(LOCAL_DIR)/sha224.c \
+ $(LOCAL_DIR)/sha256.c \
+ $(LOCAL_DIR)/sha384.c \
+ $(LOCAL_DIR)/sha512-224.c \
+ $(LOCAL_DIR)/sha512-256.c \
+ $(LOCAL_DIR)/sha512.c \
+ $(LOCAL_DIR)/strcasestr.c \
+ $(LOCAL_DIR)/strlcat.c \
+ $(LOCAL_DIR)/strlcpy.c \
+ $(LOCAL_DIR)/strsep.c \
+ $(LOCAL_DIR)/strtonum.c \
+ $(LOCAL_DIR)/unescape.c \
+
+MODULE_LIBS += ulib/c
+
+MODULE_CFLAGS := \
+ -Wno-sign-compare -Wno-maybe-uninitialized \
+ -Wno-discarded-qualifiers
+
+include make/module.mk
diff --git a/rules.mk b/rules.mk
new file mode 100644
index 0000000..2811733
--- /dev/null
+++ b/rules.mk
@@ -0,0 +1,131 @@
+# Copyright 2017 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+THIRD_PARTY_SBASE_DIR := $(GET_LOCAL_DIR)
+
+# These do not yet build
+SBASE_NOT_WORKING := \
+ chroot \
+ getconf \
+ time \
+
+# These build but provide no useful functionality
+# as they depend on incomplete or stub features
+SBASE_NOT_USEFUL := \
+ chgrp \
+ chmod \
+ chown \
+ flock \
+ kill \
+ ln \
+ logger \
+ logname \
+ mkfifo \
+ nice \
+ nohup \
+ renice \
+ setsid \
+
+SBASE_PROGRAMS := \
+ basename \
+ cal \
+ cat \
+ cksum \
+ cmp \
+ cols \
+ comm \
+ cp \
+ cron \
+ cut \
+ date \
+ dirname \
+ du \
+ echo \
+ ed \
+ env \
+ expand \
+ expr \
+ false \
+ find \
+ fold \
+ grep \
+ head \
+ hostname \
+ join \
+ link \
+ ls \
+ md5sum \
+ mkdir \
+ mktemp \
+ mv \
+ nl \
+ od \
+ paste \
+ pathchk \
+ printenv \
+ printf \
+ pwd \
+ readlink \
+ rev \
+ rm \
+ rmdir \
+ sed \
+ seq \
+ sha1sum \
+ sha224sum \
+ sha256sum \
+ sha384sum \
+ sha512-224sum \
+ sha512-256sum \
+ sha512sum \
+ sleep \
+ sort \
+ split \
+ sponge \
+ strings \
+ sync \
+ tail \
+ tar \
+ tee \
+ test \
+ tftp \
+ touch \
+ tr \
+ true \
+ tsort \
+ tty \
+ uname \
+ unexpand \
+ uniq \
+ unlink \
+ uudecode \
+ uuencode \
+ wc \
+ which \
+ whoami \
+ xargs \
+ xinstall \
+ yes \
+
+
+THIRD_PARTY_SBASE_CFLAGS := \
+ -Wno-sign-compare \
+ -Wno-missing-field-initializers \
+ -Wno-discarded-qualifiers \
+ -Wno-maybe-uninitialized \
+ -Wno-strict-prototypes \
+ -Wno-type-limits
+
+define make-sbase-program
+$(eval MODULE := $(THIRD_PARTY_SBASE_DIR)-$(1))\
+$(eval MODULE_NAME := $(1))\
+$(eval MODULE_TYPE := userapp)\
+$(eval MODULE_SRCS += $(THIRD_PARTY_SBASE_DIR)/$(1).c)\
+$(eval MODULE_STATIC_LIBS := uapp/sbase/libutil uapp/sbase/libutf)\
+$(eval MODULE_LIBS := ulib/mxio ulib/c)\
+$(eval MODULE_CFLAGS := $(THIRD_PARTY_SBASE_CFLAGS))\
+$(eval include make/module.mk)
+endef
+
+$(foreach pgm,$(SBASE_PROGRAMS),$(call make-sbase-program,$(pgm)))