#
# Automatically generated make config: don't edit
# ToyBox version: KCONFIG_VERSION
# Sun May  3 17:30:15 2015
#
CONFIG_TOYBOX_CONTAINER=y
CONFIG_TOYBOX_FIFREEZE=y
CONFIG_TOYBOX_ICONV=y
CONFIG_TOYBOX_FALLOCATE=y
CONFIG_TOYBOX_UTMPX=y
CONFIG_TOYBOX_SHADOW=y
CONFIG_TOYBOX_ON_ANDROID=y

#
# Posix commands
#
CONFIG_BASENAME=y
CONFIG_CAL=y
CONFIG_CAT=y
CONFIG_CAT_V=y
CONFIG_CHGRP=y
CONFIG_CHOWN=y
CONFIG_CHMOD=y
CONFIG_CKSUM=y
CONFIG_CMP=y
CONFIG_COMM=y
CONFIG_CP=y
CONFIG_CP_MORE=y
CONFIG_MV=y
CONFIG_MV_MORE=y
CONFIG_INSTALL=y
CONFIG_CPIO=y
CONFIG_CUT=y
CONFIG_DATE=y
CONFIG_DF=y
CONFIG_DIRNAME=y
CONFIG_DU=y
CONFIG_ECHO=y
CONFIG_ENV=y
CONFIG_EXPAND=y
CONFIG_FALSE=y
CONFIG_FIND=y
CONFIG_GREP=y
CONFIG_EGREP=y
CONFIG_FGREP=y
CONFIG_HEAD=y
CONFIG_ID=y
CONFIG_ID_SELINUX=y
CONFIG_GROUPS=y
CONFIG_LOGNAME=y
CONFIG_WHOAMI=y
CONFIG_KILL=y
# CONFIG_KILLALL5 is not set
# CONFIG_LINK is not set
CONFIG_LN=y
CONFIG_LS=y
CONFIG_LS_COLOR=y
CONFIG_LS_Z=y
CONFIG_MKDIR=y
CONFIG_MKFIFO=y
CONFIG_NICE=y
CONFIG_NL=y
CONFIG_NOHUP=y
CONFIG_OD=y
CONFIG_PASTE=y
CONFIG_PATCH=y
CONFIG_PRINTF=y
CONFIG_PWD=y
CONFIG_RENICE=y
CONFIG_RM=y
CONFIG_RMDIR=y
CONFIG_SED=y
CONFIG_SLEEP=y
CONFIG_SLEEP_FLOAT=y
CONFIG_SORT=y
CONFIG_SORT_BIG=y
CONFIG_SORT_FLOAT=y
CONFIG_SPLIT=y
CONFIG_STRINGS=y
CONFIG_TAIL=y
CONFIG_TAIL_SEEK=y
CONFIG_TEE=y
CONFIG_TIME=y
CONFIG_TOUCH=y
CONFIG_TRUE=y
CONFIG_TTY=y
CONFIG_UNAME=y
CONFIG_UNIQ=y
# CONFIG_UNLINK is not set
# CONFIG_UUDECODE is not set
# CONFIG_UUENCODE is not set
CONFIG_WC=y
# CONFIG_WHO is not set
CONFIG_XARGS=y
# CONFIG_XARGS_PEDANTIC is not set

#
# pending (see toys/pending/README)
#
# CONFIG_ARP is not set
# CONFIG_ARPING is not set
# CONFIG_BOOTCHARTD is not set
# CONFIG_BRCTL is not set
# CONFIG_COMPRESS is not set
# CONFIG_GZIP is not set
# CONFIG_GZIP_D is not set
# CONFIG_DECOMPRESS is not set
# CONFIG_ZCAT is not set
# CONFIG_GUNZIP is not set
# CONFIG_CROND is not set
# CONFIG_CRONTAB is not set
CONFIG_DD=y
# CONFIG_DHCP is not set
# CONFIG_DHCPD is not set
# CONFIG_DEBUG_DHCP is not set
# CONFIG_DIFF is not set
# CONFIG_DUMPLEASES is not set
CONFIG_EXPR=y
# CONFIG_FDISK is not set
# CONFIG_FOLD is not set
# CONFIG_FSCK is not set
# CONFIG_FTPGET is not set
# CONFIG_GETTY is not set
# CONFIG_GROUPADD is not set
# CONFIG_GROUPDEL is not set
# CONFIG_HEXEDIT is not set
# CONFIG_HOST is not set
CONFIG_HWCLOCK=y
# CONFIG_ICONV is not set
# CONFIG_INIT is not set
# CONFIG_IP is not set
# CONFIG_IPCRM is not set
# CONFIG_IPCS is not set
# CONFIG_KLOGD is not set
# CONFIG_KLOGD_SOURCE_RING_BUFFER is not set
# CONFIG_LAST is not set
# CONFIG_LOGGER is not set
# CONFIG_MDEV is not set
# CONFIG_MDEV_CONF is not set
# CONFIG_MKE2FS is not set
# CONFIG_MKE2FS_JOURNAL is not set
# CONFIG_MKE2FS_GEN is not set
# CONFIG_MKE2FS_LABEL is not set
# CONFIG_MKE2FS_EXTENDED is not set
# CONFIG_MODPROBE is not set
CONFIG_MORE=y
CONFIG_NETSTAT=y
# CONFIG_OPENVT is not set
# CONFIG_DEALLOCVT is not set
CONFIG_PGREP=y
# CONFIG_PING is not set
# CONFIG_PS is not set
# CONFIG_RESET is not set
CONFIG_ROUTE=y
# CONFIG_SH is not set
# CONFIG_EXIT is not set
# CONFIG_CD is not set
# CONFIG_SULOGIN is not set
# CONFIG_SYSLOGD is not set
CONFIG_TAR=y
# CONFIG_TCPSVD is not set
# CONFIG_TELNET is not set
# CONFIG_TELNETD is not set
# CONFIG_TEST is not set
# CONFIG_TFTPD is not set
CONFIG_TOP=y
CONFIG_TRACEROUTE=y
CONFIG_TR=y
# CONFIG_USERADD is not set
# CONFIG_USERDEL is not set
# CONFIG_WATCH is not set
# CONFIG_XZCAT is not set

#
# Other commands
#
CONFIG_ACPI=y
CONFIG_BASE64=y
CONFIG_BLKID=y
# CONFIG_FSTYPE is not set
CONFIG_BLOCKDEV=y
CONFIG_BZCAT=y
CONFIG_CHCON=y
CONFIG_CHROOT=y
# CONFIG_CHVT is not set
CONFIG_CLEAR=y
# CONFIG_COUNT is not set
CONFIG_DOS2UNIX=y
CONFIG_UNIX2DOS=y
# CONFIG_EJECT is not set
# CONFIG_FACTOR is not set
CONFIG_FALLOCATE=y
CONFIG_FREE=y
CONFIG_FREERAMDISK=y
CONFIG_FSFREEZE=y
CONFIG_HELP=y
CONFIG_HELP_EXTRAS=y
CONFIG_IFCONFIG=y
CONFIG_INOTIFYD=y
CONFIG_INSMOD=y
# CONFIG_LOGIN is not set
CONFIG_LOSETUP=y
CONFIG_LSATTR=y
CONFIG_CHATTR=y
CONFIG_LSMOD=y
CONFIG_LSPCI=y
CONFIG_LSPCI_TEXT=y
CONFIG_LSUSB=y
CONFIG_MAKEDEVS=y
# CONFIG_MIX is not set
# CONFIG_MKPASSWD is not set
CONFIG_MKSWAP=y
CONFIG_MODINFO=y
CONFIG_MOUNTPOINT=y
CONFIG_NBD_CLIENT=y
CONFIG_NETCAT=y
CONFIG_NETCAT_LISTEN=y
# CONFIG_UNSHARE is not set
# CONFIG_NSENTER is not set
# CONFIG_ONEIT is not set
CONFIG_PARTPROBE=y
CONFIG_PIVOT_ROOT=y
CONFIG_PMAP=y
CONFIG_PRINTENV=y
CONFIG_PWDX=y
# CONFIG_READAHEAD is not set
CONFIG_READLINK=y
CONFIG_REALPATH=y
# CONFIG_REBOOT is not set
CONFIG_REV=y
CONFIG_RFKILL=y
CONFIG_RMMOD=y
CONFIG_SETSID=y
# CONFIG_SHRED is not set
CONFIG_STAT=y
CONFIG_SWAPOFF=y
CONFIG_SWAPON=y
CONFIG_SWITCH_ROOT=y
CONFIG_SYSCTL=y
CONFIG_TAC=y
CONFIG_TASKSET=y
CONFIG_TIMEOUT=y
CONFIG_TRUNCATE=y
# CONFIG_UPTIME is not set
CONFIG_USLEEP=y
CONFIG_VCONFIG=y
CONFIG_VMSTAT=y
# CONFIG_W is not set
CONFIG_WHICH=y
CONFIG_YES=y

#
# Linux Standard Base commands
#
CONFIG_DMESG=y
CONFIG_HOSTNAME=y
CONFIG_KILLALL=y
CONFIG_MD5SUM=y
CONFIG_SHA1SUM=y
CONFIG_MKNOD=y
CONFIG_MKTEMP=y
CONFIG_MOUNT=y
# CONFIG_PASSWD is not set
CONFIG_PIDOF=y
CONFIG_SEQ=y
# CONFIG_SU is not set
CONFIG_SYNC=y
CONFIG_UMOUNT=y

#
# Example commands
#
# CONFIG_HELLO is not set
# CONFIG_SKELETON is not set
# CONFIG_SKELETON_ALIAS is not set

#
# Android
#
CONFIG_GETENFORCE=y
CONFIG_GETPROP=y
CONFIG_LOAD_POLICY=y
CONFIG_RESTORECON=y
CONFIG_RUNCON=y
CONFIG_SETENFORCE=y
CONFIG_SETPROP=y

#
# 
#

#
# Toybox global settings
#
CONFIG_TOYBOX=y
CONFIG_TOYBOX_SUID=y
# CONFIG_TOYBOX_LSM_NONE is not set
CONFIG_TOYBOX_SELINUX=y
# CONFIG_TOYBOX_SMACK is not set
CONFIG_TOYBOX_FLOAT=y
CONFIG_TOYBOX_HELP=y
CONFIG_TOYBOX_HELP_DASHDASH=y
CONFIG_TOYBOX_I18N=y
# CONFIG_TOYBOX_FREE is not set
# CONFIG_TOYBOX_NORECURSE is not set
# CONFIG_TOYBOX_DEBUG is not set
CONFIG_TOYBOX_UID_SYS=100
CONFIG_TOYBOX_UID_USR=500
