#
# Automatically generated make config: don't edit
# Sat Jan 31 22:40:28 2009
#
BR2_HAVE_DOT_CONFIG=y
BR2_VERSION="2009.02-svn"
# BR2_alpha is not set
BR2_arm=y
# BR2_armeb is not set
# BR2_avr32 is not set
# BR2_cris is not set
# BR2_ia64 is not set
# BR2_i386 is not set
# BR2_m68k is not set
# BR2_mips is not set
# BR2_mipsel is not set
# BR2_nios2 is not set
# BR2_powerpc is not set
# BR2_sh is not set
# BR2_sh64 is not set
# BR2_sparc is not set
# BR2_sparc64 is not set
# BR2_x86_64 is not set
BR2_generic_arm=y
# BR2_arm7tdmi is not set
# BR2_arm610 is not set
# BR2_arm710 is not set
# BR2_arm720t is not set
# BR2_arm920t is not set
# BR2_arm922t is not set
# BR2_arm926t is not set
# BR2_arm10t is not set
# BR2_arm1136jf_s is not set
# BR2_arm1176jz_s is not set
# BR2_arm1176jzf_s is not set
# BR2_sa110 is not set
# BR2_sa1100 is not set
# BR2_xscale is not set
# BR2_iwmmxt is not set
BR2_ARM_TYPE="GENERIC_ARM"
BR2_ARM_OABI=y
# BR2_ARM_EABI is not set
BR2_ARCH="arm"
BR2_ENDIAN="LITTLE"
BR2_GCC_TARGET_ABI="apcs-gnu"

#
# Target options
#

#
# Project Options
#
BR2_PROJECT="at91sam9263ek_ext"
BR2_HOSTNAME="AT91SAM9263EK"
BR2_BANNER="Welcome to the Erik's uClibc development environment running on an AT91SAM9263EK"

#
# Preset Devices
#
# BR2_TARGET_ARMLTD is not set
BR2_BOARD_NAME="at91sam9263ek"
BR2_BOARD_PATH="target/device/Atmel/$(BR2_BOARD_NAME)"
BR2_TARGET_ATMEL=y

#
# Atmel AT91 Specific Device Support
#
BR2_TARGET_AT91=y

#
# Selection criteria
#
BR2_TARGET_ATMEL_ALL=y

#
# Device Selection
#
# BR2_TARGET_AT91RM9200 is not set
# BR2_TARGET_AT91SAM9260 is not set
# BR2_TARGET_AT91SAM9G20 is not set
# BR2_TARGET_AT91SAM9261 is not set
# BR2_TARGET_AT91SAM9261S is not set
# BR2_TARGET_AT91SAM9RL64 is not set
BR2_TARGET_AT91SAM9263=y
# BR2_TARGET_AT91SAM9G40 is not set
# BR2_TARGET_AT91SAM9M10 is not set
# BR2_TARGET_AT91SAM9M11 is not set
# BR2_TARGET_AT91SAM9XE is not set
# BR2_TARGET_AT572D940HF is not set
# BR2_TARGET_AT91CAP9 is not set

#
# Development Board Selection
#
# BR2_TARGET_AT91RM9200DF is not set
# BR2_TARGET_AT91RM9200EK is not set
# BR2_TARGET_AT91RM9200DK is not set
# BR2_TARGET_AT91SAM9260DFC is not set
# BR2_TARGET_AT91SAM9260EK is not set
# BR2_TARGET_AT91SAM9G20DFC is not set
# BR2_TARGET_AT91SAM9G20EK is not set
# BR2_TARGET_AT91SAM9XEEK is not set
# BR2_TARGET_AT91SAM9261EK is not set
# BR2_TARGET_AT91SAM9RL64EK is not set
BR2_TARGET_AT91SAM9263EK=y
# BR2_TARGET_AT572D940DCM is not set
# BR2_TARGET_AT91CAP9DK is not set
# BR2_TARGET_AT91CAP9ADK is not set
# BR2_TARGET_AT91SAM9261EK_SPIMODE0 is not set
# BR2_TARGET_AT91SAM9261EK_SPIMODE3 is not set
BR2_TARGET_AT91_ADVANCED_INFO=y

#
# Package support
#

#
# Secondary locations
#
BR2_AT91_LINUXPATCH_SITE="http://maxim.org.za/AT91RM9200/2.6"
BR2_TARGET_AT91BOOTSTRAP=y
BR2_TARGET_AT91BOOTSTRAP_BOARD="$(BOARD_NAME)"
# BR2_TARGET_AT91BOOT_DATAFLASH is not set
BR2_TARGET_AT91BOOT_DATAFLASHCARD=y
# BR2_TARGET_AT91BOOT_NANDFLASH is not set
# BR2_TARGET_AT91BOOT_FLASH is not set
# BR2_TARGET_AT91BOOT_SDCARD is not set
# BR2_TARGET_AT91BOOT_EEPROM is not set
BR2_TARGET_AT91BOOTSTRAP_MEMORY="dataflashcard"
BR2_AT91BOOTSTRAP_IMG_SIZE="0x32000"
BR2_AT91BOOTSTRAP_JUMP_TO_DEFAULT=y
# BR2_AT91BOOTSTRAP_JUMP_TO_HIGH_SDRAM is not set
# BR2_AT91BOOTSTRAP_JUMP_TO_START_OF_SDRAM is not set
BR2_AT91BOOTSTRAP_JUMP_ADDR="0x23F00000"

#
# It will be copied to $(BR2_AT91BOOTSTRAP_JUMP_ADDR)
#
# BR2_TARGET_KWIKBYTE is not set
BR2_KERNEL_ARCH_PATCH_VERSION="2.6.28"
BR2_KERNEL_ARCH_PATCH_DIR="target/device/Atmel/arch-arm/kernel-patches-$(BR2_KERNEL_ARCH_PATCH_VERSION)"

#
# Generic System Support
#
# BR2_TARGET_GENERIC_ACCESS_POINT is not set
# BR2_TARGET_GENERIC_FIREWALL is not set
# BR2_TARGET_GENERIC_DEV_SYSTEM is not set

#
# Build options
#
BR2_WGET="wget --passive-ftp"
BR2_SVN="svn"
BR2_GIT="git"
BR2_ZCAT="gzip -d -c"
BR2_BZCAT="bzcat"
BR2_TAR_OPTIONS=""
BR2_DL_DIR="$(TOPDIR)/dl"

#
# Mirrors and Download locations
#
BR2_PRIMARY_SITE=""
BR2_BACKUP_SITE="http://sources.buildroot.net/"
BR2_SOURCEFORGE_MIRROR="easynews"
BR2_KERNEL_MIRROR="http://www.kernel.org/pub/"
BR2_GNU_MIRROR="http://ftp.gnu.org/pub/gnu"
BR2_DEBIAN_MIRROR="http://ftp.debian.org"

#
# Atmel Mirrors
#
BR2_ATMEL_MIRROR="ftp://www.at91.com/pub/buildroot"
BR2_AT91_PATCH_MIRROR="http://maxim.org.za/AT91RM9200/2.6/"
BR2_STAGING_DIR="$(BASE_DIR)/staging"
# BR2_FPU_SUFFIX is not set
BR2_TOPDIR_PREFIX=""
BR2_TOPDIR_SUFFIX=""
BR2_ROOTFS_PREFIX="at91sam9263ek-NAND"
BR2_JLEVEL=2
# BR2_DEPRECATED is not set
# BR2_ENABLE_DEBUG is not set
BR2_STRIP_strip=y
# BR2_STRIP_sstrip is not set
# BR2_STRIP_none is not set
# BR2_OPTIMIZE_0 is not set
# BR2_OPTIMIZE_1 is not set
# BR2_OPTIMIZE_2 is not set
# BR2_OPTIMIZE_3 is not set
BR2_OPTIMIZE_S=y
# BR2_PREFER_STATIC_LIB is not set
# BR2_HAVE_DOCUMENTATION is not set
# BR2_HAVE_DEVFILES is not set

#
# Toolchain
#
# BR2_TOOLCHAIN_BUILDROOT is not set
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_PATH="$(GCCROOT)"
BR2_TOOLCHAIN_EXTERNAL_PREFIX="$(ARCH)-linux"
BR2_TOOLCHAIN_EXTERNAL_LIB_C="libc.so.0"
BR2_TOOLCHAIN_EXTERNAL_LIBS="ld-uClibc.so.0 libcrypt.so.0 libdl.so.0 libgcc_s.so libm.so.0 libnsl.so.0 libpthread.so.0 libresolv.so.0 librt.so.0 libutil.so.0"
BR2_TOOLCHAIN_EXTERNAL_STRIP=y

#
# Gdb Options
#
# BR2_PACKAGE_GDB is not set
# BR2_PACKAGE_GDB_SERVER is not set
# BR2_PACKAGE_GDB_HOST is not set

#
# Common Toolchain Options
#
BR2_LARGEFILE=y
BR2_INET_IPV6=y
BR2_INET_RPC=y
BR2_ENABLE_LOCALE=y
BR2_USE_WCHAR=y
# BR2_SOFT_FLOAT is not set
# BR2_PTHREADS_NONE is not set
# BR2_PTHREADS is not set
BR2_PTHREADS_OLD=y
# BR2_PTHREADS_NATIVE is not set
BR2_GCC_CROSS_CXX=y
BR2_INSTALL_LIBSTDCPP=y
BR2_TARGET_OPTIMIZATION="-Os -pipe"

#
# Package Selection for the target
#
BR2_PACKAGE_BUSYBOX=y
# BR2_BUSYBOX_VERSION_1_2_2_1 is not set
# BR2_BUSYBOX_VERSION_1_6_1 is not set
# BR2_BUSYBOX_VERSION_1_7_X is not set
# BR2_BUSYBOX_VERSION_1_8_X is not set
# BR2_BUSYBOX_VERSION_1_9_X is not set
# BR2_BUSYBOX_VERSION_1_10_X is not set
# BR2_BUSYBOX_VERSION_1_11_X is not set
# BR2_BUSYBOX_VERSION_1_12_X is not set
BR2_BUSYBOX_VERSION_1_13_X=y
# BR2_PACKAGE_BUSYBOX_SNAPSHOT is not set
BR2_BUSYBOX_VERSION="1.13.2"
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set

#
# The minimum needed to build a uClibc development system
#
# BR2_PACKAGE_FLEX is not set
# BR2_PACKAGE_GCC_TARGET is not set
# BR2_PACKAGE_MAKE is not set

#
# Other development stuff
#
# BR2_PACKAGE_AUTOCONF is not set
# BR2_PACKAGE_AUTOMAKE is not set
# BR2_PACKAGE_BISON is not set
# BR2_PACKAGE_CCACHE_TARGET is not set
# BR2_PACKAGE_CVS is not set
# BR2_PACKAGE_DISTCC is not set
# BR2_PACKAGE_DMALLOC is not set
# BR2_PACKAGE_FAKEROOT is not set
BR2_PACKAGE_GETTEXT=y
# BR2_PACKAGE_GETTEXT_STATIC is not set
BR2_PACKAGE_LIBINTL=y
# BR2_PACKAGE_LIBGMP is not set
# BR2_PACKAGE_GPERF is not set
# BR2_PACKAGE_LIBMPFR is not set
# BR2_PACKAGE_LIBTOOL is not set
# BR2_PACKAGE_M4 is not set
# BR2_PACKAGE_OPROFILE is not set
BR2_PACKAGE_READLINE=y
# BR2_PACKAGE_PCRE is not set

#
# Other stuff
#
# BR2_PACKAGE_AT is not set
# BR2_PACKAGE_BEECRYPT is not set
# BR2_PACKAGE_BERKELEYDB is not set
# BR2_PACKAGE_BSDIFF is not set
# BR2_PACKAGE_CUPS is not set
# BR2_PACKAGE_CUSTOMIZE is not set
# BR2_PACKAGE_FILE is not set
# BR2_PACKAGE_GAMIN is not set
BR2_PACKAGE_ICU=y
# BR2_PACKAGE_KEXEC is not set
# BR2_PACKAGE_LIBCONFIG is not set
# BR2_PACKAGE_LIBCONFUSE is not set
# BR2_PACKAGE_LIBDAEMON is not set
# BR2_PACKAGE_LIBELF is not set
# BR2_PACKAGE_LIBEVENT is not set
# BR2_PACKAGE_LIBGCRYPT is not set
# BR2_PACKAGE_LIBGPG_ERROR is not set
# BR2_PACKAGE_LIBICONV is not set
# BR2_PACKAGE_LIBIDN is not set
BR2_PACKAGE_LIBLOCKFILE=y
BR2_PACKAGE_LIBOIL=y
# BR2_PACKAGE_LIBSYSFS is not set
BR2_PACKAGE_LOCKFILE_PROGS=y
# BR2_PACKAGE_LOGROTATE is not set
# BR2_PACKAGE_LSOF is not set
# BR2_PACKAGE_LTP-TESTSUITE is not set
# BR2_PACKAGE_LTRACE is not set
# BR2_PACKAGE_MEMSTAT is not set
# BR2_PACKAGE_NG_SPICE_REWORK is not set
# BR2_PACKAGE_POPT is not set
# BR2_PACKAGE_SCREEN is not set
# BR2_PACKAGE_STARTUP_NOTIFICATION is not set
# BR2_PACKAGE_STRACE is not set
# BR2_PACKAGE_SUDO is not set

#
# Database
#
# BR2_PACKAGE_MYSQL_CLIENT is not set
BR2_PACKAGE_SQLITE=y

#
# Networking
#

#
# Networking applications
#
# BR2_PACKAGE_ARGUS is not set
# BR2_PACKAGE_AVAHI is not set
# BR2_PACKAGE_AXEL is not set
# BR2_PACKAGE_BIND is not set
# BR2_PACKAGE_BRIDGE is not set
# BR2_PACKAGE_DNSMASQ is not set
# BR2_PACKAGE_DROPBEAR is not set
# BR2_PACKAGE_ETHTOOL is not set
# BR2_PACKAGE_HASERL is not set
# BR2_PACKAGE_IFPLUGD is not set
# BR2_PACKAGE_IPERF is not set
# BR2_PACKAGE_IPROUTE2 is not set

#
# ipsec-tools	- disabled (requires openssl, flex and the flex library (libfl.a) )
#
BR2_PACKAGE_IPTABLES=y
# BR2_PACKAGE_KISMET is not set
# BR2_PACKAGE_L2TP is not set
# BR2_PACKAGE_LIBCGI is not set
# BR2_PACKAGE_LIBCGICC is not set
# BR2_PACKAGE_LIBCURL is not set
# BR2_PACKAGE_LIBDNET is not set
# BR2_PACKAGE_LIBEXOSIP2 is not set
# BR2_PACKAGE_LIBOSIP2 is not set
# BR2_PACKAGE_LIBPCAP is not set
# BR2_PACKAGE_LIBUPNP is not set
# BR2_PACKAGE_LINKS is not set
BR2_PACKAGE_LRZSZ=y
# BR2_PACKAGE_MDNSRESPONDER is not set
BR2_PACKAGE_MICROCOM=y
# BR2_PACKAGE_MIIDIAG is not set
# BR2_PACKAGE_MROUTED is not set
# BR2_PACKAGE_MUTT is not set
# BR2_PACKAGE_NBD is not set
BR2_PACKAGE_NCFTP=y

#
# ncFTP tools selection
#
BR2_PACKAGE_NCFTP_GET=y
BR2_PACKAGE_NCFTP_PUT=y
BR2_PACKAGE_NCFTP_LS=y
BR2_PACKAGE_NCFTP_BATCH=y
# BR2_PACKAGE_NCFTP_SPOOLER is not set
# BR2_PACKAGE_NCFTP_BOOKMARKS is not set
# BR2_PACKAGE_NEON is not set
# BR2_PACKAGE_NETKITBASE is not set
# BR2_PACKAGE_NETKITTELNET is not set
# BR2_PACKAGE_NETPLUG is not set
# BR2_PACKAGE_NETSNMP is not set
# BR2_PACKAGE_NFS_UTILS is not set
BR2_PACKAGE_NTP=y
# BR2_PACKAGE_NTP_SNTP is not set
# BR2_PACKAGE_OLSR is not set
# BR2_PACKAGE_OPENNTPD is not set
# BR2_PACKAGE_OPENSSH is not set
# BR2_PACKAGE_OPENSSL is not set
# BR2_PACKAGE_OPENVPN is not set
# BR2_PACKAGE_OPENSWAN is not set
BR2_PACKAGE_PORTMAP=y
# BR2_PACKAGE_PPPD is not set
# BR2_PACKAGE_RADVD is not set
# BR2_PACKAGE_RP_PPPOE is not set
# BR2_PACKAGE_PPTP_LINUX is not set
BR2_PACKAGE_PROFTPD=y

#
# 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
# BR2_PACKAGE_RSYNC is not set
# BR2_PACKAGE_SAMBA is not set
BR2_PACKAGE_SOCAT=y
BR2_PACKAGE_SOCAT_PREDEF_CRDLY_SHIFT="9"
BR2_PACKAGE_SOCAT_PREDEF_TABDLY_SHIFT="11"
BR2_PACKAGE_SOCAT_PREDEF_CSIZE_SHIFT="4"
# BR2_PACKAGE_STUNNEL is not set
# BR2_PACKAGE_TCPDUMP is not set
# BR2_PACKAGE_DHCPDUMP is not set
BR2_PACKAGE_TFTPD=y
# BR2_PACKAGE_TN5250 is not set
# BR2_PACKAGE_TTCP is not set
# BR2_PACKAGE_UDPCAST is not set
# BR2_PACKAGE_VPNC is not set
# BR2_PACKAGE_VSFTPD is not set
# BR2_PACKAGE_VTUN is not set
# BR2_PACKAGE_WEBIF is not set
# BR2_PACKAGE_WIRELESS_TOOLS is not set

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

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

#
# Audio and video libraries and applications
#
BR2_PACKAGE_ALSA_LIB=y
BR2_PACKAGE_ALSA_LIB_PYTHON=y
BR2_PACKAGE_ALSA_UTILS=y

#
# ALSA utils selection
#
BR2_PACKAGE_ALSA_UTILS_ALSACONF=y
BR2_PACKAGE_ALSA_UTILS_ALSACTL=y
BR2_PACKAGE_ALSA_UTILS_ALSAMIXER=y
# BR2_PACKAGE_ALSA_UTILS_AMIDI is not set
BR2_PACKAGE_ALSA_UTILS_AMIXER=y
BR2_PACKAGE_ALSA_UTILS_APLAY=y
# 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=y

#
# asterisk	- disabled (required openssl and mpg123)
#
BR2_PACKAGE_AUMIX=y
# BR2_PACKAGE_GSTREAMER is not set
BR2_PACKAGE_LIBID3TAG=y
BR2_PACKAGE_LIBMAD=y
# BR2_PACKAGE_LIBMAD_TARGET_HEADERS is not set
# BR2_PACKAGE_LIBMPD is not set
BR2_PACKAGE_LIBOGG=y
BR2_PACKAGE_LIBSNDFILE=y
# BR2_PACKAGE_LIBTHEORA is not set
BR2_PACKAGE_LIBVORBIS=y
BR2_PACKAGE_LIBVORBIS_TREMOR=y
BR2_PACKAGE_MADPLAY=y
BR2_PACKAGE_MADPLAY_ALSA=y
BR2_PACKAGE_MPG123=y
BR2_PACKAGE_MPG123_ALSA=y
BR2_PACKAGE_MPLAYER=y
# BR2_PACKAGE_SPEEX is not set
# BR2_PACKAGE_FESTIVAL is not set
# BR2_PACKAGE_VLC is not set

#
# Graphic libraries and applications (graphic/text)
#

#
# text rendering libraries
#
BR2_PACKAGE_NCURSES=y
BR2_PACKAGE_NCURSES_TARGET_PANEL=y
BR2_PACKAGE_NCURSES_TARGET_FORM=y
BR2_PACKAGE_NCURSES_TARGET_MENU=y
BR2_PACKAGE_NCURSES_TARGET_HEADERS=y
# BR2_PACKAGE_NEWT is not set
# BR2_PACKAGE_SLANG is not set

#
# text rendering applications
#
BR2_PACKAGE_DIALOG=y

#
# graphic libraries
#
BR2_PACKAGE_DIRECTFB=y
BR2_PACKAGE_DIRECTFB_MULTI=y
BR2_PACKAGE_DIRECTFB_KEYBOARD=y
BR2_PACKAGE_DIRECTFB_SERIALMOUSE=y
# BR2_PACKAGE_DIRECTFB_PNG is not set
BR2_PACKAGE_DIRECTFB_TSLIB=y
BR2_PACKAGE_DIRECTFB_GIF=y
BR2_PACKAGE_DIRECTFB_JPEG=y
# BR2_PACKAGE_DIRECTFB_EXAMPLES is not set
BR2_PACKAGE_FBDUMP=y
# BR2_PACKAGE_IMAGEMAGICK is not set
BR2_PACKAGE_JPEG=y
# BR2_PACKAGE_LIBART is not set
BR2_PACKAGE_LIBPNG=y
BR2_PACKAGE_LIBUNGIF=y
BR2_PACKAGE_LINUX_FUSION=y
BR2_PACKAGE_LITE=y
BR2_PACKAGE_PIXMAN=y
BR2_PACKAGE_SAWMAN=y
BR2_PACKAGE_SDL=y

#
# SDL options selection
#
BR2_PACKAGE_SDL_FBCON=y
BR2_PACKAGE_SDL_DIRECTFB=y
# BR2_PACKAGE_SDL_QTOPIA is not set
# BR2_PACKAGE_SDL_X11 is not set
BR2_PACKAGE_SDL_IMAGE=y

#
# SDL_image file format support
#
# BR2_PACKAGE_SDL_IMAGE_BMP is not set
BR2_PACKAGE_SDL_IMAGE_GIF=y
BR2_PACKAGE_SDL_IMAGE_JPEG=y
# 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
BR2_PACKAGE_SDL_MIXER=y
BR2_PACKAGE_SDL_NET=y
BR2_PACKAGE_SDL_TTF=y
# BR2_PACKAGE_TIFF is not set

#
# busybox graphic applications
#

#
# --> May be broken in busybox
#
BR2_PACKAGE_FBV=y
BR2_PACKAGE_FBSET=y

#
# other GUIs
#
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

#
# X libraries and helper libraries
#
BR2_PACKAGE_ATK=y
BR2_PACKAGE_CAIRO=y
BR2_PACKAGE_PANGO=y
# BR2_PACKAGE_LIBDRM is not set
BR2_PACKAGE_LIBERATION=y
# BR2_PACKAGE_LIBGLADE is not set
BR2_PACKAGE_LIBGLIB2=y
BR2_PACKAGE_LIBGTK2=y
BR2_PACKAGE_LIBGTK2_ENGINES=y

#
# GTK Themes
#
BR2_PACKAGE_GTK2_THEME_HICOLOR=y
# BR2_PACKAGE_LIBSEXY is not set
# BR2_PACKAGE_OPENMOTIF is not set
BR2_PACKAGE_FONTCONFIG=y
BR2_PACKAGE_FREETYPE=y
# BR2_FREETYPE_VERSION_2_2_1 is not set
BR2_FREETYPE_VERSION_2_3_7=y
BR2_FREETYPE_VERSION="2.3.7"
BR2_PACKAGE_TSLIB=y
# BR2_PACKAGE_WEBKIT is not set

#
# X Window managers
#
# BR2_PACKAGE_MATCHBOX is not set

#
# X applications
#
# 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
#
BR2_PACKAGE_LZO=y
BR2_PACKAGE_LZMA=y
# BR2_PACKAGE_LZMA_HEADERS is not set
BR2_PACKAGE_LZMA_HOST=y
BR2_PACKAGE_ZLIB=y
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set

#
# Package managers
#
# BR2_PACKAGE_IPKG is not set
# BR2_PACKAGE_PORTAGE is not set

#
# Interpreter languages / Scripting
#
# BR2_PACKAGE_LUA is not set
BR2_PACKAGE_MICROPERL=y
BR2_PACKAGE_MICROPERL_MODULES=""
BR2_PACKAGE_PYTHON=y
# BR2_PACKAGE_PYTHON_DEV is not set
BR2_PACKAGE_PYTHON_PY_ONLY=y
# 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=y
# 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=y
# BR2_PACKAGE_RUBY is not set
# BR2_PACKAGE_TCL is not set
BR2_PACKAGE_PHP=y
BR2_PACKAGE_PHP_CLI=y
BR2_PACKAGE_PHP_CGI=y
BR2_PACKAGE_PHP_FASTCGI=y

#
# PHP Extensions
#
# BR2_PACKAGE_PHP_EXT_SOCKETS is not set
BR2_PACKAGE_PHP_EXT_POSIX=y
BR2_PACKAGE_PHP_EXT_SPL=y
BR2_PACKAGE_PHP_EXT_SESSION=y
BR2_PACKAGE_PHP_EXT_LIBXML2=y
# BR2_PACKAGE_PHP_EXT_SIMPLEXML is not set
BR2_PACKAGE_PHP_EXT_ZLIB=y
# BR2_PACKAGE_PHP_EXT_EXIF is not set
# BR2_PACKAGE_PHP_EXT_FTP is not set
# BR2_PACKAGE_PHP_EXT_GETTEXT is not set
# BR2_PACKAGE_PHP_EXT_JSON is not set
# BR2_PACKAGE_PHP_EXT_READLINE is not set
# BR2_PACKAGE_PHP_EXT_NCURSES is not set
# 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
#
BR2_PACKAGE_PHP_EXT_SQLITE=y
# BR2_PACKAGE_PHP_EXT_SQLITE_UTF8 is not set
BR2_PACKAGE_PHP_EXT_PDO=y
BR2_PACKAGE_PHP_EXT_PDO_SQLITE=y
# BR2_PACKAGE_PHP_EXT_PDO_MYSQL is not set

#
# XML handling
#
BR2_PACKAGE_EXPAT=y
# BR2_PACKAGE_EZXML is not set
BR2_PACKAGE_LIBXML2=y
BR2_PACKAGE_LIBXSLT=y
# BR2_PACKAGE_XERCES is not set

#
# 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

#
# Target filesystem options
#

#
# filesystem for target device
#
BR2_ROOTFS_DEVICE_TABLE="target/device/Atmel/root/device_table.txt"
# BR2_TARGET_ROOTFS_CRAMFS is not set
# BR2_TARGET_ROOTFS_CLOOP is not set
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_BLOCKS=0
BR2_TARGET_ROOTFS_EXT2_INODES=0
BR2_TARGET_ROOTFS_EXT2_RESBLKS=0
BR2_TARGET_ROOTFS_EXT2_SQUASH=y

BR2_TARGET_ROOTFS_EXT2_NONE=y
# BR2_TARGET_ROOTFS_EXT2_GZIP is not set
# BR2_TARGET_ROOTFS_EXT2_BZIP2 is not set
# BR2_TARGET_ROOTFS_EXT2_LZMA is not set

BR2_TARGET_ROOTFS_JFFS2=y
# BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_1056 is not set
# BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_528 is not set
BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K=y
# BR2_TARGET_ROOTFS_JFFS2_FLASH_128 is not set
# BR2_TARGET_ROOTFS_JFFS2_FLASH_64 is not set
# BR2_TARGET_ROOTFS_JFFS2_CUSTOM is not set
BR2_TARGET_ROOTFS_JFFS2_PAGESIZE=0x800
BR2_TARGET_ROOTFS_JFFS2_EBSIZE=0x20000
BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER=y
# BR2_JFFS2_TARGET_SREC is not set
BR2_TARGET_ROOTFS_JFFS2_PAD=y
BR2_TARGET_ROOTFS_JFFS2_PADSIZE=0x02000000
BR2_TARGET_ROOTFS_JFFS2_LE=y
# BR2_TARGET_ROOTFS_JFFS2_BE is not set
# BR2_TARGET_ROOTFS_JFFS2_SQUASH is not set
# BR2_TARGET_ROOTFS_JFFS2_SUMMARY is not set


# BR2_TARGET_ROOTFS_UBIFS is not set
# BR2_TARGET_ROOTFS_SQUASHFS is not set
# BR2_TARGET_ROOTFS_TAR is not set
# BR2_TARGET_ROOTFS_CPIO is not set
# BR2_TARGET_ROOTFS_INITRAMFS is not set
# BR2_TARGET_ROOTFS_ROMFS is not set

#
# bootloader for target device
#
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARDNAME="$(BOARD_NAME)"
BR2_TARGET_UBOOT_2009_01=y
# BR2_TARGET_UBOOT_2008_10 is not set
BR2_UBOOT_VERSION="2009.01"
BR2_TARGET_U_BOOT_2009_01_ARCH_AT91=y
BR2_TARGET_U_BOOT_ARCH_AT91_PATCH_DIR="target/device/Atmel/arch-arm/u-boot/2009.01"
BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR=""
BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASHCARD=y
# BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASH is not set
# BR2_TARGET_UBOOT_BOOTSOURCE_NANDFLASH is not set
# BR2_TARGET_UBOOT_BOOTSOURCE_FLASH is not set
# BR2_TARGET_UBOOT_BOOTSOURCE_SDCARD is not set
# BR2_TARGET_UBOOT_BOOTSOURCE_EEPROM is not set
BR2_TARGET_UBOOT_BOOTSOURCE="dataflash"
# BR2_TARGET_UBOOT_TOOL_MKIMAGE is not set
# BR2_TARGET_UBOOT_TOOL_ENV is not set
BR2_TARGET_UBOOT_DATAFLASH_SIZE_8MB=y
# BR2_TARGET_UBOOT_DATAFLASH_SIZE_4MB is not set
# BR2_TARGET_UBOOT_DATAFLASH_SIZE_2MB is not set
# BR2_TARGET_UBOOT_DATAFLASH_SIZE_1MB is not set
# BR2_TARGET_UBOOT_DATAFLASH_SIZE_0_50MB is not set
# BR2_TARGET_UBOOT_DATAFLASH_SIZE_0_25MB is not set
BR2_TARGET_UBOOT_END_OF_FLASH="C083FFFF"
BR2_TARGET_UBOOT_KERNEL_LOCATION="C0042000"
BR2_TARGET_UBOOT_NETWORK=y
BR2_TARGET_UBOOT_SERVERIP="10.175.196.221"
BR2_TARGET_UBOOT_IPADDR="10.175.196.18"
BR2_TARGET_UBOOT_GATEWAY="10.175.196.1"
BR2_TARGET_UBOOT_NETMASK="255.255.255.0"
BR2_TARGET_UBOOT_ETHADDR="04:25:fe:ed:00:18"
BR2_BOOTSOURCE_DATAFLASHCARD=y
BR2_BOOTSOURCE_NANDFLASH=y
BR2_BOOTSOURCE=y

#
# Kernel
#
# BR2_KERNEL_none is not set
BR2_KERNEL_LINUX_ADVANCED=y
# BR2_KERNEL_LINUX is not set
BR2_PACKAGE_LINUX=y
BR2_PACKAGE_LINUX_FORMAT="uImage"
BR2_KERNEL_CURRENT_VERSION="2.6.28.2"
BR2_KERNEL_LATEST_2_6_28="2"
BR2_KERNEL_LATEST_2_6_27="13"
BR2_KERNEL_LATEST_2_6_26="8"
BR2_KERNEL_LATEST_2_6_25="19"
BR2_KERNEL_LATEST_2_6_24="7"
BR2_KERNEL_LATEST_2_6_23="17"
BR2_KERNEL_LATEST_2_6_22="19"
BR2_KERNEL_LATEST_2_6_21="7"
BR2_KERNEL_LATEST_2_6_20="21"
BR2_KERNEL_PATCH_LEVEL="$(BR2_KERNEL_MINORLEVEL)"
BR2_KERNEL_NEXT_VERSION="2.6.29"
BR2_KERNEL_THIS_VERSION="2.6.28"
BR2_KERNEL_SITE="http://ftp.kernel.org/pub/linux/kernel/v2.6"
BR2_MM_PATCH_SITE="http://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6"
BR2_RC_MM_PATCH_DIR="$(BR2_KERNEL_NEXT_VERSION)-rc$(BR2_KERNEL_RC_LEVEL)/2.6.$(BR2_KERNEL_NEXT_VERSION)-rc$(BR2_KERNEL_RC_LEVEL)-mm$(BR2_KERNEL_MM_LEVEL)"
BR2_KERNEL_PATCH_SITE="$(BR2_KERNEL_SITE)"
# BR2_LINUX_2_6_STABLE is not set
BR2_LINUX_2_6_28=y
# BR2_LINUX_2_6_27 is not set
# BR2_LINUX_2_6_26 is not set
# BR2_LINUX_2_6_25 is not set
# BR2_LINUX_2_6_24 is not set
# BR2_LINUX_2_6_23 is not set
# BR2_LINUX_2_6_22 is not set
# BR2_LINUX_2_6_21 is not set
# BR2_LINUX_2_6_20 is not set
# BR2_LINUX_2_6_29 is not set
# BR2_LINUX26_CUSTOM is not set

#
# Patches
#
BR2_KERNEL_ADD_KERNEL_ORG_PATCH=y
# BR2_KERNEL_ADD_LATEST is not set
# BR2_KERNEL_ADD_LATEST_MINORPATCH is not set
BR2_KERNEL_ADD_MINORPATCH=y
# BR2_KERNEL_ADD_LATEST_RC_PATCH is not set
# BR2_KERNEL_ADD_RC_PATCH is not set
# BR2_KERNEL_ADD_LATEST_SNAPSHOT is not set
# BR2_KERNEL_ADD_SNAPSHOT is not set
# BR2_KERNEL_ADD_LATEST_MM_PATCH is not set
# BR2_KERNEL_ADD_MM_PATCH is not set
BR2_KERNEL_ADD_PATCH=y
BR2_KERNEL_MINORLEVEL="2"
BR2_KERNEL_ARCH_PATCH_ENABLED=y
BR2_ARCH_AT91_2_6_28=y
# BR2_ARCH_AT91_2_6_27 is not set
# BR2_ARCH_AT91_2_6_26 is not set
# BR2_ARCH_AT91_2_6_25 is not set
# BR2_ARCH_AT91_2_6_24 is not set
# BR2_ARCH_AT91_2_6_22 is not set
BR2_LINUX_BSP_PATCH=""
BR2_KERNEL_PATCH="patch-$(BR2_DOWNLOAD_LINUX26_VERSION).$(BR2_KERNEL_PATCH_LEVEL).bz2"
BR2_EXTRA_VERSION=".$(BR2_KERNEL_PATCH_LEVEL)"
BR2_KERNEL_BASE=y
BR2_DOWNLOAD_LINUX26_VERSION="$(BR2_KERNEL_THIS_VERSION)"
BR2_LINUX26_VERSION="$(BR2_KERNEL_THIS_VERSION).$(BR2_KERNEL_PATCH_LEVEL)"

#
# Linux Kernel Configuration
#
# BR2_PACKAGE_LINUX_USE_KCONFIG is not set
BR2_PACKAGE_LINUX_USE_DEFCONFIG=y
# BR2_PACKAGE_LINUX_USE_XCONFIG is not set
# BR2_LINUX_BIN_BZIMAGE is not set
BR2_LINUX_BIN_UIMAGE=y
# BR2_LINUX_BIN_VMLINUX is not set
# BR2_LINUX_BIN_ZIMAGE is not set
# BR2_LINUX_BIN_CUSTOM is not set

#
# Destinations for linux kernel binaries
#
# BR2_LINUX_COPYTO_ROOTFS is not set
BR2_LINUX_COPYTO_TFTPBOOT=y
BR2_LINUX_COPYTO=""
BR2_LINUX_COPY_CONFIGURATION=y
