#
# 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_CATV is not set
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 is not set
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
