# http://bugs.openembedded.org
# In doubt, use DISTRO="angstrom-2007.1"
+#Preferred version for the kernel on various machines
+PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.21-hh16"
+
+require conf/distro/angstrom-2007.1.conf
+
#DISTRO_VERSION = "2008.1"
DISTRO_VERSION = "2008.1-test-${DATE}"
- DISTRO_REVISION = "0"
+ DISTRO_REVISION = "1"
- PREFERRED_VERSION_gcc = "4.2.1"
- PREFERRED_VERSION_gcc-cross = "4.2.1"
+ require conf/distro/include/sane-srcdates.inc
+ require conf/distro/include/sane-srcrevs.inc
+
+ #Images built can have to modes:
+ # 'debug': empty rootpassword, strace and gdb included
+ # 'release' no root password, no strace and gdb by default
+ DISTRO_TYPE ?= "debug"
+ #DISTRO_TYPE = "release"
+
+ # Ship just basic locale by default. Locales are big (~1Mb uncompr.), so
+ # shipping some adhoc subset will be still useless and size burden for
+ # users of all other languages/countries. Instead, worth to make it easy
+ # to install additional languages: installer/wizard + metapackages which
+ # will RRECOMMEND as much as possible content for a given language
+ # (locales, UI transalations, help, etc. - useless for pros, but really
+ # helpful for common users).
+ # Also, it appears that no locales fit in 16Mb for now. "C" locale rules!
+ IMAGE_LINGUAS = '${@base_less_or_equal("ROOT_FLASH_SIZE", "16", "", "en-gb", d)}'
+
+ 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 \
+ gstreamer##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/gstreamer \
+ ${MACHINE}##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/machine/${MACHINE}"
+
+ #The angstrom-mirrors.bbclass should have everything, but we can use this as a fallback
+ CVS_TARBALL_STASH ?= "\
+ http://www.angstrom-distribution.org/unstable/sources/ \
+ http://ewi546.ewi.utwente.nl/mirror/www.openzaurus.org/official/unstable/3.5.4/sources/ \
+ "
+
+
+ #Make sure we use 2.6 on machines with a 2.4/2.6 selector
+ KERNEL = "kernel26"
+ MACHINE_KERNEL_VERSION = "2.6"
+ PCMCIA_MANAGER = "pcmciautils"
+
+ #Preferred version for the kernel on various machines
+ PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.21-hh17"
+
+ PREFERRED_VERSION_gcc = "4.2.1"
+ PREFERRED_VERSION_gcc-cross = "4.2.1"
+ PREFERRED_VERSION_gcc-cross-initial = "4.1.2"
#This is unrelated to the kernel version, but userspace apps (e.g. HAL) require a recent version to build against
PREFERRED_VERSION_linux-libc-headers = "2.6.22"
# Our patched-to-hell busybox 1.2.1 is getting old and unmaintanable
PREFERRED_VERSION_busybox = "1.7.2"
- PREFERRED_VERSION_pango = "1.18.1"
+
-PREFERRED_PROVIDER_avahi = "avahi"
+
-#Small machines prefer kdrive, but we might ship full Xorg in other images
-PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive"
-PREFERRED_PROVIDER_xserver ?= "xserver-kdrive"
+#avr32 only has patches for binutils 2.17 and gcc 4.1.2 in OE
+PREFERRED_VERSION_gcc_avr32 = "4.1.2"
+PREFERRED_VERSION_gcc-cross_avr32 = "4.1.2"
+PREFERRED_VERSION_gcc-cross-sdk_avr32 = "4.1.2"
+PREFERRED_VERSION_gcc-cross-initial_avr32 = "4.1.2"
+PREFERRED_VERSION_binutils_avr32 = "2.17"
+PREFERRED_VERSION_binutils-cross_avr32 = "2.17"
+PREFERRED_VERSION_binutils-cross-sdk_avr32 = "2.17"
+#there's is no avr32 patch for 0.9.29
+PREFERRED_VERSION_uclibc_avr32 = "0.9.28"
+PREFERRED_VERSION_uclibc-initial_avr32 = "0.9.28"
+
-#Loads preferred versions from files, these have weak assigments (?=), so put them at the bottom
-require conf/distro/include/preferred-gpe-versions-2.8.inc
-require conf/distro/include/preferred-e-versions.inc
-require conf/distro/include/preferred-xorg-versions-X11R7.3.inc
-require conf/distro/include/preferred-openmoko-versions.inc
-
-
-# Virtuals:
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
-
-#Set preferred provider for the C library that is used to build the crosscompiler (NPTL voodoo)
-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/armeb-angstrom-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/arm-angstrom-linux-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/powerpc-angstrom-linux-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/mipsel-angstrom-linux-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/sparc-angstrom-linux-libc-for-gcc = "glibc-intermediate"
-
-PREFERRED_PROVIDER_virtual/arm-angstrom-linux-uclibcgnueabi-libc-for-gcc = "uclibc-initial"
-PREFERRED_PROVIDER_virtual/armeb-angstrom-linux-uclibcgnueabi-libc-for-gcc = "uclibc-initial"
-
-# hostap stuff, we prefer the in-kernel modules, but those don't work for all machines
-PREFERRED_PROVIDER_hostap-conf ?= "hostap-conf"
-PREFERRED_PROVIDER_hostap-modules_h2200 ?= "hostap-modules"
-PREFERRED_PROVIDER_hostap-modules_hx4700 ?= "hostap-modules"
-
-PREFERRED_PROVIDER_virtual/db ?= "db"
-PREFERRED_PROVIDER_virtual/db-native ?= "db-native"
-PREFERRED_PROVIDER_virtual/libsdl ?= "libsdl-x11"
-PREFERRED_PROVIDER_virtual/libx11 ?= "libx11"
-PREFERRED_PROVIDER_virtual/libxine ?= "libxine-x11"
-PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive"
-
-# Others:
-PREFERRED_PROVIDER_dbus-glib = "dbus-glib"
-PREFERRED_PROVIDER_esound ?= "pulseaudio"
-PREFERRED_PROVIDER_gconf ?= "gconf-dbus"
-PREFERRED_PROVIDER_gnome-vfs ?= "gnome-vfs"
-PREFERRED_PROVIDER_gnome-vfs-plugin-file ?= "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"
-
-# we don't ship gtk-directfb by default
-PREFERRED_PROVIDER_gtk+ ?= "gtk+"
-PREFERRED_PROVIDER_gdk-pixbuf-loader-ani ?= "gtk+"
-PREFERRED_PROVIDER_gdk-pixbuf-loader-bmpg ?= "gtk+"
-PREFERRED_PROVIDER_gdk-pixbuf-loader-gif ?= "gtk+"
-PREFERRED_PROVIDER_gdk-pixbuf-loader-ico ?= "gtk+"
-PREFERRED_PROVIDER_gdk-pixbuf-loader-jpeg ?= "gtk+"
-PREFERRED_PROVIDER_gdk-pixbuf-loader-pcx ?= "gtk+"
-PREFERRED_PROVIDER_gdk-pixbuf-loader-png ?= "gtk+"
-PREFERRED_PROVIDER_gdk-pixbuf-loader-pnm ?= "gtk+"
-PREFERRED_PROVIDER_gdk-pixbuf-loader-ras ?= "gtk+"
-PREFERRED_PROVIDER_gdk-pixbuf-loader-tga ?= "gtk+"
-PREFERRED_PROVIDER_gdk-pixbuf-loader-wbmp ?= "gtk+"
-PREFERRED_PROVIDER_gdk-pixbuf-loader-xbm ?= "gtk+"
-PREFERRED_PROVIDER_gdk-pixbuf-loader-xpm ?= "gtk+"
-
-
-#Silence a warning during parsing
-PREFERRED_PROVIDER_task-bootstrap = "task-bootstrap"
-
-#This is needed to get a correct PACKAGE_ARCH for packages that have PACKAGE_ARCH = ${MACHINE_ARCH}
-ARM_ABI ?= "${@['','oabi'][bb.data.getVar('MACHINE',d) in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}"
-require conf/distro/include/angstrom${ARM_ABI}.inc
-
-# 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)}'
-
-# Angstrom want to ship some extra stuff. This should be moved into task-base eventually
-# contains ipkg specific stuff as well :(
-DISTRO_EXTRA_RDEPENDS += "\
- update-modules \
- ${@base_contains("MACHINE_FEATURES", "screen", "psplash", "",d)} \
- angstrom-version \
- ipkg ipkg-collateral \
- util-linux-mount util-linux-umount \
- avahi-daemon \
- avahi-autoipd \
- ${DEBUG_APPS} \
- "
-
-DISTRO_EXTRA_RRECOMMENDS += " \
- kernel-module-vfat \
- kernel-module-ext2 \
- kernel-module-af-packet \
- "
do_install () {
oe_runmake 'DESTDIR=${D}' install
- # Move libgcc_s into /lib
- mkdir -p ${D}${target_base_libdir}
- if [ -f ${D}${target_base_libdir}/libgcc_s.so.? ]; then
- # Already in the right location
- :
- elif [ -f ${D}${prefix}/lib/libgcc_s.so.? ]; then
- mv -f ${D}${prefix}/lib/libgcc_s.so* ${D}${target_base_libdir} || true
- else
- mv -f ${D}${prefix}/*/lib/libgcc_s.so* ${D}${target_base_libdir} || true
- fi
+ # Move libgcc_s into /lib
+ mkdir -p ${D}${target_base_libdir}
+ if [ -f ${D}${target_base_libdir}/libgcc_s.so.? ]; then
+ # Already in the right location
+ :
+ elif [ -f ${D}${prefix}/lib/libgcc_s.so.? ]; then
- mv -f ${D}${prefix}/lib/libgcc_s.so* ${D}${target_base_libdir}
++ mv -f ${D}${prefix}/lib/libgcc_s.so* ${D}${target_base_libdir} || true
+
+ elif [ -f ${D}${prefix}/*/lib/nof/libgcc_s.so.? ]; then
+ mv -f ${D}${prefix}/*/lib/nof/libgcc_s.so* ${D}${target_base_libdir}
+ else
+ mv -f ${D}${prefix}/*/lib/libgcc_s.so* ${D}${target_base_libdir}
+ fi
+
+
+
+ # Move libstdc++ and libg2c into libdir (resetting our prefix to /usr
+ mkdir -p ${D}${target_libdir}
+
+ if [ -f ${D}${prefix}/*/lib/nof/libstdc++.so ]; then
+
+ mv -f ${D}${prefix}/*/lib/nof/libstdc++.so* ${D}${target_libdir}
+ mv -f ${D}${prefix}/*/lib/nof/libg2c.so* ${D}${target_libdir} || true
+ mv -f ${D}${prefix}/*/lib/nof/libgfortran*.so* ${D}${target_libdir} || true
+
+ else
+ mv -f ${D}${prefix}/*/lib/libstdc++.so* ${D}${target_libdir}
+ mv -f ${D}${prefix}/*/lib/libg2c.so* ${D}${target_libdir} || true
+ mv -f ${D}${prefix}/*/lib/libgfortran*.so* ${D}${target_libdir} || true
+ fi
+
- # Move libstdc++ and libg2c into libdir (resetting our prefix to /usr
- mkdir -p ${D}${target_libdir}
- mv -f ${D}${prefix}/*/lib/libstdc++.so* ${D}${target_libdir} || true
- mv -f ${D}${prefix}/*/lib/libg2c.so* ${D}${target_libdir} || true
- mv -f ${D}${prefix}/*/lib/libgfortran*.so* ${D}${target_libdir} || true
# Manually run the target stripper since we won't get it run by
# the packaging.