/*
 * This file is parsed by sed. You MUST use single line comments.
 * IE	//#define BB_BLAH
 */

//#define BB_BLOCK_DEVICE
#define BB_BUSYBOX
#define BB_CAT
#define BB_CHGRP
//#define BB_CHMOD
//#define BB_CHOWN
//#define BB_CHROOT
//#define BB_CLEAR
//#define BB_CP
//#define BB_DATE
//#define BB_DD
//#define BB_DESCEND
//#define BB_DF
//#define BB_DMESG
//#define BB_DUTMP
//#define BB_DYADIC
//#define BB_FALSE
//#define BB_FDFLUSH
//#define BB_FIND
//#define BB_FINDMOUNT
//#define BB_GREP
////#define BB_HALT
//#define BB_INIT
//#define BB_KILL
////#define BB_LENGTH
//#define BB_LN
//#define BB_LOADKMAP
////#define BB_LOSETUP
//#define BB_LS
//#define BB_MAIN
//#define BB_MAKEDEVS
////#define BB_MATH
//#define BB_MKDIR
//#define BB_MKNOD
////#define BB_MKSWAP
//#define BB_MNC
//#define BB_MONADIC
//#define BB_MORE
//#define BB_MOUNT
////#define BB_MT
//#define BB_MV
//#define BB_POSTPROCESS
//#define BB_PRINTF
//#define BB_PWD
//#define BB_REBOOT
//#define BB_RM
//#define BB_RMDIR
//#define BB_SLEEP
////#define BB_SWAPOFF
//#define BB_SWAPON
//#define BB_SYNC
//#define BB_TAR
//#define BB_TOUCH
//#define BB_TRUE
//#define BB_UMOUNT
//#define BB_UPDATE
//#define BB_UTILITY
//#define BB_ZCAT
//#define BB_GZIP
