#@--------------------------------------------------------------------
#@TYPE: Distribution
#@NAME: Angstrom <http://www.angstrom-distribution.org>
#@DESCRIPTION: The Linux Distribution for Kernel 2.6 based devices
#@MAINTAINER: Koen Kooi <koen@dominion.kabel.utwente.nl>
#@MAINTAINER: Michael 'Mickey' Lauer <mickey@Vanille.de>
#@--------------------------------------------------------------------

#DISTRO_VERSION = "2007.1"
DISTRO_VERSION = "test-${DATE}"
DISTRO_REVISION = "10"

require conf/distro/include/angstrom.inc
require conf/distro/include/sane-srcdates.inc

DISTRO_TYPE = "debug"
#DISTRO_TYPE = "release"

#Set the right arch for the feeds
#Alphabetically sorted

FEED_ARCH ?= "${TARGET_ARCH}"

#armv4t machines

FEED_ARCH_ep93xx 	= "armv4t"
FEED_ARCH_h6300		= "armv4t"

#armv5t machines

FEED_ARCH_a780 		= "armv5te"
FEED_ARCH_akita		= "armv5te"
FEED_ARCH_c7x0		= "armv5te"
FEED_ARCH_h2200		= "armv5te"
FEED_ARCH_h4000		= "armv5te"
FEED_ARCH_h5xxx		= "armv5te"
FEED_ARCH_htcuniversal 	= "armv5te"
FEED_ARCH_hx2000	= "armv5te"
FEED_ARCH_hx4700	= "armv5te"
FEED_ARCH_ixp4xx	= "armv5te"
FEED_ARCH_magician	= "armv5te"
FEED_ARCH_netbook-pro	= "armv5te"
FEED_ARCH_nokia770	= "armv5te"
FEED_ARCH_poodle	= "armv5te"
FEED_ARCH_spitz		= "armv5te"
FEED_ARCH_tosa		= "armv5te"

#i686 machines

FEED_ARCH_guinness	= "i686"

FEED_URIS += " \
		no-arch##${ANGSTROM_URI}/unstable/feed/all \
		base##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/base \
		perl##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/perl \
		python##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/python \
		debug##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/debug \
		${MACHINE}##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/machine/${MACHINE}"
#        base##${ANGSTROM_URI}/releases/${DISTRO_VERSION}/feed/${FEED_ARCH}/base \
#        ${MACHINE}##${ANGSTROM_URI}/releases/${DISTRO_VERSION}/feed/${FEED_ARCH}/machine/${MACHINE} \
#        updates##${ANGSTROM_URI}/releases/${DISTRO_VERSION}/feed/${FEED_ARCH}/updates"


# We will lock down a SRCDATE when we go into release mode
#SRCDATE = "20061029"

PREFERRED_VERSION_linux-handhelds-2.6 = "2.6.16-hh7"
PREFERRED_VERSION_linux-handhelds-2.6_htcuniversal = "2.6.17-hh2"


SRCDATE_gconf-dbus = "20060719"
SRCDATE_gnome-vfs-dbus = "20060803"

CVS_TARBALL_STASH = "\
http://ewi546.ewi.utwente.nl/mirror/www.openzaurus.org/official/unstable/3.5.4/sources/ \
"

# GPE
require conf/distro/include/preferred-gpe-versions-2.8.inc

PREFERRED_PROVIDER_dbus-glib = "dbus-glib"
PREFERRED_PROVIDER_virtual/libsdl       ?= "libsdl-x11"
PREFERRED_PROVIDER_virtual/libxine      ?= "libxine-x11"


PREFERRED_VERSION_fontconfig = "2.3.95"
PREFERRED_VERSION_freetype = "2.2.1"
#fix screen corruption issues
PREFERRED_VERSION_cairo = "1.3.2"

#Small machines prefer kdrive, but we might ship full Xorg in other images
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive"
PREFERRED_PROVIDER_xserver ?= "xserver-kdrive"

require conf/distro/include/preferred-xorg-versions-X11R7.1.inc

PREFERRED_VERSION_xserver-kdrive = "X11R7.1-1.1.0"
PREFERRED_VERSION_gtk+ = "2.10.6"

#zap extra stuff taking place in $MACHINE.conf 
GPE_EXTRA_INSTALL = ""


# E
require conf/distro/include/preferred-e-versions.inc

#Make sure we use 2.6 on machines with a 2.4/2.6 selector
KERNEL = "kernel26"
MACHINE_KERNEL_VERSION = "2.6"

PREFERRED_PROVIDER_task-bootstrap = "task-bootstrap"

PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross"
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross"

# Virtuals:
PREFERRED_PROVIDER_virtual/db ?= "db"
PREFERRED_PROVIDER_virtual/db-native ?= "db-native"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive"

# Others:
PREFERRED_PROVIDER_virtual/libx11 ?= "diet-x11"
PREFERRED_PROVIDER_gconf ?= "gconf-dbus"
PREFERRED_PROVIDER_gnome-vfs ?= "gnome-vfs"
PREFERRED_PROVIDER_tslib ?= "tslib"
PREFERRED_PROVIDER_tslib-conf ?= "tslib"
PREFERRED_PROVIDER_libgpewidget ?= "libgpewidget"
PREFERRED_PROVIDER_ntp = "ntp"
PREFERRED_PROVIDER_hotplug = "udev"
PREFERRED_PROVIDER_libxss = "libxss"

#Machine related toolchain stuff
ARCH_BYTE_SEX_ixp4xx = "le"


#EABI stuff
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}-libc-for-gcc = "glibc-intermediate"
PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate"

#shouldn't that be uclibc-initial????
PREFERRED_PROVIDER_virtual/arm-angstrom-linux-uclibcgnueabi-libc-for-gcc = "uclibc-initial"

#use EABI toolchain
PREFERRED_VERSION_gcc ?= "4.1.1"
PREFERRED_VERSION_gcc-cross ?= "4.1.1"
PREFERRED_VERSION_gcc-cross-sdk ?= "4.1.1"
PREFERRED_VERSION_gcc-cross-initial ?= "4.1.1"

PREFERRED_VERSION_binutils ?= "2.17.50.0.5"
PREFERRED_VERSION_binutils-cross ?= "2.17.50.0.5"
PREFERRED_VERSION_binutils-cross-sdk ?= "2.17.50.0.5"

PREFERRED_VERSION_linux-libc-headers_guinness ?= "2.6.18"
PREFERRED_VERSION_linux-libc-headers ?= "2.6.15.99"

PREFERRED_VERSION_glibc ?= "2.5"
PREFERRED_VERSION_glibc-intermediate ?= "2.5"

# To use an EABI compatible version 3 series gcc, either uncomment 
# the lines below or set them in local.conf: 
#
# PREFERRED_VERSION_gcc-cross = "3.4.4+csl-arm-2005q3"
# PREFERRED_VERSION_gcc-cross-initial = "3.4.4+csl-arm-2005q3"


# Busybox <1.1.0 doesn't have EABI support
PREFERRED_VERSION_busybox = "1.2.1"

PREFERRED_VERSION_orinoco-modules_h3600 = "0.13e"
PREFERRED_VERSION_orinoco-modules_h3900 = "0.13e"

PREFERRED_VERSION_dbus ?= "1.0.1"
PREFERRED_VERSION_dbus-glib ?= "0.71"

PREFERRED_VERSION_gstreamer ?= "0.10.6"

PREFERRED_PROVIDER_hostap-conf ?= "hostap-conf"
PREFERRED_PROVIDER_hostap-modules_h2200 ?= "hostap-modules"
PREFERRED_PROVIDER_hostap-modules_hx4700 ?= "hostap-modules"
PREFERRED_VERSION_hostap-modules ?= "0.4.7"
PREFERRED_VERSION_hostap-utils ?= "0.4.7"

#Down here we put stuff we want to install into machines without polluting conf/machine/ with distro stuff
# c7x0, akita, spitz, nokia770, h2200, h6300, hx4700, simpad


# add altboot to compatible models, will be replaced with angstrom-bootmanager
#EXTRA_STUFF_append_c7x0 = "altboot"
#EXTRA_STUFF_append_akita = "altboot"
#EXTRA_STUFF_append_spitz = "altboot"
#EXTRA_STUFF_append_poodle = "altboot"
#EXTRA_STUFF_append_tosa = "altboot"


# do some task-base stuff here

# We want to ship extra debug utils in the rootfs when doing a debug build 
DEBUG_APPS ?= ""
DEBUG_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "tslib-tests tslib-calibrate gdb strace procps",d)}'

#this should go away soon
EXTRA_STUFF ?= ""


# Angstrom want to ship some extra stuff. This should be moved into task-base eventually
DISTRO_EXTRA_RDEPENDS = "\
    update-modules module-init-tools modutils-initscripts \
    sysvinit initscripts sysvinit-pidof \
    psplash \
    netbase dropbear \
    angstrom-version \
    ipkg ipkg-collateral \
    util-linux-mount util-linux-umount \
    ${EXTRA_STUFF} \
    ${DEBUG_APPS} \
    "