

config BR2_TARGET_TEST_PACKAGES
	bool "Enable most packages for testing purposes"
	help
	  Enables most packages.
	  X-Windows and Qtopia are significant exceptions

#	select BR2_LARGEFILE
#	select BR2_INET_IPV6
#	select BR2_INET_RPC
#	select BR2_USE_WCHAR

	select BR2_PACKAGE_BUSYBOX
	select BR2_BUSYBOX_VERSION_1_13_X
	select BR2_PACKAGE_BUSYBOX_FULLINSTALL
	select BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
	select BR2_PACKAGE_BZIP2
	select BR2_PACKAGE_FLEX
	select BR2_PACKAGE_FLEX_LIBFL
	select BR2_PACKAGE_GCC_TARGET
	select BR2_PACKAGE_MAKE
	select BR2_PACKAGE_AUTOCONF
	select BR2_PACKAGE_AUTOMAKE
	select BR2_PACKAGE_BISON
	select BR2_PACKAGE_CCACHE_TARGET
	select BR2_PACKAGE_CVS
	select BR2_PACKAGE_CVS_SERVER
	select BR2_PACKAGE_DISTCC
	select BR2_PACKAGE_DMALLOC
	select BR2_PACKAGE_FAKEROOT
	select BR2_HOST_FAKEROOT
	select BR2_PACKAGE_GETTEXT
	select BR2_PACKAGE_GETTEXT_STATIC
	select BR2_PACKAGE_LIBINTL
	select BR2_PACKAGE_LIBGMP
	select BR2_PACKAGE_LIBGMP_HEADERS
	select BR2_PACKAGE_GPERF
	select BR2_PACKAGE_LIBMPFR
	select BR2_PACKAGE_LIBMPFR_HEADERS
	select BR2_PACKAGE_LIBTOOL
	select BR2_PACKAGE_M4
	select BR2_PACKAGE_MPATROL
	select BR2_PACKAGE_OPROFILE
	select BR2_PACKAGE_PKGCONFIG
	select BR2_READLINE
	select BR2_PACKAGE_READLINE_TARGET
	select BR2_PACKAGE_READLINE_HEADERS
	select BR2_PACKAGE_PCRE
	select BR2_PACKAGE_AT
	select BR2_PACKAGE_BEECRYPT
	select BR2_PACKAGE_BERKELEYDB
	select BR2_PACKAGE_BSDIFF
	select BR2_PACKAGE_CUPS
	select BR2_PACKAGE_CUSTOMIZE
	select BR2_PACKAGE_FILE
	select BR2_PACKAGE_GAMIN
	select BR2_PACKAGE_ICU
	select BR2_PACKAGE_KEXEC
	select BR2_PACKAGE_KEXEC_ZLIB
	select BR2_PACKAGE_LIBCONFIG
	select BR2_PACKAGE_LIBCONFUSE
	select BR2_PACKAGE_LIBDAEMON
	select BR2_PACKAGE_LIBELF
	select BR2_PACKAGE_LIBELF_HEADERS
	select BR2_PACKAGE_LIBEVENT
	select BR2_PACKAGE_LIBGCRYPT
	select BR2_PACKAGE_LIBGPG_ERROR
	select BR2_PACKAGE_LIBICONV
	select BR2_PACKAGE_LIBIDN
	select BR2_PACKAGE_LIBLOCKFILE
	select BR2_PACKAGE_LIBOIL
	select BR2_PACKAGE_LIBSYSFS
	select BR2_PACKAGE_LOCKFILE_PROGS
	select BR2_PACKAGE_LOGROTATE
	select BR2_PACKAGE_LSOF
	select BR2_PACKAGE_LTP-TESTSUITE
	select BR2_PACKAGE_LTRACE
	select BR2_PACKAGE_LTT
	select BR2_PACKAGE_MEMSTAT
	select BR2_PACKAGE_NG_SPICE_REWORK
	select BR2_PACKAGE_POPT
	select BR2_PACKAGE_SCREEN
	select BR2_PACKAGE_STARTUP_NOTIFICATION
	select BR2_PACKAGE_STRACE
	select BR2_PACKAGE_SUDO
	select BR2_PACKAGE_MYSQL_CLIENT
	select BR2_PACKAGE_SQLITE
	select BR2_PACKAGE_ARGUS
	select BR2_PACKAGE_AVAHI
	select BR2_PACKAGE_AVAHI_AUTOIPD
	select BR2_PACKAGE_AVAHI_DAEMON
	select BR2_PACKAGE_AXEL
	select BR2_PACKAGE_BIND
	select BR2_PACKAGE_BRIDGE
	select BR2_PACKAGE_DNSMASQ
	select BR2_PACKAGE_DROPBEAR
	select BR2_PACKAGE_ETHTOOL
	select BR2_PACKAGE_HASERL
# BR2_PACKAGE_HASERL_VERSION_0_8_X is not set
	select BR2_PACKAGE_HASERL_VERSION_0_9_X
	select BR2_PACKAGE_IFPLUGD
	select BR2_PACKAGE_IPERF
	select BR2_PACKAGE_IPROUTE2
	select BR2_PACKAGE_IPSEC_TOOLS
	select BR2_PACKAGE_IPTABLES
	select BR2_PACKAGE_KISMET
	select BR2_PACKAGE_L2TP
	select BR2_PACKAGE_LIBCGI
	select BR2_PACKAGE_LIBCGICC
	select BR2_PACKAGE_LIBCURL
	select BR2_PACKAGE_CURL
	select BR2_PACKAGE_LIBDNET
	select BR2_PACKAGE_LIBOSIP2
	select BR2_PACKAGE_LIBEXOSIP2
	select BR2_PACKAGE_LIBPCAP
	select BR2_PACKAGE_LIBUPNP
	select BR2_PACKAGE_LINKS
	select BR2_PACKAGE_LRZSZ
	select BR2_PACKAGE_MDNSRESPONDER
	select BR2_PACKAGE_MICROCOM
	select BR2_PACKAGE_MIIDIAG
	select BR2_PACKAGE_MROUTED
	select BR2_PACKAGE_MUTT
	select BR2_PACKAGE_NBD
	select BR2_PACKAGE_NCFTP
	select BR2_PACKAGE_NCFTP_GET
	select BR2_PACKAGE_NCFTP_PUT
	select BR2_PACKAGE_NCFTP_LS
	select BR2_PACKAGE_NCFTP_BATCH
	select BR2_PACKAGE_NCFTP_SPOOLER
	select BR2_PACKAGE_NCFTP_BOOKMARKS
	select BR2_PACKAGE_NEON
	select BR2_PACKAGE_NETKITBASE
	select BR2_PACKAGE_NETKITTELNET
	select BR2_PACKAGE_NETPLUG
	select BR2_PACKAGE_NETSNMP
	select BR2_PACKAGE_NFS_UTILS
	select BR2_PACKAGE_NFS_UTILS_RPCDEBUG
	select BR2_PACKAGE_NFS_UTILS_RPC_LOCKD
	select BR2_PACKAGE_NFS_UTILS_RPC_RQUOTAD
	select BR2_PACKAGE_NTP
	select BR2_PACKAGE_OLSR
	select BR2_PACKAGE_OPENNTPD
	select BR2_PACKAGE_OPENSSH
	select BR2_PACKAGE_OPENSSL
	select BR2_PACKAGE_OPENSSL_BIN
	select BR2_PACKAGE_OPENSSL_ENGINES
	select BR2_PACKAGE_OPENVPN
	select BR2_PACKAGE_OPENSWAN
	select BR2_PACKAGE_PORTMAP
	select BR2_PACKAGE_PPPD
	select BR2_PACKAGE_RP_PPPOE
	select BR2_PACKAGE_PPTP_LINUX
	select BR2_PACKAGE_PROFTPD

#
# quagga suite
#
# BR2_PACKAGE_QUAGGA_ZEBRA is not set
# BR2_PACKAGE_QUAGGA_BGPD is not set
# BR2_PACKAGE_QUAGGA_RIPD is not set
# BR2_PACKAGE_QUAGGA_RIPNGD is not set
# BR2_PACKAGE_QUAGGA_OSPFD is not set
# BR2_PACKAGE_QUAGGA_OSPF6D is not set
# BR2_PACKAGE_QUAGGA_WATCHQUAGGA is not set
# BR2_PACKAGE_QUAGGA_ISISD is not set
	select BR2_PACKAGE_RSYNC
	select BR2_PACKAGE_SAMBA
	select BR2_PACKAGE_SOCAT
	select BR2_PACKAGE_STUNNEL
	select BR2_PACKAGE_TCPDUMP
	select BR2_PACKAGE_DHCPDUMP
	select BR2_PACKAGE_TFTPD
	select BR2_PACKAGE_TTCP
	select BR2_PACKAGE_UDPCAST
	select BR2_PACKAGE_VPNC
	select BR2_PACKAGE_VSFTPD
	select BR2_PACKAGE_VTUN
	select BR2_PACKAGE_WEBIF
	select BR2_PACKAGE_WIRELESS_TOOLS

#
# Hardware handling / blockdevices and filesystem maintenance
#
	select BR2_PACKAGE_DBUS
	select BR2_DBUS_EXPAT
	select BR2_DBUS_LIBXML2
	select BR2_PACKAGE_DBUS_GLIB
	select BR2_PACKAGE_DEVMEM2
	select BR2_PACKAGE_DM
	select BR2_PACKAGE_DMRAID
	select BR2_PACKAGE_E2FSPROGS
	select BR2_PACKAGE_E2FSPROGS_BADBLOCKS
	select BR2_PACKAGE_E2FSPROGS_BLKID
	select BR2_PACKAGE_E2FSPROGS_CHATTR
	select BR2_PACKAGE_E2FSPROGS_DUMPE2FS
	select BR2_PACKAGE_E2FSPROGS_E2FSCK
	select BR2_PACKAGE_E2FSPROGS_E2LABEL
	select BR2_PACKAGE_E2FSPROGS_FILEFRAG
	select BR2_PACKAGE_E2FSPROGS_FINDFS
	select BR2_PACKAGE_E2FSPROGS_FSCK
	select BR2_PACKAGE_E2FSPROGS_LOGSAVE
	select BR2_PACKAGE_E2FSPROGS_LSATTR
	select BR2_PACKAGE_E2FSPROGS_MKE2FS
	select BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND
	select BR2_PACKAGE_E2FSPROGS_TUNE2FS
	select BR2_PACKAGE_E2FSPROGS_UUIDGEN
	select BR2_PACKAGE_EEPROG
	select BR2_PACKAGE_FCONFIG
	select BR2_PACKAGE_FIS
	select BR2_PACKAGE_LIBFUSE
	select BR2_PACKAGE_GADGETFS_TEST
	select BR2_PACKAGE_GADGETFS_TEST_USE_AIO
	select BR2_PACKAGE_HAL
	select BR2_PACKAGE_HWDATA
	select BR2_PACKAGE_I2C_TOOLS
	select BR2_PACKAGE_INPUT_TOOLS
	select BR2_PACKAGE_INPUT_TOOLS_EVTEST
	select BR2_PACKAGE_INPUT_TOOLS_INPUTATTACH
	select BR2_PACKAGE_INPUT_TOOLS_JSCAL
	select BR2_PACKAGE_INPUT_TOOLS_JSTEST
	select BR2_PACKAGE_IOSTAT
	select BR2_PACKAGE_LIBAIO
# BR2_PACKAGE_LIBRAW1394 is not set
	select BR2_PACKAGE_LIBUSB
	select BR2_PACKAGE_LM_SENSORS
	select BR2_PACKAGE_LVM2
	select BR2_PACKAGE_MDADM
	select BR2_PACKAGE_MEMTESTER
	select BR2_PACKAGE_MKDOSFS
	select BR2_PACKAGE_MTD
# BR2_PACKAGE_MTD_UTILS is not set
	select BR2_PACKAGE_MTD_20061007
# BR2_PACKAGE_MTD_20050122 is not set
# BR2_PACKAGE_MTD_UTILS_GIT is not set

#
# MTD tools selection
#
	select BR2_PACKAGE_MTD_DOCFDISK
	select BR2_PACKAGE_MTD_DOC_LOADBIOS
	select BR2_PACKAGE_MTD_FLASHCP
	select BR2_PACKAGE_MTD_FLASH_ERASE
	select BR2_PACKAGE_MTD_FLASH_ERASEALL
	select BR2_PACKAGE_MTD_FLASH_INFO
	select BR2_PACKAGE_MTD_FLASH_LOCK
	select BR2_PACKAGE_MTD_FLASH_UNLOCK
	select BR2_PACKAGE_MTD_FTL_CHECK
	select BR2_PACKAGE_MTD_FTL_FORMAT
	select BR2_PACKAGE_MTD_JFFS2DUMP
	select BR2_PACKAGE_MTD_MKFSJFFS2
	select BR2_PACKAGE_MTD_MKFSJFFS
	select BR2_PACKAGE_MTD_MTD_DEBUG
	select BR2_PACKAGE_MTD_NANDDUMP
	select BR2_PACKAGE_MTD_NANDWRITE
	select BR2_PACKAGE_MTD_NFTL_FORMAT
	select BR2_PACKAGE_MTD_NFTLDUMP
	select BR2_PACKAGE_MTD_SUMTOOL
	select BR2_PACKAGE_NTFS-3G
	select BR2_PACKAGE_PCIUTILS
# BR2_PACKAGE_PCMCIA is not set
# BR2_PACKAGE_RAIDTOOLS is not set
	select BR2_PACKAGE_SETSERIAL
	select BR2_PACKAGE_SMARTMONTOOLS
	select BR2_PACKAGE_UDEV_VOLUME_ID
	select BR2_PACKAGE_UDEV_SCSI_ID
	select BR2_PACKAGE_USBMOUNT
	select BR2_PACKAGE_USBUTILS
	select BR2_PACKAGE_WIPE
# BR2_PACKAGE_XFSPROGS is not set

#
# Audio and video libraries and applications
#
	select BR2_PACKAGE_ALSA_LIB
	select BR2_PACKAGE_ALSA_LIB_PYTHON
	select BR2_PACKAGE_ALSA_UTILS

#
# ALSA utils selection
#
	select BR2_PACKAGE_ALSA_UTILS_ALSACONF
	select BR2_PACKAGE_ALSA_UTILS_ALSACTL
	select BR2_PACKAGE_ALSA_UTILS_ALSAMIXER
# BR2_PACKAGE_ALSA_UTILS_AMIDI is not set
	select BR2_PACKAGE_ALSA_UTILS_AMIXER
	select BR2_PACKAGE_ALSA_UTILS_APLAY
# BR2_PACKAGE_ALSA_UTILS_ARECORD is not set
# BR2_PACKAGE_ALSA_UTILS_IECSET is not set
# BR2_PACKAGE_ALSA_UTILS_ACONNECT is not set
# BR2_PACKAGE_ALSA_UTILS_APLAYMIDI is not set
# BR2_PACKAGE_ALSA_UTILS_ARECORDMIDI is not set
# BR2_PACKAGE_ALSA_UTILS_ASEQDUMP is not set
# BR2_PACKAGE_ALSA_UTILS_ASEQNET is not set
# BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST is not set
# BR2_PACKAGE_ASTERISK is not set
	select BR2_PACKAGE_AUMIX
	select BR2_PACKAGE_GSTREAMER
	select BR2_PACKAGE_GST_PLUGINS_BASE
# BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_ADDER is not set
	select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIOCONVERT
# BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIORATE is not set
	select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE
# BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC is not set
	select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_FFMPEGCOLORSPACE
# BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_GDP is not set
	select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_PLAYBACK
# BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_SUBPARSE is not set
# BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_TCP is not set
	select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_TYPEFIND
# BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC is not set
# BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VIDEORATE is not set
	select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VIDEOSCALE
	select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VOLUME
# BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_OGG is not set
# BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_THEORA is not set
# BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VORBIS is not set
	select BR2_PACKAGE_GST_PLUGINS_GOOD
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_VIDEOFILTER is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ALPHA is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_APETAG is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AUDIOFX is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AUPARSE is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AUTODETECT is not set
	select BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AVI
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_CUTTER is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_DEBUG is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_EFFECTV is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_EQUALIZER is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ID3DEMUX is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ICYDEMUX is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_INTERLEAVE is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_FLX is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_GOOM is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_GOOM2K1 is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_LAW is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_LEVEL is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MATROSKA is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MONOSCOPE is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MULTIFILE is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MULTIPART is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_QTDEMUX is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_REPLAYGAIN is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_RTP is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_RTSP is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SMPTE is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SPECTRUM is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_UDP is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_VIDEOBOX is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_VIDEOCROP is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_VIDEOMIXER is not set
# BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_WAVENC is not set
	select BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_WAVPARSE
	select BR2_PACKAGE_GST_PLUGINS_UGLY
# BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_ASFDEMUX is not set
# BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_DVDLPCMDEC is not set
# BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_DVDSUB is not set
# BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_IEC958 is not set
# BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_MPEGAUDIOPARSE is not set
# BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_MPEGSTREAM is not set
# BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_REALMEDIA is not set
# BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_SYNAESTHESIA is not set
# BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_ID3TAG is not set
# BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_MAD is not set
	select BR2_PACKAGE_LIBID3TAG
	select BR2_PACKAGE_LIBMAD
	select BR2_PACKAGE_LIBMAD_TARGET_HEADERS
	select BR2_PACKAGE_LIBMPD
	select BR2_PACKAGE_LIBOGG
	select BR2_PACKAGE_LIBSNDFILE
	select BR2_PACKAGE_LIBTHEORA
	select BR2_PACKAGE_LIBVORBIS
	select BR2_PACKAGE_LIBVORBIS_TREMOR
	select BR2_PACKAGE_MADPLAY
	select BR2_PACKAGE_MADPLAY_ALSA
	select BR2_PACKAGE_MPG123
	select BR2_PACKAGE_MPG123_ALSA
	select BR2_PACKAGE_MPLAYER
	select BR2_PACKAGE_SPEEX
	select BR2_PACKAGE_SPEEX_ARM_GENERIC
	select BR2_PACKAGE_FESTIVAL
	select BR2_PACKAGE_SPEECH_TOOLS
	select BR2_PACKAGE_FESTLEX_CMU
	select BR2_PACKAGE_FESTLEX_OALD
	select BR2_PACKAGE_FESTLEX_POS
	select BR2_PACKAGE_FESTVOX_AWB
	select BR2_PACKAGE_FESTVOX_BDL
	select BR2_PACKAGE_FESTVOX_JMK
	select BR2_PACKAGE_FESTVOX_SLT
# BR2_PACKAGE_FESTVOX_AWB_MULTISYN is not set
# BR2_PACKAGE_FESTVOX_JMK_MULTISYN is not set
# BR2_PACKAGE_FESTVOX_KAL_SIXTEENK is not set
# BR2_PACKAGE_FESTVOX_KED_EIGHTK is not set
# BR2_PACKAGE_FESTVOX_KED_SIXTEENK is not set
	select BR2_PACKAGE_VLC
	select BR2_PACKAGE_NCURSES
	select BR2_PACKAGE_NCURSES_TARGET_PANEL
	select BR2_PACKAGE_NCURSES_TARGET_FORM
	select BR2_PACKAGE_NCURSES_TARGET_MENU
	select BR2_PACKAGE_NCURSES_TARGET_HEADERS
	select BR2_PACKAGE_NEWT
	select BR2_PACKAGE_SLANG
	select BR2_PACKAGE_DIALOG
	select BR2_PACKAGE_DIRECTFB
	select BR2_PACKAGE_DIRECTFB_MULTI
	select BR2_PACKAGE_DIRECTFB_KEYBOARD
	select BR2_PACKAGE_DIRECTFB_SERIALMOUSE
	select BR2_PACKAGE_DIRECTFB_PNG
	select BR2_PACKAGE_DIRECTFB_TSLIB
	select BR2_PACKAGE_DIRECTFB_GIF
	select BR2_PACKAGE_DIRECTFB_JPEG
	select BR2_PACKAGE_DIRECTFB_EXAMPLES
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_BLTLOAD
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_CPULOAD
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_DATABUFFER
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_DIOLOAD
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_DOK
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_DRIVERTEST
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_FIRE
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_FLIP
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_FONTS
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_INPUT
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_JOYSTICK
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_KNUCKLES
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_LAYER
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_NEO
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_NETLOAD
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_PALETTE
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_PARTICLE
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_PORTER
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_STRESS
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_TEXTURE
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO_PARTICLE
	select BR2_PACKAGE_DIRECTFB_EXAMPLES_WINDOW
	select BR2_PACKAGE_FBDUMP
	select BR2_PACKAGE_IMAGEMAGICK
	select BR2_PACKAGE_JPEG
	select BR2_PACKAGE_LIBART
	select BR2_PACKAGE_LIBPNG
	select BR2_PACKAGE_LIBUNGIF
	select BR2_PACKAGE_LINUX_FUSION
	select BR2_PACKAGE_LITE
	select BR2_PACKAGE_PIXMAN
	select BR2_PACKAGE_SAWMAN
	select BR2_PACKAGE_SDL
	select BR2_PACKAGE_SDL_FBCON
	select BR2_PACKAGE_SDL_DIRECTFB
# BR2_PACKAGE_SDL_QTOPIA is not set
# BR2_PACKAGE_SDL_X11 is not set
	select BR2_PACKAGE_SDL_IMAGE
	select BR2_PACKAGE_SDL_IMAGE_BMP
	select BR2_PACKAGE_SDL_IMAGE_GIF
	select BR2_PACKAGE_SDL_IMAGE_JPEG
# BR2_PACKAGE_SDL_IMAGE_LBM is not set
# BR2_PACKAGE_SDL_IMAGE_PCX is not set
# BR2_PACKAGE_SDL_IMAGE_PNG is not set
# BR2_PACKAGE_SDL_IMAGE_PNM is not set
# BR2_PACKAGE_SDL_IMAGE_TARGA is not set
# BR2_PACKAGE_SDL_IMAGE_TIFF is not set
# BR2_PACKAGE_SDL_IMAGE_XCF is not set
# BR2_PACKAGE_SDL_IMAGE_XPM is not set
# BR2_PACKAGE_SDL_IMAGE_XV is not set
	select BR2_PACKAGE_SDL_MIXER
	select BR2_PACKAGE_SDL_NET
	select BR2_PACKAGE_SDL_TTF
	select BR2_PACKAGE_TIFF
	select BR2_PACKAGE_FBV
	select BR2_PACKAGE_FBSET
# BR2_PACKAGE_QTOPIA4 is not set
	select BR2_PACKAGE_XSERVER_none
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set
	select BR2_PACKAGE_ATK
	select BR2_PACKAGE_CAIRO
	select BR2_PACKAGE_PANGO
	select BR2_PACKAGE_LIBDRM
	select BR2_PACKAGE_LIBERATION
# BR2_PACKAGE_LIBGLADE is not set
	select BR2_PACKAGE_LIBGLIB12
	select BR2_PACKAGE_LIBGLIB2
	select BR2_PACKAGE_LIBGTK2
	select BR2_PACKAGE_LIBGTK2_ENGINES
	select BR2_PACKAGE_GTK2_THEME_HICOLOR
	select BR2_PACKAGE_LIBSEXY
# BR2_PACKAGE_OPENMOTIF is not set
	select BR2_PACKAGE_FONTCONFIG
	select BR2_PACKAGE_FREETYPE
# BR2_FREETYPE_VERSION_2_2_1 is not set
	select BR2_FREETYPE_VERSION_2_3_7
	select BR2_PACKAGE_TSLIB
	select BR2_PACKAGE_WEBKIT
# BR2_PACKAGE_MATCHBOX is not set
# BR2_PACKAGE_ALSAMIXERGUI is not set

#
# dillo		- disabled (requires jpeg,libglib12,libgtk12,zlib,libpng and Xorg(7))
#
# BR2_PACKAGE_GQVIEW is not set
# BR2_PACKAGE_GMPC is not set
# BR2_PACKAGE_GTKPERF is not set
# BR2_PACKAGE_LEAFPAD is not set

#
# midori		- disabled (requires Xorg(7))
#
# BR2_PACKAGE_PCMANFM is not set
# BR2_PACKAGE_SYLPHEED is not set
# BR2_PACKAGE_TORSMO is not set
# BR2_PACKAGE_X11VNC is not set
# BR2_PACKAGE_XPDF is not set
# BR2_PACKAGE_XSTROKE is not set
# BR2_PACKAGE_XVKBD is not set

#
# Compressors / decompressors
#
	select BR2_PACKAGE_LZO
# BR2_PACKAGE_LZMA_TARGET is not set
	select BR2_PACKAGE_LZMA_HOST
	select BR2_PACKAGE_ZLIB
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set

#
# Package managers
#
	select BR2_PACKAGE_IPKG
	select BR2_PACKAGE_PORTAGE

#
# Interpreter languages / Scripting
#
	select BR2_PACKAGE_LUA
	select BR2_PACKAGE_MICROPERL
	select BR2_PACKAGE_PYTHON
# BR2_PACKAGE_PYTHON_DEV is not set
	select BR2_PACKAGE_PYTHON_PY_ONLY
# BR2_PACKAGE_PYTHON_PYC_ONLY is not set
# BR2_PACKAGE_PYTHON_PY_PYC is not set

#
# The following modules are unusual or require extra libraries
#
# BR2_PACKAGE_PYTHON_BSDDB is not set
# BR2_PACKAGE_PYTHON_CODECSCJK is not set
# BR2_PACKAGE_PYTHON_CURSES is not set
# BR2_PACKAGE_PYTHON_GDBM is not set
# BR2_PACKAGE_PYTHON_NIS is not set
# BR2_PACKAGE_PYTHON_PYEXPAT is not set
# BR2_PACKAGE_PYTHON_READLINE is not set
# BR2_PACKAGE_PYTHON_SSL is not set
# BR2_PACKAGE_PYTHON_TKINTER is not set
# BR2_PACKAGE_PYTHON_UNICODEDATA is not set
	select BR2_PACKAGE_RUBY
	select BR2_PACKAGE_TCL
	select BR2_PACKAGE_TCL_DEL_ENCODINGS
	select BR2_PACKAGE_TCL_SHLIB_ONLY
	select BR2_PACKAGE_PHP
	select BR2_PACKAGE_PHP_CLI
	select BR2_PACKAGE_PHP_CGI
	select BR2_PACKAGE_PHP_FASTCGI

#
# PHP Extensions
#
# BR2_PACKAGE_PHP_EXT_SOCKETS is not set
	select BR2_PACKAGE_PHP_EXT_POSIX
	select BR2_PACKAGE_PHP_EXT_SPL
	select BR2_PACKAGE_PHP_EXT_SESSION
# BR2_PACKAGE_PHP_EXT_OPENSSL is not set
	select BR2_PACKAGE_PHP_EXT_LIBXML2
# BR2_PACKAGE_PHP_EXT_SIMPLEXML is not set
	select BR2_PACKAGE_PHP_EXT_ZLIB
# BR2_PACKAGE_PHP_EXT_EXIF is not set
	select BR2_PACKAGE_PHP_EXT_FTP
	select BR2_PACKAGE_PHP_EXT_GETTEXT
# BR2_PACKAGE_PHP_EXT_GMP is not set
# BR2_PACKAGE_PHP_EXT_JSON is not set
	select BR2_PACKAGE_PHP_EXT_READLINE
	select BR2_PACKAGE_PHP_EXT_NCURSES
# BR2_PACKAGE_PHP_EXT_SYSVMSG is not set
# BR2_PACKAGE_PHP_EXT_SYSVSEM is not set
# BR2_PACKAGE_PHP_EXT_SYSVSHM is not set
# BR2_PACKAGE_PHP_EXT_ZIP is not set
# BR2_PACKAGE_PHP_EXT_FILTER is not set

#
# Database extensions
#
	select BR2_PACKAGE_PHP_EXT_SQLITE
# BR2_PACKAGE_PHP_EXT_SQLITE_UTF8 is not set
	select BR2_PACKAGE_PHP_EXT_PDO
	select BR2_PACKAGE_PHP_EXT_PDO_SQLITE
# BR2_PACKAGE_PHP_EXT_PDO_MYSQL is not set

#
# XML handling
#
	select BR2_PACKAGE_EXPAT
	select BR2_PACKAGE_EZXML
	select BR2_PACKAGE_LIBXML2
	select BR2_PACKAGE_LIBXSLT
	select BR2_PACKAGE_XERCES

#
# Java
#
# BR2_PACKAGE_CLASSPATH is not set

#
# Games
#
# BR2_PACKAGE_GNUCHESS is not set
# BR2_PACKAGE_MAGICCUBE4D is not set
# BR2_PACKAGE_PRBOOM is not set
# BR2_PACKAGE_RUBIX is not set
# BR2_PACKAGE_VICE is not set
# BR2_PACKAGE_XBOARD is not set

	select BR2_TARGET_UBOOT
	select BR2_TARGET_UBOOT_2009_01_RC3
#
# Kernel
#
# BR2_KERNEL_none is not set
	select BR2_KERNEL_LINUX_ADVANCED
# BR2_KERNEL_LINUX is not set
# BR2_KERNEL_HURD is not set
	select BR2_PACKAGE_LINUX
	select BR2_LINUX_2_6_28

