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

#define BB_BUSYBOX
#define BB_CAT
#define BB_CHMOD_CHOWN_CHGRP
#define BB_CHROOT
#define BB_CLEAR
#define BB_CP
#define BB_DATE
#define BB_DD
#define BB_DF
#define BB_DMESG
#define BB_DUTMP
#define BB_FALSE
#define BB_FDFLUSH
#define BB_FIND
#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_MAKEDEVS
#define BB_MATH
#define BB_MKDIR
//#define BB_MKNOD
////#define BB_MKSWAP
#define BB_MNC
#define BB_MORE
#define BB_MOUNT
////#define BB_MT
#define BB_MV
//#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
