summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--CHANGES22
-rw-r--r--Makefile7
-rw-r--r--TODO7
-rw-r--r--docs/buildroot.html17
-rw-r--r--package/Config.in39
-rw-r--r--package/Makefile.in18
-rw-r--r--package/atk/atk.mk2
-rw-r--r--package/blackbox/Config.in2
-rw-r--r--package/blackbox/blackbox.mk2
-rw-r--r--package/bmon/Config.in5
-rw-r--r--package/bmon/bmon-gcc4.patch36
-rw-r--r--package/bmon/bmon-nolibnl.patch24
-rw-r--r--package/bmon/bmon-nostrip.patch12
-rw-r--r--package/bmon/bmon.mk18
-rw-r--r--package/busybox/busybox-1.14.2-test.patch64
-rw-r--r--package/cairo/cairo.mk4
-rw-r--r--package/cups/cups.mk2
-rw-r--r--package/dillo/Config.in15
-rw-r--r--package/dillo/dillo.mk2
-rw-r--r--package/directfb/Config.in2
-rw-r--r--package/directfb/directfb.mk2
-rw-r--r--package/docker/Config.in2
-rw-r--r--package/docker/docker.mk2
-rw-r--r--package/expat/expat.mk2
-rw-r--r--package/fltk/Config.in2
-rw-r--r--package/fltk/fltk.mk2
-rw-r--r--package/games/ace_of_penguins/Config.in2
-rw-r--r--package/games/ace_of_penguins/ace_of_penguins.mk2
-rw-r--r--package/games/lxdoom/Config.in2
-rwxr-xr-xpackage/gnuconfig/config.guess6
-rwxr-xr-xpackage/gnuconfig/config.sub6
-rw-r--r--package/gnuconfig/patches/config.xtensa.glob.patch44
-rw-r--r--package/gnuconfig/testsuite/config-sub.data1
-rw-r--r--package/haserl/haserl-0.9.25/haserl-0.9.25-array-vars-fix.patch19
-rw-r--r--package/java/classpath/classpath.mk4
-rw-r--r--package/java/jamvm/jamvm.mk4
-rw-r--r--package/libglib2/libglib2.mk2
-rw-r--r--package/libgtk12/Config.in2
-rw-r--r--package/libgtk12/libgtk12.mk2
-rw-r--r--package/libgtk2/Config.in2
-rw-r--r--package/libgtk2/libgtk2.mk4
-rw-r--r--package/libnl/Config.in6
-rw-r--r--package/libnl/libnl.mk22
-rw-r--r--package/libpng/libpng-remove-setjmp-error.patch17
-rw-r--r--package/libpng/libpng.mk2
-rw-r--r--package/matchbox/Config.in1
-rw-r--r--package/memstat/memstat.mk8
-rw-r--r--package/metacity/Config.in2
-rw-r--r--package/metacity/metacity.mk2
-rw-r--r--package/midori/Config.in5
-rw-r--r--package/midori/midori.mk2
-rw-r--r--package/mtd/20050122/mtd.mk138
-rw-r--r--package/mtd/20050122/mtd.patch45
-rw-r--r--package/mtd/20061007/mtd-20061007-mkfs.jffs2.patch19
-rw-r--r--package/mtd/20061007/mtd.mk120
-rw-r--r--package/mtd/20061007/mtd_20061007.patch93
-rw-r--r--package/mtd/20061007/mtd_acl.patch48
-rw-r--r--package/mtd/Config.in12
-rw-r--r--package/mtd/mtd.mk6
-rw-r--r--package/multimedia/Config.in1
-rw-r--r--package/multimedia/gst-plugins-base/gst-plugins-base.mk5
-rw-r--r--package/multimedia/gst-plugins-good/gst-plugins-good.mk5
-rw-r--r--package/multimedia/libmms/Config.in11
-rw-r--r--package/multimedia/libmms/libmms.mk17
-rw-r--r--package/multimedia/libvorbis/libvorbis.mk22
-rw-r--r--package/multimedia/mplayer/mplayer-1.0rc1-fix-alsa-output.patch150
-rw-r--r--package/multimedia/mplayer/mplayer-1.0rc1-index.patch21
-rw-r--r--package/multimedia/mplayer/mplayer-1.0rc1-ppc-configure.patch27
-rwxr-xr-x[-rw-r--r--]package/multimedia/mplayer/mplayer-1.0rc2-100-atmel.1.patch (renamed from package/multimedia/mplayer/mplayer-1.0rc1-atmel.3.patch)438
-rw-r--r--package/multimedia/mplayer/mplayer-1.0rc2-largefile.patch (renamed from package/multimedia/mplayer/mplayer-1.0rc1-largefile.patch)0
-rw-r--r--package/multimedia/mplayer/mplayer-1.0rc2-remove-sys-timeb.patch (renamed from package/multimedia/mplayer/mplayer-1.0rc1-remove-sys-timeb.patch)0
-rw-r--r--package/multimedia/mplayer/mplayer.mk3
-rw-r--r--package/netstat-nat/Config.in6
-rw-r--r--package/netstat-nat/netstat-nat.mk12
-rw-r--r--package/pango/pango.mk20
-rw-r--r--package/qt/Config.gfx.in19
-rw-r--r--package/qt/Config.in (renamed from package/qtopia4/Config.in)171
-rw-r--r--package/qt/Config.mouse.in24
-rw-r--r--package/qt/Config.sql.in (renamed from package/qtopia4/Config.sql.in)18
-rw-r--r--package/qt/qt-4.5.2-fix-qt-zlib-build.patch (renamed from package/qtopia4/qtopia-4.5.2-fix-qt-zlib-build.patch)0
-rw-r--r--package/qt/qt.mk583
-rw-r--r--package/qtopia4/Config.gfx.in19
-rw-r--r--package/qtopia4/Config.mouse.in24
-rw-r--r--package/qtopia4/qtopia4.mk577
-rw-r--r--package/rdesktop/Config.in2
-rw-r--r--package/rdesktop/rdesktop.mk2
-rw-r--r--package/rxvt/Config.in2
-rw-r--r--package/rxvt/rxvt.mk2
-rw-r--r--package/sawman/sawman.mk2
-rw-r--r--package/sdl_gfx/Config.in10
-rw-r--r--package/sdl_gfx/sdl_gfx.mk26
-rw-r--r--package/synergy/synergy.mk2
-rw-r--r--package/wpa_supplicant/wpa_supplicant.mk17
-rw-r--r--package/x11r7/Config.in52
-rw-r--r--package/x11r7/mesa3d/mesa3d.mk2
-rw-r--r--package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel-2.4.2-cross-compile.patch42
-rw-r--r--package/x11r7/xproto_xproto/xproto_xproto.mk43
-rw-r--r--package/x11r7/xserver_xorg-server/Config.in4
-rw-r--r--package/x11r7/xserver_xorg-server/xserver_xorg-server.mk62
-rw-r--r--package/x11r7/xutil_makedepend/xutil_makedepend.mk47
-rw-r--r--package/xpdf/xpdf.mk4
-rw-r--r--package/xvkbd/Config.in1
-rw-r--r--package/xvkbd/xvkbd.mk2
-rw-r--r--project/Makefile.in3
-rw-r--r--target/Config.in23
-rw-r--r--target/Config.in.arch35
-rw-r--r--target/Makefile.in3
-rw-r--r--target/device/Config.in1
-rw-r--r--target/device/KwikByte/kb9202/kb9202-linux-2.6.20.config1218
-rw-r--r--target/device/xtensa/Config.in21
-rw-r--r--target/device/xtensa/Makefile.in17
-rw-r--r--target/device/xtensa/device_table.diff10
-rw-r--r--target/device/xtensa/skeleton-patch/etc/inittab47
-rw-r--r--target/hurd/Config.in11
-rw-r--r--target/hurd/Makefile.in38
-rw-r--r--target/iso9660/Config.in4
-rw-r--r--target/iso9660/iso9660.mk2
-rw-r--r--target/linux/Config.in.advanced45
-rw-r--r--target/linux/Config.in.experimental345
-rw-r--r--target/linux/Config.in.versions32
-rw-r--r--target/linux/Makefile.in3
-rw-r--r--target/linux/Makefile.in.advanced3
-rw-r--r--target/xtensa/.gitignore1
-rw-r--r--target/xtensa/Makefile.in1
-rw-r--r--target/xtensa/defconfig133
-rw-r--r--target/xtensa/patch.in33
-rw-r--r--target/xtensa/setup-config57
-rw-r--r--target/xtensa/uClibc-0.9.30.config245
-rw-r--r--target/xtensa/uClibc.config190
-rw-r--r--target/xtensa/xt-buildroot-overlay-install488
-rw-r--r--toolchain/Config.in.28
-rw-r--r--toolchain/binutils/binutils.mk7
-rw-r--r--toolchain/external-toolchain/ext-tool.mk207
-rw-r--r--toolchain/gcc/4.4.1/100-uclibc-conf.patch (renamed from toolchain/gcc/4.4.0/100-uclibc-conf.patch)0
-rw-r--r--toolchain/gcc/4.4.1/301-missing-execinfo_h.patch (renamed from toolchain/gcc/4.4.0/301-missing-execinfo_h.patch)0
-rw-r--r--toolchain/gcc/4.4.1/302-c99-snprintf.patch (renamed from toolchain/gcc/4.4.0/302-c99-snprintf.patch)0
-rw-r--r--toolchain/gcc/4.4.1/305-libmudflap-susv3-legacy.patch (renamed from toolchain/gcc/4.4.0/305-libmudflap-susv3-legacy.patch)0
-rw-r--r--toolchain/gcc/4.4.1/810-arm-softfloat-libgcc.patch (renamed from toolchain/gcc/4.4.0/810-arm-softfloat-libgcc.patch)0
-rw-r--r--toolchain/gcc/Config.in2
-rw-r--r--toolchain/gcc/gcc-uclibc-4.x.mk7
-rw-r--r--toolchain/gdb/gdb.mk7
-rw-r--r--toolchain/kernel-headers/Config.in4
-rwxr-xr-xtoolchain/patch-kernel.sh17
-rw-r--r--toolchain/uClibc/uClibc-0.9.30-unifdef-getline.patch29
-rw-r--r--toolchain/uClibc/uClibc-0.9.30-xtensa-000p-fix-procfs.patch24
-rw-r--r--toolchain/uClibc/uClibc-0.9.30-xtensa-005-sigcontext.patch45
-rw-r--r--toolchain/uClibc/uClibc-0.9.30-xtensa-009-testandset.patch59
-rw-r--r--toolchain/uClibc/uClibc-0.9.30-xtensa-010-sigaction.c.patch11
-rw-r--r--toolchain/uClibc/uClibc-0.9.30-xtensa-011-sysdep.h.patch19
-rw-r--r--toolchain/uClibc/uClibc-0.9.30-xtensa-012-fnmatch_old.c.patch11
-rw-r--r--toolchain/uClibc/uClibc-0.9.30-xtensa-013-atomic.h.patch165
-rw-r--r--toolchain/uClibc/uClibc-0.9.30-xtensa-014-setjump.S.patch11
-rw-r--r--toolchain/uClibc/uClibc-0.9.30.1-unifdef-getline.patch29
-rw-r--r--toolchain/uClibc/uclibc.mk1
155 files changed, 3503 insertions, 3630 deletions
diff --git a/.gitignore b/.gitignore
index e7117d31f..93b53bb7a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,5 @@
/.config
*.depend
*.o
+*.orig
+*~
diff --git a/CHANGES b/CHANGES
index 7278bdf60..c83725b47 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,24 +1,46 @@
2009.08, Not yet released:
+ Improvement of external toolchain support:
+ - Support for glibc toolchains.
+ - The toolchain configuration announced to Buildroot is
+ verified against the real toolchain configuration.
+ - Fixes, documentation.
+
+ Cleanup X.org support: clarified configuration options, and
+ removed mandatory dependency on useless libraries such as
+ libXt or libXaw.
+
Issues resolved (http://bugs.uclibc.org):
#83: liblockfile fails to compile due to eaccess redefinition
+ #163: Xtensa architecture port
#241: device mapper + lvm2: build together
+ #271: Library 'libgcc_s.so.1' not installed in search path
+ #287: New package libnl
+ #331: Update MPlayer to version 1.0rc2
#333: Bump sqlite package to 3.6.15
#349: update libsoup to version 2.26.2
+ #357: New package netstat-nat
#359,#413: Upgrade openvpn to Makefile.autotools.in
#367: linux kernel compile error for arm926t
+ #369: Add SDL_gfx package
#373: Support for building gstreamer without libxml
#379: update DirectFB to version 1.4.0
#383: gst-plugins-good: Allow soup plugin to be configured
#385: neon: Fix pkgconfig dependency
+ #387: Tremor not installed to toolchain
+ #389: New package bmon
#391: gstreamer: Bump version to 0.10.23
#393: gst-plugins-base: Bump version to 0.10.23
#395: gst-plugins-bad: New package
+ #403: Error while building iso9660 image
#409: Bump php package to 5.2.10
#411: ipsec-tools: Bump version to 0.7.2
#417: New package spawn-fcgi
#419: Bump lighttpd package to 1.4.23
+ #421: toolchain: Clean up toolchain locale support menu
+ #467: DirectFB 1.4.1
+ #473: memstat_0.5.tar.gz has install with -D and that fails "make"
2009.05, Released June 1st, 2009:
diff --git a/Makefile b/Makefile
index 71a1ce5c4..e61f995b9 100644
--- a/Makefile
+++ b/Makefile
@@ -332,6 +332,9 @@ $(PROJECT_BUILD_DIR)/.root:
if [ -d "$(TARGET_SKELETON)" ]; then \
cp -fa $(TARGET_SKELETON)/* $(TARGET_DIR)/; \
fi; \
+ if [ -d "$(TARGET_SKELETON_PATCH)" ]; then \
+ toolchain/patch-kernel.sh $(TARGET_DIR) $(TARGET_SKELETON_PATCH)/ \*patch\*; \
+ fi; \
touch $(STAGING_DIR)/.fakeroot.00000; \
fi
-find $(TARGET_DIR) -type d -name CVS -o -name .svn -print0 | xargs -0 rm -rf
@@ -360,6 +363,10 @@ endif
find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIPCMD) 2>/dev/null || true
$(TARGET_LDCONFIG) -r $(TARGET_DIR) 2>/dev/null
+ifneq ($(BR2_ROOTFS_POST_BUILD_SCRIPT),"")
+ $(BR2_ROOTFS_POST_BUILD_SCRIPT) $(TARGET_DIR)
+endif
+
ifeq ($(BR2_ENABLE_LOCALE_PURGE),y)
LOCALE_WHITELIST=$(PROJECT_BUILD_DIR)/locales.nopurge
LOCALE_NOPURGE=$(strip $(subst ",,$(BR2_ENABLE_LOCALE_WHITELIST)))
diff --git a/TODO b/TODO
index 9b89c40c5..4de15ab27 100644
--- a/TODO
+++ b/TODO
@@ -5,10 +5,3 @@ Buildroot2 TODOs
- convert all packages that use autoconf to use the infrastructure of
packages/Makefile.autotools.in
- fix setting of flags for packages
-
-- stabilize for a 0.10.0 release
-
-- think about using a common --config-cache for configure
- Should take care of expanding TARGET_CONFIGURE_ARGS for cross compiles
- to working presets.
-
diff --git a/docs/buildroot.html b/docs/buildroot.html
index e97d6011f..b49208c27 100644
--- a/docs/buildroot.html
+++ b/docs/buildroot.html
@@ -37,6 +37,7 @@
<li><a href="#external_toolchain">Use an external toolchain</a></li>
<li><a href="#downloaded_packages">Location of downloaded packages</a>
</li>
+ <li><a href="#adapting_rootfs">Adapting the rootfs for own binaries</a></li>
<li><a href="#add_software">Extending Buildroot with more
Software</a></li>
<li><a href="#links">Resources</a></li>
@@ -877,6 +878,22 @@ It allows to generate toolchains based on <i>uClibc</i>, <i>glibc</i>
and <i>eglibc</i> for a wide range of architectures, and has good
community support.</p>
+ <h2><a name="adapting_rootfs" id="adapting_rootfs">Adapting the rootfs
+ for own binaries</h2>
+
+ <p>When using BR2 in an environment where own software binaries or
+ static data should be part of the generated rootfs package, the
+ <code>BR2_ROOTFS_POST_BUILD_SCRIPT</code> feature might interest
+ you. You can specify a command here which is called <i>after</i> BR2
+ built all the selected software, but <i>before</i> the the rootfs
+ packages are assembled. The destination rootfs folder is given as
+ first argument. You can add own components here, change
+ default configurations and remove unwanted files.</p>
+ <p>You should, however, use that feature with care. Whenever you
+ find that a certain package generates wrong or unneeded files, you
+ should rather fix than package than working around it with a
+ cleanup script.</p>
+
<h2><a name="add_software" id="add_software"></a>Extending Buildroot with
more software</h2>
diff --git a/package/Config.in b/package/Config.in
index cb8356311..ba3418fe8 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -133,6 +133,7 @@ if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
source "package/boa/Config.in"
endif
source "package/bind/Config.in"
+source "package/bmon/Config.in"
source "package/bridge-utils/Config.in"
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
source "package/dhcp/Config.in"
@@ -155,6 +156,7 @@ source "package/libcgicc/Config.in"
source "package/libcurl/Config.in"
source "package/libdnet/Config.in"
source "package/libeXosip2/Config.in"
+source "package/libnl/Config.in"
source "package/libosip2/Config.in"
source "package/libpcap/Config.in"
source "package/libsoup/Config.in"
@@ -181,6 +183,7 @@ source "package/netkitbase/Config.in"
source "package/netkittelnet/Config.in"
source "package/netplug/Config.in"
source "package/netsnmp/Config.in"
+source "package/netstat-nat/Config.in"
source "package/nfs-utils/Config.in"
source "package/ntp/Config.in"
source "package/olsr/Config.in"
@@ -306,6 +309,7 @@ source "package/sdl_image/Config.in"
source "package/sdl_mixer/Config.in"
source "package/sdl_net/Config.in"
source "package/sdl_ttf/Config.in"
+source "package/sdl_gfx/Config.in"
source "package/tiff/Config.in"
comment "busybox graphic applications"
@@ -314,46 +318,13 @@ source "package/fbv/Config.in"
source "package/fbset/Config.in"
comment "other GUIs"
-source "package/qtopia4/Config.in"
+source "package/qt/Config.in"
#source "package/microwin/Config.in"
-
-choice
- prompt "X Window System server"
- default BR2_PACKAGE_XSERVER_none
- help
- Select the X Window System server to use
-
-config BR2_PACKAGE_XSERVER_none
- bool "none"
-config BR2_PACKAGE_XSERVER_xorg
- bool "modular xorg"
- depends on BR2_USE_WCHAR && BR2_LARGEFILE && BR2_INSTALL_LIBSTDCPP # && BR2_ENABLE_LOCALE
-# depending on BR2_ENABLE_LOCALE gives a recursion error with dbus
-config BR2_PACKAGE_XSERVER_tinyx
- bool "tinyx"
- depends on BR2_USE_WCHAR
-endchoice
-
-comment "xorg requires a toolchain with C++, LOCALE, LARGEFILE and WCHAR support"
- depends on !(BR2_USE_WCHAR && BR2_LARGEFILE && BR2_INSTALL_LIBSTDCPP && BR2_ENABLE_LOCALE)
-comment "tinyx requires a toolchain with WCHAR support"
- depends on !BR2_USE_WCHAR
-
-config BR2_X11_PREFIX
- string
- default "/usr/X11R6" if BR2_PACKAGE_XSERVER_xorg
- default "/usr" if BR2_PACKAGE_XSERVER_tinyx
- help
- X11 apps root location
-
-if !BR2_PACKAGE_XSERVER_none
source "package/x11r7/Config.in"
-endif
comment "X libraries and helper libraries"
-#XXX: maybe some of these should depend on !BR2_PACKAGE_XSERVER_none
source "package/atk/Config.in"
source "package/cairo/Config.in"
source "package/pango/Config.in"
diff --git a/package/Makefile.in b/package/Makefile.in
index 7daa3b404..f0dc47a36 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -130,7 +130,7 @@ TOOLCHAIN_EXTERNAL_PATH:=$(strip $(subst ",, $(BR2_TOOLCHAIN_EXTERNAL_PATH)))
#"))
#TOOL_BUILD_DIR=$(BASE_DIR)/$(TOPDIR_PREFIX)toolchain_build_$(TOOLCHAIN_EXTERNAL_PREFIX)
TOOL_BUILD_DIR=$(BASE_DIR)/$(TOPDIR_PREFIX)toolchain_build_$(ARCH)$(COND_ARCH_FPU_SUFFIX)$(TOPDIR_SUFFIX)
-TARGET_PATH="$(STAGING_DIR)/bin:$(STAGING_DIR)/usr/bin:$(TOOL_BUILD_DIR)/bin:$(TOOLCHAIN_EXTERNAL_PATH)/bin:$(PATH)"
+TARGET_PATH="$(HOST_DIR)/bin:$(HOST_DIR)/usr/bin:$(TOOL_BUILD_DIR)/bin:$(TOOLCHAIN_EXTERNAL_PATH)/bin:$(PATH)"
#IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(TOOLCHAIN_EXTERNAL_PREFIX)$(ROOTFS_SUFFIX)
IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(ARCH)$(COND_ARCH_FPU_SUFFIX)$(ROOTFS_SUFFIX)
@@ -205,6 +205,7 @@ HOST_ARCH:=$(shell $(HOSTCC) -dumpmachine | sed -e s'/-.*//' \
-e 's/mipsel-.*/mipsel/' \
-e 's/cris.*/cris/' \
-e 's/i[3-9]86/i386/' \
+ -e 's/xtensa.*/xtensa/' \
)
GNU_HOST_NAME:=$(HOST_ARCH)-$(subst ",,$(BR2_GNU_BUILD_SUFFIX))
#")
@@ -380,23 +381,8 @@ else
ENABLE_DEBUG:=
endif
-
# X Windowing system
-XSERVER:=
-ifeq ($(BR2_PACKAGE_TINYX),y)
-XSERVER+=tinyx
-endif
-ifeq ($(BR2_PACKAGE_XORG),y)
-XSERVER+=xorg
-endif
-ifeq ($(BR2_PACKAGE_XORG7),y)
-XSERVER+=xserver_xorg-server
-endif
-ifeq ($(BR2_PACKAGE_XGGI),y)
-XSERVER+=xggi
-endif
-
X11_PREFIX:=$(strip $(subst ",, $(BR2_X11_PREFIX)))
#"))
diff --git a/package/atk/atk.mk b/package/atk/atk.mk
index 199ec7d5c..2d3a4e5af 100644
--- a/package/atk/atk.mk
+++ b/package/atk/atk.mk
@@ -45,7 +45,7 @@ ATK_CONF_OPT = --enable-shared \
--disable-glibtest --enable-explicit-deps=no \
--disable-debug
-ifneq ($(BR2_PACKAGE_XSERVER_none),y)
+ifeq ($(BR2_PACKAGE_XORG7),y)
ATK_CONF_OPT += --with-x \
--x-includes=$(STAGING_DIR)/usr/include/X11 \
--x-libraries=$(STAGING_DIR)/usr/lib --disable-glibtest
diff --git a/package/blackbox/Config.in b/package/blackbox/Config.in
index d6819b44c..bf237c53a 100644
--- a/package/blackbox/Config.in
+++ b/package/blackbox/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_BLACKBOX
bool "blackbox"
- depends on BR2_PACKAGE_XORG||BR2_PACKAGE_XORG7
+ depends on BR2_PACKAGE_XORG7
depends on BR2_INSTALL_LIBSTDCPP
help
Blackbox is a fast, lightweight window manager for the X
diff --git a/package/blackbox/blackbox.mk b/package/blackbox/blackbox.mk
index a85c7535b..371a4a44d 100644
--- a/package/blackbox/blackbox.mk
+++ b/package/blackbox/blackbox.mk
@@ -14,6 +14,6 @@ BLACKBOX_INSTALL_TARGET:=YES
BLACKBOX_CONF_OPT:=--x-includes=$(STAGING_DIR)/usr/include/X11 \
--x-libraries=$(STAGING_DIR)/usr/lib
-BLACKBOX_DEPENDENCIES:=uclibc $(XSERVER)
+BLACKBOX_DEPENDENCIES:=uclibc xserver_xorg-server
$(eval $(call AUTOTARGETS,package,blackbox))
diff --git a/package/bmon/Config.in b/package/bmon/Config.in
new file mode 100644
index 000000000..f42d19ad6
--- /dev/null
+++ b/package/bmon/Config.in
@@ -0,0 +1,5 @@
+config BR2_PACKAGE_BMON
+ bool "bmon"
+ select BR2_PACKAGE_NCURSES
+ help
+ Linux bandwidth monitor
diff --git a/package/bmon/bmon-gcc4.patch b/package/bmon/bmon-gcc4.patch
new file mode 100644
index 000000000..23c12b538
--- /dev/null
+++ b/package/bmon/bmon-gcc4.patch
@@ -0,0 +1,36 @@
+diff -ru bmon-2.1.0~/src/out_audio.c bmon-2.1.0/src/out_audio.c
+--- bmon-2.1.0~/src/out_audio.c 2008-07-26 20:06:24.000000000 +0200
++++ bmon-2.1.0/src/out_audio.c 2008-07-26 20:09:42.000000000 +0200
+@@ -141,7 +141,7 @@
+ .om_draw = audio_draw,
+ .om_set_opts = audio_set_opts,
+ .om_probe = audio_probe,
+- .om_shutdown audio_shutdown,
++ .om_shutdown = audio_shutdown
+ };
+
+ static void __init audio_init(void)
+diff -ru bmon-2.1.0~/src/out_db.c bmon-2.1.0/src/out_db.c
+--- bmon-2.1.0~/src/out_db.c 2008-07-26 20:06:24.000000000 +0200
++++ bmon-2.1.0/src/out_db.c 2008-07-26 20:07:44.000000000 +0200
+@@ -679,7 +679,7 @@
+ .om_draw = db_draw,
+ .om_set_opts = db_set_opts,
+ .om_probe = db_probe,
+- .om_shutdown db_shutdown,
++ .om_shutdown = db_shutdown,
+ };
+
+ static void __init db_init(void)
+diff -ru bmon-2.1.0~/src/out_xml_event.c bmon-2.1.0/src/out_xml_event.c
+--- bmon-2.1.0~/src/out_xml_event.c 2008-07-26 20:06:24.000000000 +0200
++++ bmon-2.1.0/src/out_xml_event.c 2008-07-26 20:09:42.000000000 +0200
+@@ -127,7 +127,7 @@
+ .om_draw = xml_event_draw,
+ .om_set_opts = xml_event_set_opts,
+ .om_probe = xml_event_probe,
+- .om_shutdown xml_event_shutdown,
++ .om_shutdown = xml_event_shutdown
+ };
+
+ static void __init xml_event_init(void)
diff --git a/package/bmon/bmon-nolibnl.patch b/package/bmon/bmon-nolibnl.patch
new file mode 100644
index 000000000..4925cd4c9
--- /dev/null
+++ b/package/bmon/bmon-nolibnl.patch
@@ -0,0 +1,24 @@
+diff -Nura bmon/configure bmon.libnl/configure
+--- bmon/configure 2005-04-05 12:01:33.000000000 -0300
++++ bmon.libnl/configure 2009-06-10 16:10:52.000000000 -0300
+@@ -7327,13 +7327,13 @@
+ echo "${ECHO_T}$ac_cv_lib_nl_nl_connect" >&6
+ if test $ac_cv_lib_nl_nl_connect = yes; then
+
+-
+-cat >>confdefs.h <<_ACEOF
+-#define HAVE_NL "1"
+-_ACEOF
+-
+- LIBNL="-lnl"
+- NL="Yes"
++ case ${target_os} in
++ *linux*)
++ echo
++ echo "*** Warning: Building bmon on Linux w/o libnl ***"
++ echo
++ ;;
++ esac
+
+ else
+
diff --git a/package/bmon/bmon-nostrip.patch b/package/bmon/bmon-nostrip.patch
new file mode 100644
index 000000000..d457e84a2
--- /dev/null
+++ b/package/bmon/bmon-nostrip.patch
@@ -0,0 +1,12 @@
+diff -Nura bmon/GNUmakefile bmon.nostrip/GNUmakefile
+--- bmon/GNUmakefile 2005-04-05 12:01:33.000000000 -0300
++++ bmon.nostrip/GNUmakefile 2009-06-10 16:12:04.000000000 -0300
+@@ -50,7 +50,7 @@
+ install:
+ ./install-sh -d -m 0755 $(DESTDIR)$(prefix)/bin
+ ./install-sh -d -m 0755 $(DESTDIR)$(mandir)/man1
+- ./install-sh -c -s -m 0755 src/bmon $(DESTDIR)$(prefix)/bin
++ ./install-sh -c -m 0755 src/bmon $(DESTDIR)$(prefix)/bin
+ ./install-sh -c -m 0644 man/bmon.1 $(DESTDIR)$(mandir)/man1
+
+ show: Makefile.opts
diff --git a/package/bmon/bmon.mk b/package/bmon/bmon.mk
new file mode 100644
index 000000000..0b60ad420
--- /dev/null
+++ b/package/bmon/bmon.mk
@@ -0,0 +1,18 @@
+#############################################################
+#
+# bmon
+#
+#############################################################
+
+BMON_VERSION = 2.1.0
+BMON_SOURCE = bmon-$(BMON_VERSION).tar.gz
+BMON_SITE = http://distfiles.gentoo.org/distfiles
+BMON_DEPENDENCIES = ncurses uclibc
+BMON_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
+
+$(eval $(call AUTOTARGETS,package,bmon))
+
+$(BMON_TARGET_UNINSTALL):
+ $(call MESSAGE,"Uninstalling")
+ rm -f $(TARGET_DIR)/usr/bin/bmon
+ rm -f $(BMON_TARGET_INSTALL_TARGET) $(BMON_HOOK_POST_INSTALL)
diff --git a/package/busybox/busybox-1.14.2-test.patch b/package/busybox/busybox-1.14.2-test.patch
new file mode 100644
index 000000000..ce0d9a77e
--- /dev/null
+++ b/package/busybox/busybox-1.14.2-test.patch
@@ -0,0 +1,64 @@
+diff -urpN busybox-1.14.2/coreutils/test.c busybox-1.14.2-test/coreutils/test.c
+--- busybox-1.14.2/coreutils/test.c 2009-07-05 22:59:28.000000000 +0200
++++ busybox-1.14.2-test/coreutils/test.c 2009-07-17 01:46:28.000000000 +0200
+@@ -571,7 +571,14 @@ static number_t nexpr(enum token n)
+
+ nest_msg(">nexpr(%s)\n", TOKSTR[n]);
+ if (n == UNOT) {
+- res = !nexpr(check_operator(*++args));
++ n = check_operator(*++args);
++ if (n == EOI) {
++ /* special case: [ ! ], [ a -a ! ] are valid */
++ /* IOW, "! ARG" may miss ARG */
++ unnest_msg("<nexpr:1 (!EOI)\n");
++ return 1;
++ }
++ res = !nexpr(n);
+ unnest_msg("<nexpr:%lld\n", res);
+ return res;
+ }
+@@ -742,7 +749,7 @@ int test_main(int argc, char **argv)
+ check_operator(argv[1]);
+ if (last_operator->op_type == BINOP) {
+ /* "test [!] arg1 <binary_op> arg2" */
+- args = &argv[0];
++ args = argv;
+ res = (binop() == 0);
+ goto ret;
+ }
+@@ -755,7 +762,7 @@ int test_main(int argc, char **argv)
+ argv--;
+ }
+ #endif
+- args = &argv[0];
++ args = argv;
+ res = !oexpr(check_operator(*args));
+
+ if (*args != NULL && *++args != NULL) {
+diff -urpN busybox-1.14.2/testsuite/test.tests busybox-1.14.2-test/testsuite/test.tests
+--- busybox-1.14.2/testsuite/test.tests 2009-07-05 22:59:22.000000000 +0200
++++ busybox-1.14.2-test/testsuite/test.tests 2009-07-17 01:46:28.000000000 +0200
+@@ -21,6 +21,11 @@ testing "test '': should be false (1)" \
+ "1\n" \
+ "" ""
+
++testing "test !: should be true (0)" \
++ "busybox test !; echo \$?" \
++ "0\n" \
++ "" ""
++
+ testing "test a: should be true (0)" \
+ "busybox test a; echo \$?" \
+ "0\n" \
+@@ -51,6 +56,11 @@ testing "test -lt = -gt: should be false
+ "1\n" \
+ "" ""
+
++testing "test a -a !: should be true (0)" \
++ "busybox test a -a !; echo \$?" \
++ "0\n" \
++ "" ""
++
+ testing "test -f = a -o b: should be true (0)" \
+ "busybox test -f = a -o b; echo \$?" \
+ "0\n" \
diff --git a/package/cairo/cairo.mk b/package/cairo/cairo.mk
index 048351e50..a0840834f 100644
--- a/package/cairo/cairo.mk
+++ b/package/cairo/cairo.mk
@@ -48,9 +48,9 @@ else
CAIRO_CONF_OPT += --disable-directfb
endif
-ifneq ($(BR2_PACKAGE_XSERVER_none),y)
+ifeq ($(BR2_PACKAGE_XORG7),y)
CAIRO_CONF_OPT += --enable-xlib --with-x
- CAIRO_DEPENDENCIES += $(XSERVER)
+ CAIRO_DEPENDENCIES += xserver_xorg-server
else
CAIRO_CONF_OPT += --disable-xlib --without-x
endif
diff --git a/package/cups/cups.mk b/package/cups/cups.mk
index 9051e0d0f..a22651fc7 100644
--- a/package/cups/cups.mk
+++ b/package/cups/cups.mk
@@ -18,7 +18,7 @@ else
CUPS_CONF_OPT += --disable-dbus
endif
-ifneq ($(BR2_PACKAGE_XSERVER_none),y)
+ifeq ($(BR2_PACKAGE_XORG7),y)
CUPS_DEPENDENCIES += xlib_libX11
endif
diff --git a/package/dillo/Config.in b/package/dillo/Config.in
index f0682d9fd..87418d297 100644
--- a/package/dillo/Config.in
+++ b/package/dillo/Config.in
@@ -1,15 +1,12 @@
config BR2_PACKAGE_DILLO
bool "dillo"
- depends on BR2_PACKAGE_JPEG
- depends on BR2_PACKAGE_LIBGLIB12
- depends on BR2_PACKAGE_LIBGTK12
- depends on BR2_PACKAGE_ZLIB
- depends on BR2_PACKAGE_LIBPNG
- depends on BR2_PACKAGE_XORG||BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_JPEG
+ select BR2_PACKAGE_LIBGLIB12
+ select BR2_PACKAGE_LIBGTK12
+ select BR2_PACKAGE_ZLIB
+ select BR2_PACKAGE_LIBPNG
+ depends on BR2_PACKAGE_XORG7
help
Dillo is a small GTK+ based web browser written in C.
http://www.dillo.org/
-
-comment "dillo - disabled (requires jpeg,libglib12,libgtk12,zlib,libpng and Xorg(7))"
- depends on !BR2_PACKAGE_JPEG || !BR2_PACKAGE_LIBGLIB12 || !BR2_PACKAGE_LIBGTK12 || !BR2_PACKAGE_ZLIB || !BR2_PACKAGE_LIBPNG || !(BR2_PACKAGE_XORG || BR2_PACKAGE_XORG7)
diff --git a/package/dillo/dillo.mk b/package/dillo/dillo.mk
index 12d9a5ce1..1dcfd5557 100644
--- a/package/dillo/dillo.mk
+++ b/package/dillo/dillo.mk
@@ -39,7 +39,7 @@ $(DILLO_DIR)/.installed: $(DILLO_DIR)/src/dillo
$(MAKE) -C $(DILLO_DIR) DESTDIR=$(TARGET_DIR) install
touch $(DILLO_DIR)/.installed
-dillo: uclibc $(XSERVER) libglib12 libgtk12 jpeg libpng $(DILLO_DIR)/.installed
+dillo: uclibc xserver_xorg-server libglib12 libgtk12 jpeg libpng $(DILLO_DIR)/.installed
dillo-source: $(DL_DIR)/$(DILLO_SOURCE)
diff --git a/package/directfb/Config.in b/package/directfb/Config.in
index 1f081744a..fce9ed46c 100644
--- a/package/directfb/Config.in
+++ b/package/directfb/Config.in
@@ -16,7 +16,7 @@ config BR2_PACKAGE_DIRECTFB_MULTI
config BR2_PACKAGE_DIRECTFB_XSERVER
bool "build with X server backend"
depends on BR2_PACKAGE_DIRECTFB
- depends on !BR2_PACKAGE_XSERVER_none
+ depends on BR2_PACKAGE_XORG7
config BR2_PACKAGE_DIRECTFB_UNIQUE
bool "enable unique window manager"
diff --git a/package/directfb/directfb.mk b/package/directfb/directfb.mk
index 282661591..93b45938d 100644
--- a/package/directfb/directfb.mk
+++ b/package/directfb/directfb.mk
@@ -4,7 +4,7 @@
#
#############################################################
DIRECTFB_VERSION_MAJOR:=1.4
-DIRECTFB_VERSION:=1.4.0
+DIRECTFB_VERSION:=1.4.1
DIRECTFB_SITE:=http://www.directfb.org/downloads/Core/DirectFB-$(DIRECTFB_VERSION_MAJOR)
DIRECTFB_SOURCE:=DirectFB-$(DIRECTFB_VERSION).tar.gz
DIRECTFB_AUTORECONF = NO
diff --git a/package/docker/Config.in b/package/docker/Config.in
index 1c89a79c8..02ef83c2e 100644
--- a/package/docker/Config.in
+++ b/package/docker/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_DOCKER
bool "docker"
- depends on BR2_PACKAGE_XORG||BR2_PACKAGE_XORG7||BR2_PACKAGE_TINYX
+ depends on BR2_PACKAGE_XORG7
select BR2_PACKAGE_LIBGLIB2
help
a system tray dock for X
diff --git a/package/docker/docker.mk b/package/docker/docker.mk
index 860cd7e81..3b8c25cfe 100644
--- a/package/docker/docker.mk
+++ b/package/docker/docker.mk
@@ -19,7 +19,7 @@ DOCKER_MAKE_OPT = CC=$(TARGET_CC) CXX=$(TARGET_CXX) LD=$(TARGET_LD) \
DOCKER_INSTALL_TARGET_OPT = PREFIX=$(TARGET_DIR)/usr install
-DOCKER_DEPENDENCIES = uclibc host-pkgconfig libglib2 $(XSERVER)
+DOCKER_DEPENDENCIES = uclibc host-pkgconfig libglib2 xserver_xorg-server
$(eval $(call AUTOTARGETS,package,docker))
diff --git a/package/expat/expat.mk b/package/expat/expat.mk
index 88a7f1674..6706716b7 100644
--- a/package/expat/expat.mk
+++ b/package/expat/expat.mk
@@ -55,7 +55,7 @@ $(STAMP_DIR)/host_expat_installed: $(STAMP_DIR)/host_expat_compiled
$(MAKE) -C $(EXPAT_HOST_DIR) installlib
touch $@
-host-expat: $(STAM_DIR)/host_expat_installed
+host-expat: $(STAMP_DIR)/host_expat_installed
host-expat-source: expat-source
diff --git a/package/fltk/Config.in b/package/fltk/Config.in
index 120ee680a..b0ffb4e7e 100644
--- a/package/fltk/Config.in
+++ b/package/fltk/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_FLTK
bool "fltk"
- depends on BR2_PACKAGE_XORG||BR2_PACKAGE_XORG7
+ depends on BR2_PACKAGE_XORG7
help
A cross-platform C++ GUI toolkit for UNIX/Linux (X11),
Microsoft Windows, and MacOS X.
diff --git a/package/fltk/fltk.mk b/package/fltk/fltk.mk
index f4a04986e..9574cb84a 100644
--- a/package/fltk/fltk.mk
+++ b/package/fltk/fltk.mk
@@ -18,6 +18,6 @@ FLTK_CONF_OPT = --target=$(GNU_TARGET_NAME) --host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) --prefix=/usr \
--sysconfdir=/etc --enable-shared --enable-threads --with-x
-FLTK_DEPENDENCIES = uclibc $(XSERVER)
+FLTK_DEPENDENCIES = uclibc xserver_xorg-server
$(eval $(call AUTOTARGETS,package,fltk)) \ No newline at end of file
diff --git a/package/games/ace_of_penguins/Config.in b/package/games/ace_of_penguins/Config.in
index 3e1a9db2f..edbaf26ce 100644
--- a/package/games/ace_of_penguins/Config.in
+++ b/package/games/ace_of_penguins/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_ACE_OF_PENGUINS
bool "ace_of_penguins"
select BR2_PACKAGE_LIBPNG
- depends on BR2_PACKAGE_XORG||BR2_PACKAGE_XORG7
+ depends on BR2_PACKAGE_XORG7
help
The Ace of Penguins is a set of Unix/X solitaire games based
on the ones available for Windows but with a number of
diff --git a/package/games/ace_of_penguins/ace_of_penguins.mk b/package/games/ace_of_penguins/ace_of_penguins.mk
index 2aaf7aac8..2e4fda6e9 100644
--- a/package/games/ace_of_penguins/ace_of_penguins.mk
+++ b/package/games/ace_of_penguins/ace_of_penguins.mk
@@ -10,6 +10,6 @@ ACE_OF_PENGUINS_AUTORECONF = YES
ACE_OF_PENGUINS_STAGING = NO
ACE_OF_PENGUINS_TARGET = YES
-ACE_OF_PENGUINS_DEPENDENCIES = uclibc libpng $(XSERVER)
+ACE_OF_PENGUINS_DEPENDENCIES = uclibc libpng xserver_xorg-server
$(eval $(call AUTOTARGETS,package/games,ace_of_penguins))
diff --git a/package/games/lxdoom/Config.in b/package/games/lxdoom/Config.in
index 8eb7d5280..ebef9f5e6 100644
--- a/package/games/lxdoom/Config.in
+++ b/package/games/lxdoom/Config.in
@@ -1,5 +1,5 @@
config BR2_PACKAGE_LXDOOM
bool "lxdoom"
- depends on !BR2_PACKAGE_XSERVER_none
+ depends on BR2_PACKAGE_XORG7
help
This is the linux version of the popular doom game.
diff --git a/package/gnuconfig/config.guess b/package/gnuconfig/config.guess
index ebf353e3d..ced32b63a 100755
--- a/package/gnuconfig/config.guess
+++ b/package/gnuconfig/config.guess
@@ -4,7 +4,7 @@
# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
# Inc.
-timestamp='2007-07-22'
+timestamp='2009-07-24'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -971,8 +971,8 @@ EOF
x86_64:Linux:*:*)
echo x86_64-unknown-linux-${LIBC}
exit ;;
- xtensa:Linux:*:*)
- echo xtensa-unknown-linux-${LIBC}
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
diff --git a/package/gnuconfig/config.sub b/package/gnuconfig/config.sub
index 392e21fc2..efbb230f4 100755
--- a/package/gnuconfig/config.sub
+++ b/package/gnuconfig/config.sub
@@ -370,10 +370,14 @@ case $basic_machine in
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
- | xstormy16-* | xtensa-* \
+ | xstormy16-* | xtensa*-* \
| ymp-* \
| z8k-*)
;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
diff --git a/package/gnuconfig/patches/config.xtensa.glob.patch b/package/gnuconfig/patches/config.xtensa.glob.patch
new file mode 100644
index 000000000..4b37aa77f
--- /dev/null
+++ b/package/gnuconfig/patches/config.xtensa.glob.patch
@@ -0,0 +1,44 @@
+diff -rNdup config-orig/config.guess config/config.guess
+--- config-orig/config.guess 2007-11-13 16:31:20.000000000 -0800
++++ config/config.guess 2007-11-14 00:26:39.000000000 -0800
+@@ -954,8 +954,8 @@ EOF
+ x86_64:Linux:*:*)
+ echo x86_64-unknown-linux-gnu
+ exit ;;
+- xtensa:Linux:*:*)
+- echo xtensa-unknown-linux-gnu
++ xtensa*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ # The BFD linker knows what the default object file format is, so
+diff -rNdup config-orig/config.sub config/config.sub
+--- config-orig/config.sub 2007-11-13 16:31:20.000000000 -0800
++++ config/config.sub 2007-11-14 00:48:37.000000000 -0800
+@@ -369,10 +369,14 @@ case $basic_machine in
+ | v850-* | v850e-* | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+- | xstormy16-* | xtensa-* \
++ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-*)
+ ;;
++ # Recognize the basic CPU types without company name, with glob match.
++ xtensa*)
++ basic_machine=$basic_machine-unknown
++ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+diff -rNdup config-orig/testsuite/config-sub.data config/testsuite/config-sub.data
+--- config-orig/testsuite/config-sub.data 2007-11-13 15:56:17.000000000 -0800
++++ config/testsuite/config-sub.data 2007-11-14 00:31:22.000000000 -0800
+@@ -109,6 +109,7 @@ fido-elf fido-unknown-elf
+ fido fido-unknown-none
+ xtensa-elf xtensa-unknown-elf
+ xtensa-linux xtensa-unknown-linux-gnu
++xtensa_dc232b-linux xtensa_dc232b-unknown-linux-gnu
+ i386-drops1.0 i386-pc-drops1.0
+ mep mep-unknown-elf
+ mep-elf mep-unknown-elf
diff --git a/package/gnuconfig/testsuite/config-sub.data b/package/gnuconfig/testsuite/config-sub.data
index 0f2272a14..2a5e1f1eb 100644
--- a/package/gnuconfig/testsuite/config-sub.data
+++ b/package/gnuconfig/testsuite/config-sub.data
@@ -109,6 +109,7 @@ fido-elf fido-unknown-elf
fido fido-unknown-none
xtensa-elf xtensa-unknown-elf
xtensa-linux xtensa-unknown-linux-gnu
+xtensa_dc232b-linux xtensa_dc232b-unknown-linux-gnu
i386-drops1.0 i386-pc-drops1.0
mep mep-unknown-elf
mep-elf mep-unknown-elf
diff --git a/package/haserl/haserl-0.9.25/haserl-0.9.25-array-vars-fix.patch b/package/haserl/haserl-0.9.25/haserl-0.9.25-array-vars-fix.patch
new file mode 100644
index 000000000..e6c959a66
--- /dev/null
+++ b/package/haserl/haserl-0.9.25/haserl-0.9.25-array-vars-fix.patch
@@ -0,0 +1,19 @@
+haserl: array vars fix
+
+Fix buffer overflow error. Len is the length of the name= part of the
+name=value string, not the value part.
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+Index: haserl-0.9.25/src/haserl.c
+===================================================================
+--- haserl-0.9.25.orig/src/haserl.c 2009-07-20 15:05:26.000000000 +0200
++++ haserl-0.9.25/src/haserl.c 2009-07-20 15:06:05.000000000 +0200
+@@ -269,7 +269,7 @@
+ /* if an array, create a new string with this
+ * value added to the end of the old value(s)
+ */
+- temp = xmalloc (strlen (cur->buf) + len + 1);
++ temp = xmalloc (strlen (cur->buf) + strlen(entry) - len + 1);
+ memmove (temp, cur->buf, strlen (cur->buf) + 1);
+ strcat (temp, "\n");
+ strcat (temp, str + keylen + 3);
diff --git a/package/java/classpath/classpath.mk b/package/java/classpath/classpath.mk
index 71c18a045..d037adfe6 100644
--- a/package/java/classpath/classpath.mk
+++ b/package/java/classpath/classpath.mk
@@ -77,8 +77,8 @@ else
CLASSPATH_CONF_OPT+= --disable-gtk-peer
endif
-ifneq ($(BR2_PACKAGE_XSERVER_none),y)
- CLASSPATH_DEPENDENCIES+= $(XSERVER)
+ifeq ($(BR2_PACKAGE_XORG7),y)
+ CLASSPATH_DEPENDENCIES+= xserver_xorg-server
CLASSPATH_CONF_OPT+= --with-x \
--x-includes=$(STAGING_DIR)/usr/include/X11 \
--x-libraries=$(STAGING_DIR)/usr/lib
diff --git a/package/java/jamvm/jamvm.mk b/package/java/jamvm/jamvm.mk
index dff089af4..750bfae23 100644
--- a/package/java/jamvm/jamvm.mk
+++ b/package/java/jamvm/jamvm.mk
@@ -52,8 +52,8 @@ JAMVM_CONF_OPT = \
JAMVM_DEPENDENCIES = uclibc host-pkgconfig classpath
#Include X libraries when we have an X server
-ifneq ($(BR2_PACKAGE_XSERVER_none),y)
- JAMVM_DEPENDENCIES+= $(XSERVER)
+ifeq ($(BR2_PACKAGE_XORG7),y)
+ JAMVM_DEPENDENCIES+= xserver_xorg-server
JAMVM_CONF_OPT+= --with-x \
--x-includes=$(STAGING_DIR)/usr/include/X11 \
--x-libraries=$(STAGING_DIR)/usr/lib
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index 75f0cfc6c..b2738b012 100644
--- a/package/libglib2/libglib2.mk
+++ b/package/libglib2/libglib2.mk
@@ -4,7 +4,7 @@
#
#############################################################
LIBGLIB2_VERSION_MAJOR = 2.20
-LIBGLIB2_VERSION_MINOR = 1
+LIBGLIB2_VERSION_MINOR = 4
LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).$(LIBGLIB2_VERSION_MINOR)
LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.bz2
LIBGLIB2_SITE = http://ftp.gtk.org/pub/glib/$(LIBGLIB2_VERSION_MAJOR)
diff --git a/package/libgtk12/Config.in b/package/libgtk12/Config.in
index e0f643ff2..01393f96f 100644
--- a/package/libgtk12/Config.in
+++ b/package/libgtk12/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_LIBGTK12
bool "libgtk12"
select BR2_PACKAGE_LIBGLIB12
- depends on BR2_PACKAGE_XORG||BR2_PACKAGE_XORG7||BR2_PACKAGE_TINYX
+ depends on BR2_PACKAGE_XORG7
help
The GTK+ graphical user interface library
diff --git a/package/libgtk12/libgtk12.mk b/package/libgtk12/libgtk12.mk
index a578ae8ae..bb121f01d 100644
--- a/package/libgtk12/libgtk12.mk
+++ b/package/libgtk12/libgtk12.mk
@@ -86,7 +86,7 @@ $(TARGET_DIR)/lib/libgtk-1.2.so.0.9.1: $(STAGING_DIR)/lib/$(LIBGTK12_BINARY)
$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/lib/libgdk-1.2.so.0.9.1
touch -c $(TARGET_DIR)/lib/libgtk-1.2.so.0.9.1
-libgtk12: uclibc libglib12 $(XSERVER) $(TARGET_DIR)/lib/libgtk-1.2.so.0.9.1
+libgtk12: uclibc libglib12 xserver_xorg-server $(TARGET_DIR)/lib/libgtk-1.2.so.0.9.1
libgtk12-clean:
rm -f $(TARGET_DIR)/lib/libgtk* $(TARGET_DIR)/lib/libgdk*
diff --git a/package/libgtk2/Config.in b/package/libgtk2/Config.in
index 19809f26e..5c0482d61 100644
--- a/package/libgtk2/Config.in
+++ b/package/libgtk2/Config.in
@@ -6,7 +6,7 @@ config BR2_PACKAGE_LIBGTK2
select BR2_PACKAGE_CAIRO_PDF
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_PANGO
- depends on BR2_PACKAGE_XORG||BR2_PACKAGE_XORG7||BR2_PACKAGE_TINYX||BR2_PACKAGE_DIRECTFB
+ depends on BR2_PACKAGE_XORG7||BR2_PACKAGE_DIRECTFB
help
The GTK+ version 2 graphical user interface library
diff --git a/package/libgtk2/libgtk2.mk b/package/libgtk2/libgtk2.mk
index 7db0067bb..3b85f6346 100644
--- a/package/libgtk2/libgtk2.mk
+++ b/package/libgtk2/libgtk2.mk
@@ -85,13 +85,13 @@ ifeq ($(BR2_PACKAGE_DIRECTFB),y)
LIBGTK2_DEPENDENCIES += directfb
endif
-ifneq ($(BR2_PACKAGE_XSERVER_none),y)
+ifeq ($(BR2_PACKAGE_XORG7),y)
LIBGTK2_CONF_OPT += \
--with-x \
--x-includes=$(STAGING_DIR)/usr/include/X11 \
--x-libraries=$(STAGING_DIR)/usr/lib \
--with-gdktarget=x11
- LIBGTK2_DEPENDENCIES += xlib_libXcomposite $(XSERVER)
+ LIBGTK2_DEPENDENCIES += xlib_libXcomposite xserver_xorg-server
else
LIBGTK2_CONF_OPT += --without-x
endif
diff --git a/package/libnl/Config.in b/package/libnl/Config.in
new file mode 100644
index 000000000..24e481361
--- /dev/null
+++ b/package/libnl/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_LIBNL
+ bool "libnl"
+ help
+ A library for applications dealing with netlink socket.
+
+ http://people.suug.ch/~tgr/libnl/
diff --git a/package/libnl/libnl.mk b/package/libnl/libnl.mk
new file mode 100644
index 000000000..1a667468d
--- /dev/null
+++ b/package/libnl/libnl.mk
@@ -0,0 +1,22 @@
+#############################################################
+#
+# libnl
+#
+#############################################################
+
+LIBNL_VERSION = 1.1
+LIBNL_SOURCE = libnl-$(LIBNL_VERSION).tar.gz
+LIBNL_SITE = http://distfiles.gentoo.org/distfiles
+LIBNL_INSTALL_STAGING = YES
+LIBNL_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
+
+$(eval $(call AUTOTARGETS,package,libnl))
+
+$(LIBNL_HOOK_POST_INSTALL): $(LIBNL_TARGET_INSTALL_TARGET)
+ $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libnl.so*
+ touch $@
+
+$(LIBNL_TARGET_UNINSTALL):
+ $(call MESSAGE,"Uninstalling")
+ rm -f $(TARGET_DIR)/usr/lib/libnl.so*
+ rm -f $(LIBNL_TARGET_INSTALL_TARGET) $(LIBNL_HOOK_POST_INSTALL)
diff --git a/package/libpng/libpng-remove-setjmp-error.patch b/package/libpng/libpng-remove-setjmp-error.patch
deleted file mode 100644
index 6d0d8f7f2..000000000
--- a/package/libpng/libpng-remove-setjmp-error.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -ur libpng-1.2.25/pngconf.h libpng-1.2.25-patched/pngconf.h
---- libpng-1.2.25/pngconf.h 2008-02-18 16:31:05.000000000 -0600
-+++ libpng-1.2.25-patched/pngconf.h 2008-03-05 07:30:22.900478085 -0600
-@@ -319,13 +319,6 @@
- # define PNG_SAVE_BSD_SOURCE
- # undef _BSD_SOURCE
- # endif
--# ifdef _SETJMP_H
-- /* If you encounter a compiler error here, see the explanation
-- * near the end of INSTALL.
-- */
-- __pngconf.h__ already includes setjmp.h;
-- __dont__ include it again.;
--# endif
- # endif /* __linux__ */
-
- /* include setjmp.h for error handling */
diff --git a/package/libpng/libpng.mk b/package/libpng/libpng.mk
index 8ed1b1a21..b1cb2209d 100644
--- a/package/libpng/libpng.mk
+++ b/package/libpng/libpng.mk
@@ -3,7 +3,7 @@
# libpng (Portable Network Graphic library)
#
#############################################################
-LIBPNG_VERSION:=1.2.35
+LIBPNG_VERSION:=1.2.38
LIBPNG_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/libpng
LIBPNG_SOURCE = libpng-$(LIBPNG_VERSION).tar.bz2
LIBPNG_LIBTOOL_PATCH = NO
diff --git a/package/matchbox/Config.in b/package/matchbox/Config.in
index b57a4a29f..afa568412 100644
--- a/package/matchbox/Config.in
+++ b/package/matchbox/Config.in
@@ -1,6 +1,5 @@
config BR2_PACKAGE_MATCHBOX
bool "MatchBox Window Manager"
- select BR2_PACKAGE_XSERVER_XORG_SERVER
select BR2_PACKAGE_XORG7
select BR2_PACKAGE_FONTCONFIG
select BR2_PACKAGE_XLIB_LIBXDAMAGE
diff --git a/package/memstat/memstat.mk b/package/memstat/memstat.mk
index 7220aeeeb..a54509ac1 100644
--- a/package/memstat/memstat.mk
+++ b/package/memstat/memstat.mk
@@ -21,15 +21,17 @@ $(MEMSTAT_DIR)/.configured: $(MEMSTAT_DIR)/.unpacked
touch $@
$(MEMSTAT_DIR)/memstat: $(MEMSTAT_DIR)/.configured
- $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) $(@D)/memstat.c -o $@
+ $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) \
+ $(CFLAGS_WHOLE_PROGRAM) $(@D)/memstat.c -o $@
$(TARGET_DIR)/usr/bin/memstat: $(MEMSTAT_DIR)/memstat
[ -e $(TARGET_DIR)/etc/memstat.conf ] || \
- $(INSTALL) -m 0644 -D $(^D)/memstat.conf $(TARGET_DIR)/etc
+ $(INSTALL) -m 0644 -D $(^D)/memstat.conf \
+ $(TARGET_DIR)/etc/memstat.conf
$(INSTALL) -m 0755 -D $^ $@
$(STRIPCMD) $(STRIP_STRIP_ALL) $@
-memstat: uclibc $(TARGET_DIR)/usr/bin/memstat
+memstat: $(TARGET_DIR)/usr/bin/memstat
memstat-source: $(DL_DIR)/$(MEMSTAT_SOURCE)
diff --git a/package/metacity/Config.in b/package/metacity/Config.in
index b552f67ac..12c54d117 100644
--- a/package/metacity/Config.in
+++ b/package/metacity/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_METACITY
bool "metacity"
select BR2_PACKAGE_LIBGTK2
- depends on BR2_PACKAGE_XORG||BR2_PACKAGE_XORG7
+ depends on BR2_PACKAGE_XORG7
help
Metacity is a window manager for the X Window System.
diff --git a/package/metacity/metacity.mk b/package/metacity/metacity.mk
index d5d5bb7b0..6861165e4 100644
--- a/package/metacity/metacity.mk
+++ b/package/metacity/metacity.mk
@@ -16,7 +16,7 @@ METACITY_CONF_OPT = --x-includes=$(STAGING_DIR)/usr/include/X11 \
--disable-dependency-tracking \
--disable-sm --disable-startup-notification
-METACITY_DEPENDENCIES = uclibc libgtk2 $(XSERVER)
+METACITY_DEPENDENCIES = uclibc libgtk2 xserver_xorg-server
$(eval $(call AUTOTARGETS,package,metacity))
diff --git a/package/midori/Config.in b/package/midori/Config.in
index eb960d4eb..80b7f772d 100644
--- a/package/midori/Config.in
+++ b/package/midori/Config.in
@@ -2,11 +2,8 @@ config BR2_PACKAGE_MIDORI
bool "midori"
select BR2_PACKAGE_WEBKIT
select BR2_PACKAGE_LIBSEXY
- depends on BR2_PACKAGE_XORG||BR2_PACKAGE_XORG7
+ depends on BR2_PACKAGE_XORG7
help
Midori is a lightweight web browser based on WebKit
http://software.twotoasts.de/?page=midori
-
-comment "midori - disabled (requires Xorg(7))"
- depends on !(BR2_PACKAGE_XORG || BR2_PACKAGE_XORG7)
diff --git a/package/midori/midori.mk b/package/midori/midori.mk
index 805b0287a..6861d4c29 100644
--- a/package/midori/midori.mk
+++ b/package/midori/midori.mk
@@ -11,6 +11,6 @@ MIDORI_AUTORECONF = YES
MIDORI_INSTALL_STAGING = NO
MIDORI_INSTALL_TARGET = YES
-MIDORI_DEPENDENCIES = uclibc host-pkgconfig webkit libsexy $(XSERVER)
+MIDORI_DEPENDENCIES = uclibc host-pkgconfig webkit libsexy xserver_xorg-server
$(eval $(call AUTOTARGETS,package,midori))
diff --git a/package/mtd/20050122/mtd.mk b/package/mtd/20050122/mtd.mk
deleted file mode 100644
index b5a9d5c50..000000000
--- a/package/mtd/20050122/mtd.mk
+++ /dev/null
@@ -1,138 +0,0 @@
-#############################################################
-#
-# mtd provides jffs2 utilities
-#
-#############################################################
-MTD_SOURCE:=mtd_20050122.orig.tar.gz
-MTD_SITE:=$(BR2_DEBIAN_MIRROR)/debian/pool/main/m/mtd
-MTD_HOST_DIR := $(TOOL_BUILD_DIR)/mtd_orig
-MTD_DIR:=$(BUILD_DIR)/mtd_orig
-MTD_CAT:=$(ZCAT)
-
-
-
-#############################################################
-#
-# Build mkfs.jffs2 and sumtool for use on the local host system if
-# needed by target/jffs2root.
-#
-#############################################################
-MKFS_JFFS2 := $(MTD_HOST_DIR)/util/mkfs.jffs2
-SUMTOOL := $(MTD_HOST_DIR)/util/sumtool
-
-ifneq ($(MTD_SOURCE),)
-$(DL_DIR)/$(MTD_SOURCE):
- $(call DOWNLOAD,$(MTD_SITE),$(MTD_SOURCE))
-endif
-
-$(MTD_HOST_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE)
- $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
- mv $(TOOL_BUILD_DIR)/$(shell tar tzf $(DL_DIR)/$(MTD_SOURCE) | head -n 1 \
- | xargs basename) $(MTD_HOST_DIR)
- toolchain/patch-kernel.sh $(MTD_HOST_DIR) package/mtd/20050122 \*.patch
- touch $@
-
-$(MKFS_JFFS2): $(MTD_HOST_DIR)/.unpacked
- CFLAGS=-I$(LINUX_HEADERS_DIR)/include $(MAKE) CC="$(HOSTCC)" CROSS= \
- LINUXDIR=$(LINUX_DIR) -C $(MTD_HOST_DIR)/util mkfs.jffs2
-
-$(SUMTOOL): $(MTD_HOST_DIR)/.unpacked
- CFLAGS=-I$(LINUX_HEADERS_DIR)/include $(MAKE) CC="$(HOSTCC)" CROSS= \
- LINUXDIR=$(LINUX_DIR) -C $(MTD_HOST_DIR)/util sumtool
-
-mtd-host: $(MKFS_JFFS2) $(SUMTOOL)
-
-mtd-host-source: $(DL_DIR)/$(MTD_SOURCE)
-
-mtd-host-clean:
- -$(MAKE) -C $(MTD_HOST_DIR) clean
-
-mtd-host-dirclean:
- rm -rf $(MTD_HOST_DIR)
-
-#############################################################
-#
-# build mtd for use on the target system
-#
-#############################################################
-$(MTD_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE)
- $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- mv $(BUILD_DIR)/$(shell tar tzf $(DL_DIR)/$(MTD_SOURCE) \
- | head -n 1 | xargs basename) $(MTD_DIR)
- toolchain/patch-kernel.sh $(MTD_DIR) \
- package/mtd/20050122 \*.patch
- touch $@
-
-MTD_TARGETS_n :=
-MTD_TARGETS_y :=
-
-MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASE) += flash_erase
-MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASEALL) += flash_eraseall
-MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_INFO) += flash_info
-MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_LOCK) += flash_lock
-MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_UNLOCK) += flash_unlock
-MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASHCP) += flashcp
-MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSJFFS2) += mkfs.jffs2
-MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSJFFS) += mkfs.jffs
-MTD_TARGETS_$(BR2_PACKAGE_MTD_JFFS2DUMP) += jffs2dump
-MTD_TARGETS_$(BR2_PACKAGE_MTD_JFFS3DUMP) += jffs3dump
-MTD_TARGETS_$(BR2_PACKAGE_MTD_SUMTOOL) += sumtool
-MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_CHECK) += ftl_check
-MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_FORMAT) += ftl_format
-MTD_TARGETS_$(BR2_PACKAGE_MTD_NFTLDUMP) += nftldump
-MTD_TARGETS_$(BR2_PACKAGE_MTD_NFTL_FORMAT) += nftl_format
-MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDDUMP) += nanddump
-MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDWRITE) += nandwrite
-MTD_TARGETS_$(BR2_PACKAGE_MTD_MTD_DEBUG) += mtd_debug
-MTD_TARGETS_$(BR2_PACKAGE_MTD_DOCFDISK) += docfdisk
-MTD_TARGETS_$(BR2_PACKAGE_MTD_DOC_LOADBIOS) += doc_loadbios
-
-MTD_BUILD_TARGETS := $(addprefix $(MTD_DIR)/util/, $(MTD_TARGETS_y))
-
-$(MTD_BUILD_TARGETS): $(MTD_DIR)/.unpacked
- $(MAKE) $(TARGET_CONFIGURE_OPTS) \
- CFLAGS+="-I$(MTD_DIR)/include" \
- CFLAGS+="-I$(LINUX_HEADERS_DIR)/include" \
- LDFLAGS="$(TARGET_LDFLAGS)" \
- LINUXDIR=$(LINUX_DIR) -C $(MTD_DIR)/util
-
-MTD_TARGETS := $(addprefix $(TARGET_DIR)/usr/sbin/, $(MTD_TARGETS_y))
-
-$(MTD_TARGETS): $(TARGET_DIR)/usr/sbin/% : $(MTD_DIR)/util/%
- mkdir -p $(TARGET_DIR)/usr/sbin
- cp -f $< $@
- $(STRIPCMD) $@
-ifneq ($(BR2_PACKAGE_MTD_FLASHCP),)
- -ln -sf flashcp $(TARGET_DIR)/usr/sbin/fcp
-endif
-ifneq ($(BR2_PACKAGE_MTD_ERASE),)
- -ln -sf flash_erase $(TARGET_DIR)/usr/sbin/erase
- -ln -sf flash_eraseall $(TARGET_DIR)/usr/sbin/eraseall
-endif
-
-mtd: zlib $(MTD_TARGETS)
-
-mtd-source: $(DL_DIR)/$(MTD_SOURCE)
-
-mtd-clean:
- -$(MAKE) -C $(MTD_DIR) clean
-ifneq ($(BR2_PACKAGE_MTD_FLASHCP),)
- -rm -f $(MTD_TARGETS) $(TARGET_DIR)/usr/sbin/fcp
-endif
-ifneq ($(BR2_PACKAGE_MTD_ERASE),)
- -rm -f $(MTD_TARGETS) $(TARGET_DIR)/usr/sbin/erase
- -rm -f $(MTD_TARGETS) $(TARGET_DIR)/usr/sbin/eraseall
-endif
-
-mtd-dirclean:
- rm -rf $(MTD_DIR)
-
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_MTD),y)
-TARGETS+=mtd
-endif
diff --git a/package/mtd/20050122/mtd.patch b/package/mtd/20050122/mtd.patch
deleted file mode 100644
index 40d6865cc..000000000
--- a/package/mtd/20050122/mtd.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -ur mtd-20050122.orig/util/flash_eraseall.c mtd-20050122.orig-patched/util/flash_eraseall.c
---- mtd-20050122.orig/util/flash_eraseall.c 2004-12-09 17:00:52.000000000 -0600
-+++ mtd-20050122.orig-patched/util/flash_eraseall.c 2007-01-13 22:56:51.864233154 -0600
-@@ -54,7 +54,7 @@
- static void display_help (void);
- static void display_version (void);
- static struct jffs2_unknown_node cleanmarker;
--static int target_endian = __BYTE_ORDER;
-+int target_endian = __BYTE_ORDER;
-
- int main (int argc, char *argv[])
- {
-@@ -134,7 +134,7 @@
- if (!quiet)
- printf ("\nSkipping bad block at 0x%08x\n", erase.start);
- continue;
-- } else if (ret == -EOPNOTSUPP) {
-+ } else if (errno == EOPNOTSUPP) {
- fprintf(stderr, "%s: %s: Bad block check not available\n", exe_name, mtd_device);
- bbtest = 0;
- } else if (ret < 0) {
-diff -ur mtd-20050122.orig/util/mkfs.jffs2.c mtd-20050122.orig-patched/util/mkfs.jffs2.c
---- mtd-20050122.orig/util/mkfs.jffs2.c 2004-11-26 17:00:13.000000000 -0600
-+++ mtd-20050122.orig-patched/util/mkfs.jffs2.c 2007-01-13 22:55:53.627687214 -0600
-@@ -101,7 +101,7 @@
- static int squash_uids = 0;
- static int squash_perms = 0;
- static int fake_times = 0;
--static int target_endian = __BYTE_ORDER;
-+int target_endian = __BYTE_ORDER;
- static const char *const app_name = "mkfs.jffs2";
- static const char *const memory_exhausted = "memory exhausted";
-
-diff -ur mtd-20050122.orig/util/sumtool.c mtd-20050122.orig-patched/util/sumtool.c
---- mtd-20050122.orig/util/sumtool.c 2005-01-05 17:00:16.000000000 -0600
-+++ mtd-20050122.orig-patched/util/sumtool.c 2007-01-13 22:56:05.528616125 -0600
-@@ -68,7 +68,7 @@
- static int cleanmarker_size = sizeof(cleanmarker);
- static const char *short_options = "o:i:e:hvVblnc:p";
- static int erase_block_size = 65536;
--static int target_endian = __BYTE_ORDER;
-+int target_endian = __BYTE_ORDER;
- static int out_fd = -1;
- static int in_fd = -1;
-
diff --git a/package/mtd/20061007/mtd-20061007-mkfs.jffs2.patch b/package/mtd/20061007/mtd-20061007-mkfs.jffs2.patch
deleted file mode 100644
index 3c4d6bad6..000000000
--- a/package/mtd/20061007/mtd-20061007-mkfs.jffs2.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -urN mtd-20061007.orig-0rig/mkfs.jffs2.c mtd-20061007.orig/mkfs.jffs2.c
---- mtd-20061007.orig-0rig/mkfs.jffs2.c 2006-10-07 17:33:37.000000000 +0200
-+++ mtd-20061007.orig/mkfs.jffs2.c 2007-04-09 02:16:06.000000000 +0200
-@@ -240,6 +242,15 @@
- {
- struct filesystem_entry *e = dir;
-
-+ if((strlen(fullname) == 1) && (fullname[0] == '/')) {
-+ /* Looking for "root" */
-+ if(e != NULL) {
-+ if((strlen(e->fullname) == 1) && (e->fullname[0] == '/')) {
-+ return (e);
-+ }
-+ }
-+ }
-+
- if (S_ISDIR(dir->sb.st_mode)) {
- e = dir->files;
- }
diff --git a/package/mtd/20061007/mtd.mk b/package/mtd/20061007/mtd.mk
deleted file mode 100644
index dfd348579..000000000
--- a/package/mtd/20061007/mtd.mk
+++ /dev/null
@@ -1,120 +0,0 @@
-#############################################################
-#
-# mtd provides jffs2 utilities
-#
-#############################################################
-MTD_SOURCE=mtd_20061007.orig.tar.gz
-MTD_SITE=$(BR2_DEBIAN_MIRROR)/debian/pool/main/m/mtd
-MTD_HOST_DIR := $(TOOL_BUILD_DIR)/mtd_orig
-MTD_DIR:=$(BUILD_DIR)/mtd_orig
-MTD_CAT:=$(ZCAT)
-MTD_DATE:=20061007
-
-#############################################################
-#
-# Build mkfs.jffs2 and sumtool for use on the local host system if
-# needed by target/jffs2root.
-#
-#############################################################
-MKFS_JFFS2 := $(MTD_HOST_DIR)/mkfs.jffs2
-SUMTOOL := $(MTD_HOST_DIR)/sumtool
-
-$(DL_DIR)/$(MTD_SOURCE):
- $(call DOWNLOAD,$(MTD_SITE),$(MTD_SOURCE))
-
-$(MTD_HOST_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE)
- $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
- mv $(TOOL_BUILD_DIR)/$(shell tar tzf $(DL_DIR)/$(MTD_SOURCE) | head -n 1 \
- | xargs basename) $(MTD_HOST_DIR)
- toolchain/patch-kernel.sh $(MTD_HOST_DIR) \
- package/mtd/$(MTD_DATE) \*.patch
- touch $@
-
-$(MKFS_JFFS2): $(MTD_HOST_DIR)/.unpacked
- CC="$(HOSTCC)" CROSS= CFLAGS=-I$(LINUX_HEADERS_DIR)/include \
- $(MAKE) LINUXDIR=$(LINUX_DIR) -C $(MTD_HOST_DIR) mkfs.jffs2
-
-$(SUMTOOL): $(MTD_HOST_DIR)/.unpacked
- CC="$(HOSTCC)" CROSS= CFLAGS=-I$(LINUX_HEADERS_DIR)/include \
- $(MAKE) LINUXDIR=$(LINUX_DIR) -C $(MTD_HOST_DIR) sumtool
-
-mtd-host: $(MKFS_JFFS2) $(SUMTOOL)
-
-mtd-host-source: $(DL_DIR)/$(MTD_SOURCE)
-
-mtd-host-clean:
- -$(MAKE) -C $(MTD_HOST_DIR) clean
-
-mtd-host-dirclean:
- rm -rf $(MTD_HOST_DIR)
-
-#############################################################
-#
-# build mtd for use on the target system
-#
-#############################################################
-$(MTD_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE)
- $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- mv $(BUILD_DIR)/$(shell tar tzf $(DL_DIR)/$(MTD_SOURCE) \
- | head -n 1 | xargs basename) $(MTD_DIR)
- toolchain/patch-kernel.sh $(MTD_DIR) \
- package/mtd/$(MTD_DATE) \*.patch
- touch $@
-
-MTD_TARGETS_n :=
-MTD_TARGETS_y :=
-
-MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASE) += flash_erase
-MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASEALL) += flash_eraseall
-MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_INFO) += flash_info
-MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_LOCK) += flash_lock
-MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_UNLOCK) += flash_unlock
-MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASHCP) += flashcp
-MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSJFFS2) += mkfs.jffs2
-MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSJFFS) += mkfs.jffs
-MTD_TARGETS_$(BR2_PACKAGE_MTD_JFFS2DUMP) += jffs2dump
-#MTD_TARGETS_$(BR2_PACKAGE_MTD_JFFS3DUMP) += jffs3dump
-MTD_TARGETS_$(BR2_PACKAGE_MTD_SUMTOOL) += sumtool
-MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_CHECK) += ftl_check
-MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_FORMAT) += ftl_format
-MTD_TARGETS_$(BR2_PACKAGE_MTD_NFTLDUMP) += nftldump
-MTD_TARGETS_$(BR2_PACKAGE_MTD_NFTL_FORMAT) += nftl_format
-MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDDUMP) += nanddump
-MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDWRITE) += nandwrite
-MTD_TARGETS_$(BR2_PACKAGE_MTD_MTD_DEBUG) += mtd_debug
-MTD_TARGETS_$(BR2_PACKAGE_MTD_DOCFDISK) += docfdisk
-MTD_TARGETS_$(BR2_PACKAGE_MTD_DOC_LOADBIOS) += doc_loadbios
-
-MTD_BUILD_TARGETS := $(addprefix $(MTD_DIR)/, $(MTD_TARGETS_y))
-
-$(MTD_BUILD_TARGETS): $(MTD_DIR)/.unpacked
- mkdir -p $(TARGET_DIR)/usr/sbin
- $(MAKE) CFLAGS="-I. -I./include -I$(LINUX_HEADERS_DIR)/include -I$(STAGING_DIR)/usr/include $(TARGET_CFLAGS)" \
- LDFLAGS="$(TARGET_LDFLAGS)" \
- CROSS= CC=$(TARGET_CC) LINUXDIR=$(LINUX26_DIR) WITHOUT_XATTR=1 -C $(MTD_DIR)
-
-MTD_TARGETS := $(addprefix $(TARGET_DIR)/usr/sbin/, $(MTD_TARGETS_y))
-
-$(MTD_TARGETS): $(TARGET_DIR)/usr/sbin/% : $(MTD_DIR)/%
- cp -f $< $@
- $(STRIPCMD) $@
-
-mtd: zlib $(MTD_TARGETS)
-
-mtd-source: $(DL_DIR)/$(MTD_SOURCE)
-
-mtd-clean:
- -$(MAKE) -C $(MTD_DIR) clean
-
-mtd-dirclean:
- rm -rf $(MTD_DIR)
-
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_MTD),y)
-TARGETS+=mtd
-endif
diff --git a/package/mtd/20061007/mtd_20061007.patch b/package/mtd/20061007/mtd_20061007.patch
deleted file mode 100644
index 23654fea6..000000000
--- a/package/mtd/20061007/mtd_20061007.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-diff -urN mtd-20061007.orig/Makefile mtd-20061007.orig.patch/Makefile
---- mtd-20061007.orig/Makefile 2006-10-07 16:33:37.000000000 +0100
-+++ mtd-20061007.orig.patch/Makefile 2007-01-09 14:06:22.000000000 +0000
-@@ -9,12 +9,10 @@
- #CROSS=arm-linux-
- CC := $(CROSS)gcc
- CFLAGS := -I./include -O2 -Wall
-+BUILDDIR := .
-
--ifeq ($(origin CROSS),undefined)
-- BUILDDIR := .
--else
--# Remove the trailing slash to make the directory name
-- BUILDDIR := $(CROSS:-=)
-+ifeq ($(WITHOUT_XATTR), 1)
-+ CFLAGS += -DWITHOUT_XATTR
- endif
-
- RAWTARGETS = ftl_format flash_erase flash_eraseall nanddump doc_loadbios \
-diff -urN mtd-20061007.orig/mkfs.jffs2.c mtd-20061007.orig.patch/mkfs.jffs2.c
---- mtd-20061007.orig/mkfs.jffs2.c 2006-10-07 16:33:37.000000000 +0100
-+++ mtd-20061007.orig.patch/mkfs.jffs2.c 2007-01-09 11:18:33.000000000 +0000
-@@ -64,8 +64,10 @@
- #include <ctype.h>
- #include <time.h>
- #include <getopt.h>
--#include <sys/xattr.h>
--#include <sys/acl.h>
-+#ifndef WITHOUT_XATTR
-+ #include <sys/xattr.h>
-+ #include <sys/acl.h>
-+#endif
- #include <byteswap.h>
- #define crc32 __complete_crap
- #include <zlib.h>
-@@ -1030,6 +1032,7 @@
- padword();
- }
-
-+#ifndef WITHOUT_XATTR
- typedef struct xattr_entry {
- struct xattr_entry *next;
- uint32_t xid;
-@@ -1258,6 +1261,9 @@
- padword();
- }
- }
-+#else /* WITHOUT_XATTR */
-+#define write_xattr_entry(x)
-+#endif
-
- static void recursive_populate_directory(struct filesystem_entry *dir)
- {
-@@ -1416,9 +1422,11 @@
- {"test-compression", 0, NULL, 't'},
- {"compressor-priority", 1, NULL, 'y'},
- {"incremental", 1, NULL, 'i'},
-+#ifndef WITHOUT_XATTR
- {"with-xattr", 0, NULL, 1000 },
- {"with-selinux", 0, NULL, 1001 },
- {"with-posix-acl", 0, NULL, 1002 },
-+#endif
- {NULL, 0, NULL, 0}
- };
-
-@@ -1451,9 +1459,11 @@
- " -q, --squash Squash permissions and owners making all files be owned by root\n"
- " -U, --squash-uids Squash owners making all files be owned by root\n"
- " -P, --squash-perms Squash permissions on all files\n"
-+#ifndef WITHOUT_XATTR
- " --with-xattr stuff all xattr entries into image\n"
- " --with-selinux stuff only SELinux Labels into jffs2 image\n"
- " --with-posix-acl stuff only POSIX ACL entries into jffs2 image\n"
-+#endif
- " -h, --help Display this help text\n"
- " -v, --verbose Verbose operation\n"
- " -V, --version Display version information\n"
-@@ -1772,6 +1782,7 @@
- perror_msg_and_die("cannot open (incremental) file");
- }
- break;
-+#ifndef WITHOUT_XATTR
- case 1000: /* --with-xattr */
- enable_xattr |= (1 << JFFS2_XPREFIX_USER)
- | (1 << JFFS2_XPREFIX_SECURITY)
-@@ -1786,6 +1797,7 @@
- enable_xattr |= (1 << JFFS2_XPREFIX_ACL_ACCESS)
- | (1 << JFFS2_XPREFIX_ACL_DEFAULT);
- break;
-+#endif
- }
- }
- if (out_fd == -1) {
diff --git a/package/mtd/20061007/mtd_acl.patch b/package/mtd/20061007/mtd_acl.patch
deleted file mode 100644
index 953786eb1..000000000
--- a/package/mtd/20061007/mtd_acl.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Author: Ulf Samuelsson
-Date: 2007-01-25
-
-Log:
-Patch adding "sys/acl.h" needed to compile mtd.
-
-Modified:
- package/mtd/mtd_acl.patch
-
-Changeset
- package/mtd/mtd_acl.patch
-
-diff -urN mtd_orig-0rig/include/sys/acl.h mtd_orig/include/sys/acl.h
---- mtd_orig-0rig/include/sys/acl.h 1970-01-01 01:00:00.000000000 +0100
-+++ mtd_orig/include/sys/acl.h 2007-01-17 20:11:22.000000000 +0100
-@@ -0,0 +1,32 @@
-+/*
-+ File: linux/posix_acl.h
-+
-+ (C) 2002 Andreas Gruenbacher, <a.gruenbacher@computer.org>
-+*/
-+
-+
-+#ifndef __LINUX_POSIX_ACL_H
-+#define __LINUX_POSIX_ACL_H
-+
-+#define ACL_UNDEFINED_ID (-1)
-+
-+/* a_type field in acl_user_posix_entry_t */
-+#define ACL_TYPE_ACCESS (0x8000)
-+#define ACL_TYPE_DEFAULT (0x4000)
-+
-+/* e_tag entry in struct posix_acl_entry */
-+#define ACL_USER_OBJ (0x01)
-+#define ACL_USER (0x02)
-+#define ACL_GROUP_OBJ (0x04)
-+#define ACL_GROUP (0x08)
-+#define ACL_MASK (0x10)
-+#define ACL_OTHER (0x20)
-+
-+/* permissions in the e_perm field */
-+#define ACL_READ (0x04)
-+#define ACL_WRITE (0x02)
-+#define ACL_EXECUTE (0x01)
-+//#define ACL_ADD (0x08)
-+//#define ACL_DELETE (0x10)
-+
-+#endif /* __LINUX_POSIX_ACL_H */
diff --git a/package/mtd/Config.in b/package/mtd/Config.in
index 2dd41bebb..125175f39 100644
--- a/package/mtd/Config.in
+++ b/package/mtd/Config.in
@@ -15,18 +15,6 @@ config BR2_PACKAGE_MTD_UTILS
help
Build mtd/jffs utilities with Dataflash support
-config BR2_PACKAGE_MTD_20061007
- bool "Use MTD snapshot from 20061007"
- depends on BR2_DEPRECATED || BR2_RECENT
- help
- Build mtd/jffs utilities with Dataflash support
-
-config BR2_PACKAGE_MTD_20050122
- bool "Use MTD snapshot from 20050122"
- depends on BR2_DEPRECATED
- help
- Use the stable release.
-
config BR2_PACKAGE_MTD_UTILS_GIT
bool "Use MTD-utils from GIT"
help
diff --git a/package/mtd/mtd.mk b/package/mtd/mtd.mk
index c7774fdb1..f81ea1888 100644
--- a/package/mtd/mtd.mk
+++ b/package/mtd/mtd.mk
@@ -1,12 +1,6 @@
ifeq ($(BR2_PACKAGE_MTD_UTILS),y)
include package/mtd/mtd-utils/mtd.mk
endif
-ifeq ($(BR2_PACKAGE_MTD_20061007),y)
-include package/mtd/20061007/mtd.mk
-endif
-ifeq ($(BR2_PACKAGE_MTD_20050122),y)
-include package/mtd/20050122/mtd.mk
-endif
ifeq ($(BR2_PACKAGE_MTD_UTILS_GIT),y)
include package/mtd/mtd-utils.git/mtd.mk
endif
diff --git a/package/multimedia/Config.in b/package/multimedia/Config.in
index 02a35b827..c7160a663 100644
--- a/package/multimedia/Config.in
+++ b/package/multimedia/Config.in
@@ -11,6 +11,7 @@ source "package/multimedia/gst-plugins-bad/Config.in"
source "package/multimedia/gst-plugins-ugly/Config.in"
source "package/multimedia/libid3tag/Config.in"
source "package/multimedia/libmad/Config.in"
+source "package/multimedia/libmms/Config.in"
source "package/multimedia/libmpd/Config.in"
source "package/multimedia/libogg/Config.in"
source "package/multimedia/libsndfile/Config.in"
diff --git a/package/multimedia/gst-plugins-base/gst-plugins-base.mk b/package/multimedia/gst-plugins-base/gst-plugins-base.mk
index 88c68e15d..63f23cd5c 100644
--- a/package/multimedia/gst-plugins-base/gst-plugins-base.mk
+++ b/package/multimedia/gst-plugins-base/gst-plugins-base.mk
@@ -9,6 +9,11 @@ GST_PLUGINS_BASE_SITE = http://gstreamer.freedesktop.org/src/gst-plugins-base
GST_PLUGINS_BASE_INSTALL_STAGING = YES
GST_PLUGINS_BASE_LIBTOOL_PATCH = NO
+# freetype is only used by examples, but if it is not found
+# and the host has a freetype-config script, then the host
+# include dirs are added to the search path causing trouble
+GST_PLUGINS_BASE_CONF_ENV = FT2_CONFIG=/bin/false
+
GST_PLUGINS_BASE_CONF_OPT = \
$(DISABLE_NLS) \
$(DISABLE_LARGEFILE) \
diff --git a/package/multimedia/gst-plugins-good/gst-plugins-good.mk b/package/multimedia/gst-plugins-good/gst-plugins-good.mk
index 75d25c88d..bd0cb7808 100644
--- a/package/multimedia/gst-plugins-good/gst-plugins-good.mk
+++ b/package/multimedia/gst-plugins-good/gst-plugins-good.mk
@@ -20,11 +20,12 @@ GST_PLUGINS_GOOD_CONF_OPT = \
--disable-x \
--disable-xshm \
--disable-xvideo \
+ --disable-aalib \
--disable-aalibtest \
+ --disable-esd \
--disable-esdtest \
--disable-shout2 \
- --disable-shout2test \
- --disable-esd
+ --disable-shout2test
GST_PLUGINS_GOOD_DEPENDENCIES = gstreamer gst-plugins-base
diff --git a/package/multimedia/libmms/Config.in b/package/multimedia/libmms/Config.in
new file mode 100644
index 000000000..02055c4c2
--- /dev/null
+++ b/package/multimedia/libmms/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_LIBMMS
+ bool "libmms"
+ select BR2_PACKAGE_LIBGLIB2
+ help
+ LibMMS is a common library for parsing mms:// and mmsh://
+ type network streams. These are commonly used to stream
+ Windows Media Video content over the web. LibMMS itself is
+ only for receiving MMS stream, it doesn't handle sending at
+ all.
+
+ http://launchpad.net/libmms
diff --git a/package/multimedia/libmms/libmms.mk b/package/multimedia/libmms/libmms.mk
new file mode 100644
index 000000000..a866fadd6
--- /dev/null
+++ b/package/multimedia/libmms/libmms.mk
@@ -0,0 +1,17 @@
+#############################################################
+#
+# libmms
+#
+#############################################################
+LIBMMS_VERSION = 0.4
+LIBMMS_SOURCE = libmms-$(LIBMMS_VERSION).tar.gz
+LIBMMS_SITE = http://launchpad.net/libmms/trunk/$(LIBMMS_VERSION)/+download
+
+LIBMMS_AUTORECONF = NO
+LIBMMS_LIBTOOL_PATCH = NO
+LIBMMS_INSTALL_STAGING = YES
+LIBMMS_INSTALL_TARGET = YES
+
+LIBMMS_DEPENDENCIES = uclibc host-pkgconfig libglib2
+
+$(eval $(call AUTOTARGETS,package/multimedia,libmms))
diff --git a/package/multimedia/libvorbis/libvorbis.mk b/package/multimedia/libvorbis/libvorbis.mk
index e7399e038..a8817268f 100644
--- a/package/multimedia/libvorbis/libvorbis.mk
+++ b/package/multimedia/libvorbis/libvorbis.mk
@@ -4,6 +4,8 @@
#
#############################################################
+ifneq ($(BR2_PACKAGE_LIBVORBIS_TREMOR),y)
+
LIBVORBIS_VERSION = 1.2.3
LIBVORBIS_SOURCE = libvorbis-$(LIBVORBIS_VERSION).tar.gz
LIBVORBIS_SITE = http://downloads.xiph.org/releases/vorbis/$(LIBVORBIS-SOURCE)
@@ -17,6 +19,7 @@ LIBVORBIS_DEPENDENCIES = uclibc host-pkgconfig libogg
$(eval $(call AUTOTARGETS,package/multimedia,libvorbis))
+else
############################################################
#
@@ -67,7 +70,11 @@ $(TREMOR_DIR)/.libs: $(TREMOR_DIR)/.configured
$(MAKE) CC=$(TARGET_CC) -C $(TREMOR_DIR)
touch $@
-$(TARGET_DIR)/usr/lib/tremor.so: $(TREMOR_DIR)/.libs
+$(STAGING_DIR)/usr/lib/tremor.so: $(TREMOR_DIR)/.libs
+ $(MAKE) prefix=$(STAGING_DIR)/usr -C $(TREMOR_DIR) install
+ touch $@
+
+$(TARGET_DIR)/usr/lib/tremor.so: $(STAGING_DIR)/usr/lib/tremor.so
$(MAKE) prefix=$(TARGET_DIR)/usr -C $(TREMOR_DIR) \
$(if $(BR2_STRIP_none),install,install-strip)
touch $@
@@ -76,15 +83,15 @@ $(TARGET_DIR)/usr/lib/tremor.a: $(TARGET_DIR)/usr/lib/tremor.so
cp -dpf $(TREMOR_DIR)/lib/tremor.a $(TARGET_DIR)/usr/lib/
touch $@
-tremor: uclibc host-pkgconfig host-autoconf host-automake libogg $(TARGET_DIR)/usr/lib/tremor.so
+tremor libvorbis: uclibc host-pkgconfig host-autoconf host-automake libogg $(TARGET_DIR)/usr/lib/tremor.so
-tremor-source: $(DL_DIR)/$(TREMOR_SOURCE)
+tremor-source libvorbis-source: $(DL_DIR)/$(TREMOR_SOURCE)
-tremor-clean:
+tremor-clean libvorbis-clean:
$(MAKE) prefix=$(STAGING_DIR)/usr -C $(TREMOR_DIR) uninstall
-$(MAKE) -C $(TREMOR_DIR) clean
-tremor-dirclean:
+tremor-dirclean libvorbis-dirclean:
rm -rf $(TREMOR_DIR)
@@ -93,9 +100,6 @@ tremor-dirclean:
# Toplevel Makefile options
#
############################################################
-ifeq ($(BR2_PACKAGE_LIBVORBIS),y)
-ifeq ($(BR2_PACKAGE_LIBVORBIS_TREMOR),y)
TARGETS+=tremor
-endif
-TARGETS+=libvorbis
+
endif
diff --git a/package/multimedia/mplayer/mplayer-1.0rc1-fix-alsa-output.patch b/package/multimedia/mplayer/mplayer-1.0rc1-fix-alsa-output.patch
deleted file mode 100644
index d7b8f89e9..000000000
--- a/package/multimedia/mplayer/mplayer-1.0rc1-fix-alsa-output.patch
+++ /dev/null
@@ -1,150 +0,0 @@
---- a/libao2/ao_alsa.c
-+++ b/libao2/ao_alsa.c
-@@ -263,48 +263,49 @@ static int str_maxlen(strarg_t *str) {
- return 1;
- }
-
--/* change a PCM definition for correct AC-3 playback */
--static void set_non_audio(snd_config_t *root, const char *name_with_args)
-+static int try_open_device(const char *device, int open_mode, int try_ac3)
- {
-- char *name, *colon, *old_value_str;
-- snd_config_t *config, *args, *aes0, *old_def, *def;
-- int value, err;
--
-- /* strip the parameters from the PCM name */
-- if ((name = strdup(name_with_args)) != NULL) {
-- if ((colon = strchr(name, ':')) != NULL)
-- *colon = '\0';
-- /* search the PCM definition that we'll later use */
-- if (snd_config_search_alias_hooks(root, strchr(name, '.') ? NULL : "pcm",
-- name, &config) >= 0) {
-- /* does this definition have an "AES0" parameter? */
-- if (snd_config_search(config, "@args", &args) >= 0 &&
-- snd_config_search(args, "AES0", &aes0) >= 0) {
-- /* read the old default value */
-- value = IEC958_AES0_CON_NOT_COPYRIGHT |
-- IEC958_AES0_CON_EMPHASIS_NONE;
-- if (snd_config_search(aes0, "default", &old_def) >= 0) {
-- /* don't use snd_config_get_integer() because alsa-lib <= 1.0.12
-- * parses hex numbers as strings */
-- if (snd_config_get_ascii(old_def, &old_value_str) >= 0) {
-- sscanf(old_value_str, "%i", &value);
-- free(old_value_str);
-- }
-- } else
-- old_def = NULL;
-- /* set the non-audio bit */
-- value |= IEC958_AES0_NONAUDIO;
-- /* set the new default value */
-- if (snd_config_imake_integer(&def, "default", value) >= 0) {
-- if (old_def)
-- snd_config_substitute(old_def, def);
-- else
-- snd_config_add(aes0, def);
-- }
-+ int err, len;
-+ char *ac3_device, *args;
-+
-+ if (try_ac3) {
-+ /* to set the non-audio bit, use AES0=6 */
-+ len = strlen(device);
-+ ac3_device = malloc(len + 7 + 1);
-+ if (!ac3_device)
-+ return -ENOMEM;
-+ strcpy(ac3_device, device);
-+ args = strchr(ac3_device, ':');
-+ if (!args) {
-+ /* no existing parameters: add it behind device name */
-+ strcat(ac3_device, ":AES0=6");
-+ } else {
-+ do
-+ ++args;
-+ while (isspace(*args));
-+ if (*args == '\0') {
-+ /* ":" but no parameters */
-+ strcat(ac3_device, "AES0=6");
-+ } else if (*args != '{') {
-+ /* a simple list of parameters: add it at the end of the list */
-+ strcat(ac3_device, ",AES0=6");
-+ } else {
-+ /* parameters in config syntax: add it inside the { } block */
-+ do
-+ --len;
-+ while (len > 0 && isspace(ac3_device[len]));
-+ if (ac3_device[len] == '}')
-+ strcpy(ac3_device + len, " AES0=6}");
- }
- }
-- free(name);
-+ err = snd_pcm_open(&alsa_handler, ac3_device, SND_PCM_STREAM_PLAYBACK,
-+ open_mode);
-+ free(ac3_device);
- }
-+ if (!try_ac3 || err < 0)
-+ err = snd_pcm_open(&alsa_handler, device, SND_PCM_STREAM_PLAYBACK,
-+ open_mode);
-+ return err;
- }
-
- /*
-@@ -316,7 +317,6 @@ static int init(int rate_hz, int channel
- int err;
- int block;
- strarg_t device;
-- snd_config_t *my_config;
- snd_pcm_uframes_t bufsize;
- snd_pcm_uframes_t boundary;
- opt_t subopts[] = {
-@@ -496,24 +496,12 @@ static int init(int rate_hz, int channel
- }
-
- if (!alsa_handler) {
-- if ((err = snd_config_update()) < 0) {
-- mp_msg(MSGT_AO,MSGL_ERR,"alsa-init: cannot read ALSA configuration: %s\n", snd_strerror(err));
-- return 0;
-- }
-- if ((err = snd_config_copy(&my_config, snd_config)) < 0) {
-- mp_msg(MSGT_AO,MSGL_ERR,"alsa-init: cannot copy configuration: %s\n", snd_strerror(err));
-- return 0;
-- }
-- if (format == AF_FORMAT_AC3)
-- set_non_audio(my_config, alsa_device);
- //modes = 0, SND_PCM_NONBLOCK, SND_PCM_ASYNC
-- if ((err = snd_pcm_open_lconf(&alsa_handler, alsa_device,
-- SND_PCM_STREAM_PLAYBACK, open_mode, my_config)) < 0)
-+ if ((err = try_open_device(alsa_device, open_mode, format == AF_FORMAT_AC3)) < 0)
- {
- if (err != -EBUSY && ao_noblock) {
- mp_msg(MSGT_AO,MSGL_INFO,"alsa-init: open in nonblock-mode failed, trying to open in block-mode\n");
-- if ((err = snd_pcm_open_lconf(&alsa_handler, alsa_device,
-- SND_PCM_STREAM_PLAYBACK, 0, my_config)) < 0) {
-+ if ((err = try_open_device(alsa_device, 0, format == AF_FORMAT_AC3)) < 0) {
- mp_msg(MSGT_AO,MSGL_ERR,"alsa-init: playback open error: %s\n", snd_strerror(err));
- return(0);
- }
-@@ -522,12 +510,11 @@ static int init(int rate_hz, int channel
- return(0);
- }
- }
-- snd_config_delete(my_config);
-
- if ((err = snd_pcm_nonblock(alsa_handler, 0)) < 0) {
- mp_msg(MSGT_AO,MSGL_ERR,"alsa-init: error set block-mode %s\n", snd_strerror(err));
- } else {
-- mp_msg(MSGT_AO,MSGL_V,"alsa-init: pcm opend in blocking mode\n");
-+ mp_msg(MSGT_AO,MSGL_V,"alsa-init: pcm opened in blocking mode\n");
- }
-
- snd_pcm_hw_params_alloca(&alsa_hwparams);
-@@ -879,8 +866,8 @@ static int get_space(void)
- }
-
- ret = snd_pcm_status_get_avail(status) * bytes_per_sample;
-- if (ret > MAX_OUTBURST)
-- ret = MAX_OUTBURST;
-+ if (ret > ao_data.buffersize) // Buffer underrun?
-+ ret = ao_data.buffersize;
- return(ret);
- }
-
diff --git a/package/multimedia/mplayer/mplayer-1.0rc1-index.patch b/package/multimedia/mplayer/mplayer-1.0rc1-index.patch
deleted file mode 100644
index 44ae4b05b..000000000
--- a/package/multimedia/mplayer/mplayer-1.0rc1-index.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/stream/stream_dvb.c
-+++ b/stream/stream_dvb.c
-@@ -37,9 +37,7 @@ Foundation, Inc., 675 Mass Ave, Cambridg
- #include <sys/poll.h>
- #include <unistd.h>
- #include <fcntl.h>
--#include <string.h>
- #include <errno.h>
--#include <fcntl.h>
-
- #include "stream.h"
- #include "libmpdemux/demuxer.h"
-@@ -168,7 +166,7 @@ static dvb_channels_list *dvb_get_channe
- if((line[0] == '#') || (strlen(line) == 0))
- continue;
-
-- colon = index(line, ':');
-+ colon = strchr(line, ':');
- if(colon)
- {
- k = colon - line;
diff --git a/package/multimedia/mplayer/mplayer-1.0rc1-ppc-configure.patch b/package/multimedia/mplayer/mplayer-1.0rc1-ppc-configure.patch
deleted file mode 100644
index 053655dc4..000000000
--- a/package/multimedia/mplayer/mplayer-1.0rc1-ppc-configure.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-mplayer: configure: handle target=powerpc-linux as well as ppc-linux
----
- configure | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: MPlayer-1.0rc1/configure
-===================================================================
---- MPlayer-1.0rc1.orig/configure
-+++ MPlayer-1.0rc1/configure
-@@ -133,7 +133,7 @@
-
- ppc() {
- case "$host_arch" in
-- ppc) return 0;;
-+ ppc|powerpc) return 0;;
- *) return 1;;
- esac
- }
-@@ -1213,7 +1213,7 @@
- _optimizing=''
- ;;
-
-- ppc)
-+ ppc|powerpc)
- _def_arch='#define ARCH_POWERPC 1'
- _def_dcbzl='#define NO_DCBZL 1'
- _target_arch='TARGET_ARCH_POWERPC = yes'
diff --git a/package/multimedia/mplayer/mplayer-1.0rc1-atmel.3.patch b/package/multimedia/mplayer/mplayer-1.0rc2-100-atmel.1.patch
index 740298cb6..0de695f81 100644..100755
--- a/package/multimedia/mplayer/mplayer-1.0rc1-atmel.3.patch
+++ b/package/multimedia/mplayer/mplayer-1.0rc2-100-atmel.1.patch
@@ -1,42 +1,7 @@
- cfg-common.h | 4 +
- cfg-mencoder.h | 4 +
- cfg-mplayer.h | 4 +
- configure | 13 +-
- libaf/af_format.c | 7 +
- libavcodec/Makefile | 7 +
- libavcodec/avr32/dsputil_avr32.c | 2678 ++++++++++++++++++++++++++++++++++++++
- libavcodec/avr32/fdct.S | 541 ++++++++
- libavcodec/avr32/h264idct.S | 451 +++++++
- libavcodec/avr32/idct.S | 829 ++++++++++++
- libavcodec/avr32/mc.S | 434 ++++++
- libavcodec/avr32/pico.h | 260 ++++
- libavcodec/bitstream.h | 77 +-
- libavcodec/dsputil.c | 3 +
- libavcodec/h264.c | 15 +
- libavutil/common.h | 16 +
- libavutil/internal.h | 9 +
- libfaad2/common.h | 2 +-
- libmpcodecs/ad_libmad.c | 5 +
- libswscale/pico-avr32.h | 137 ++
- libswscale/swscale_internal.h | 2 +-
- libswscale/yuv2rgb.c | 14 +
- libswscale/yuv2rgb_avr32.c | 416 ++++++
- libvo/vo_fbdev2.c | 101 ++-
- version.sh | 2 +-
- 25 files changed, 6011 insertions(+), 20 deletions(-)
- create mode 100644 libavcodec/avr32/dsputil_avr32.c
- create mode 100644 libavcodec/avr32/fdct.S
- create mode 100644 libavcodec/avr32/h264idct.S
- create mode 100644 libavcodec/avr32/idct.S
- create mode 100644 libavcodec/avr32/mc.S
- create mode 100644 libavcodec/avr32/pico.h
- create mode 100644 libswscale/pico-avr32.h
- create mode 100644 libswscale/yuv2rgb_avr32.c
-
--- a/cfg-common.h
+++ b/cfg-common.h
-@@ -235,6 +235,10 @@
- {"tsprobe", &ts_probe, CONF_TYPE_POSITION, 0, 0, TS_MAX_PROBE_SIZE, NULL},
+@@ -240,6 +240,10 @@
+ {"psprobe", &ps_probe, CONF_TYPE_POSITION, 0, 0, TS_MAX_PROBE_SIZE, NULL},
{"tskeepbroken", &ts_keep_broken, CONF_TYPE_FLAG, 0, 0, 1, NULL},
+#ifdef ARCH_AVR32
@@ -61,96 +26,70 @@
#endif
--- a/cfg-mplayer.h
+++ b/cfg-mplayer.h
-@@ -4,6 +4,10 @@
-
- #include "cfg-common.h"
+@@ -7,6 +7,10 @@
+ extern int key_fifo_size;
+ extern unsigned doubleclick_time;
+#ifdef ARCH_AVR32
+extern int avr32_use_pico;
+#endif
+
- extern int noconsolecontrols;
-
- #if defined(HAVE_FBDEV)||defined(HAVE_VESA)
+ #ifdef HAVE_FBDEV
+ extern char *fb_mode_cfgfile;
+ extern char *fb_mode_name;
--- a/configure
+++ b/configure
-@@ -1203,6 +1203,15 @@ EOF
+@@ -1631,7 +1631,7 @@ EOF
+ fi
+
+
+-_arch_all='X86 X86_32 X86_64 IA64 SPARC ARM ARMV4L SH3 POWERPC PPC ALPHA SGI_MIPS PA_RISC S390 S390X VAX BFIN GENERIC'
++_arch_all='X86 X86_32 X86_64 IA64 SPARC ARM ARMV4L AVR32 SH3 POWERPC PPC ALPHA SGI_MIPS PA_RISC S390 S390X VAX BFIN GENERIC'
+ case "$host_arch" in
+ i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
+ _arch='X86 X86_32'
+@@ -1994,6 +1994,16 @@ EOF
_optimizing="$proc"
;;
+ avr32)
-+ _def_arch='#define ARCH_AVR32'
-+ _target_arch='TARGET_ARCH_AVR32 = yes'
++ _arch='AVR32'
++ _target_arch='ARCH_AVR32 = yes'
+ iproc='avr32'
+ proc=''
+ _march=''
+ _mcpu=''
+ _optimizing=''
+ ;;
- arm|armv4l|armv5tel)
- _def_arch='#define ARCH_ARMV4L 1'
- _target_arch='TARGET_ARCH_ARMV4L = yes'
-@@ -1533,7 +1542,7 @@ echores $_named_asm_args
- # Checking for CFLAGS
- _stripbinaries=yes
- if test "$_profile" != "" || test "$_debug" != "" ; then
-- CFLAGS="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
-+ CFLAGS="-W -Wall -O4 $_march $_mcpu $_debug $_profile"
- if test "$_cc_major" -ge "3" ; then
- CFLAGS=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
- fi
-@@ -3794,7 +3803,7 @@ fi
-
-
- echocheck "X11 headers presence"
-- for I in `echo $_inc_extra | sed s/-I//g` /usr/X11/include /usr/X11R6/include /usr/include/X11R6 /usr/include /usr/openwin/include ; do
-+ for I in `echo $_inc_extra | sed s/-I//g`; do
- if test -f "$I/X11/Xlib.h" ; then
- _inc_x11="-I$I"
- _x11_headers="yes"
---- a/libaf/af_format.c
-+++ b/libaf/af_format.c
-@@ -20,7 +20,14 @@
- // Integer to float conversion through lrintf()
- #ifdef HAVE_LRINTF
- #include <math.h>
+
-+#ifdef ARCH_AVR32
-+#define lrintf(x) rint(x)
-+#define llrint(x) (long long)rint(x)
-+#else
- long int lrintf(float);
-+#endif
-+
- #else
- #define lrintf(x) ((int)(x))
- #endif
+ arm|armv4l|armv5tel)
+ _arch='ARM ARMV4L'
+ _target_arch='ARCH_ARMV4L = yes'
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
-@@ -360,6 +360,12 @@ OBJS-$(TARGET_ARCH_SPARC) +
-
- sparc/dsputil_vis.o: CFLAGS += -mcpu=ultrasparc -mtune=ultrasparc
+@@ -372,6 +372,11 @@ ASM_OBJS-$(ARCH_ARMV4L) +
+ OBJS-$(ARCH_ARMV4L) += armv4l/dsputil_arm.o \
+ armv4l/mpegvideo_arm.o \
-+# avr32 specific stuff
-+ifeq ($(TARGET_ARCH_AVR32),yes)
-+ASM_OBJS += avr32/idct.o avr32/fdct.o avr32/mc.o avr32/h264idct.o
-+OBJS += avr32/dsputil_avr32.o
-+endif
-+
- # sun mediaLib specific stuff
- OBJS-$(HAVE_MLIB) += mlib/dsputil_mlib.o \
++ASM_OBJS-$(ARCH_AVR32) += avr32/idct.o avr32/fdct.o \
++ avr32/mc.o avr32/h264idct.o
++
++OBJS-$(ARCH_AVR32) += avr32/dsputil_avr32.o
++
+ OBJS-$(HAVE_IWMMXT) += armv4l/dsputil_iwmmxt.o \
+ armv4l/mpegvideo_iwmmxt.o \
-@@ -419,6 +425,7 @@ tests: apiexample $(TESTS)
- clean::
+@@ -445,6 +450,7 @@ clean::
rm -f \
- i386/*.o i386/*~ \
-+ avr32/*.o avr32/*~ \
+ alpha/*.o alpha/*~ \
armv4l/*.o armv4l/*~ \
++ avr32/*.o avr32/*~ \
+ bfin/*.o bfin/*~ \
+ i386/*.o i386/*~ \
mlib/*.o mlib/*~ \
- alpha/*.o alpha/*~ \
--- /dev/null
+++ b/libavcodec/avr32/dsputil_avr32.c
-@@ -0,0 +1,2678 @@
+@@ -0,0 +1,2638 @@
+/*
+ * Copyright (c) 2007 Atmel Corporation. All rights reserved.
+ *
@@ -189,8 +128,6 @@
+
+int avr32_use_pico = 1;
+
-+//#define CHECK_DSP_FUNCS_AGAINST_C
-+
+#ifdef CHECK_DSP_FUNCS_AGAINST_C
+#define DSP_FUNC_NAME(name) test_ ## name
+#else
@@ -431,17 +368,6 @@
+
+
+
-+static inline void copy_block4(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
-+{
-+ int i;
-+ for(i=0; i<h; i++)
-+ {
-+ ST32(dst , LD32(src ));
-+ dst+=dstStride;
-+ src+=srcStride;
-+ }
-+}
-+
+static void clear_blocks_avr32(DCTELEM *blocks)
+{
+ int n = 12;
@@ -463,33 +389,6 @@
+}
+
+
-+static inline void copy_block8(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
-+{
-+ int i;
-+ for(i=0; i<h; i++)
-+ {
-+ ST32(dst , LD32(src ));
-+ ST32(dst+4 , LD32(src+4 ));
-+ dst+=dstStride;
-+ src+=srcStride;
-+ }
-+}
-+
-+static inline void copy_block16(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
-+{
-+ int i;
-+ for(i=0; i<h; i++)
-+ {
-+ ST32(dst , LD32(src ));
-+ ST32(dst+4 , LD32(src+4 ));
-+ ST32(dst+8 , LD32(src+8 ));
-+ ST32(dst+12, LD32(src+12));
-+ dst+=dstStride;
-+ src+=srcStride;
-+ }
-+}
-+
-+
+static void put_h264_chroma_mc2_pico(uint8_t *dst/*align 8*/, uint8_t *src/*align 1*/, int stride, int h, int x, int y){
+ const int A=(8-x)*(8-y);
+ const int B=( x)*(8-y);
@@ -938,6 +837,16 @@
+ int src5= LD32(src + 5 *srcStride);
+ int src6= LD32(src + 6 *srcStride);
+
++ union wordbytes {
++ int word;
++ struct {
++ unsigned int t:8;
++ unsigned int u:8;
++ unsigned int l:8;
++ unsigned int b:8;
++ } bytes;
++ } tmp1, tmp2, tmp3;
++
+ /* First compute the leftmost three colums */
+ PICO_MVRC_W(PICO_INPIX0, srcB);
+ PICO_MVRC_W(PICO_INPIX1, srcA);
@@ -980,16 +889,6 @@
+ ST32(dst, PICO_GET_W(PICO_OUTPIX0));
+ /* Now compute the last column */
+
-+ union wordbytes {
-+ int word;
-+ struct {
-+ unsigned int t:8;
-+ unsigned int u:8;
-+ unsigned int l:8;
-+ unsigned int b:8;
-+ } bytes; } tmp1, tmp2, tmp3;
-+
-+
+ tmp1.bytes.t = srcB;
+ tmp1.bytes.u = src1;
+ tmp1.bytes.l = src4;
@@ -5361,16 +5260,16 @@
+
--- a/libavcodec/bitstream.h
+++ b/libavcodec/bitstream.h
-@@ -171,7 +171,7 @@ typedef struct RL_VLC_ELEM {
+@@ -178,7 +178,7 @@ typedef struct RL_VLC_ELEM {
#endif
- /* used to avoid missaligned exceptions on some archs (alpha, ...) */
--#if defined(ARCH_X86) || defined(ARCH_X86_64)
-+#if defined(ARCH_X86) || defined(ARCH_X86_64) || defined(ARCH_AVR32)
+ /* used to avoid misaligned exceptions on some archs (alpha, ...) */
+-#if defined(ARCH_X86)
++#if defined(ARCH_X86) || defined(ARCH_AVR32)
# define unaligned16(a) (*(const uint16_t*)(a))
# define unaligned32(a) (*(const uint32_t*)(a))
# define unaligned64(a) (*(const uint64_t*)(a))
-@@ -813,6 +813,44 @@ void free_vlc(VLC *vlc);
+@@ -810,6 +810,44 @@ void free_vlc(VLC *vlc);
* if the vlc code is invalid and max_depth>1 than the number of bits removed
* is undefined
*/
@@ -5415,7 +5314,7 @@
#define GET_VLC(code, name, gb, table, bits, max_depth)\
{\
int n, index, nb_bits;\
-@@ -821,7 +859,7 @@ void free_vlc(VLC *vlc);
+@@ -818,7 +856,7 @@ void free_vlc(VLC *vlc);
code = table[index][0];\
n = table[index][1];\
\
@@ -5424,7 +5323,7 @@
LAST_SKIP_BITS(name, gb, bits)\
UPDATE_CACHE(name, gb)\
\
-@@ -843,7 +881,38 @@ void free_vlc(VLC *vlc);
+@@ -840,7 +878,38 @@ void free_vlc(VLC *vlc);
}\
SKIP_BITS(name, gb, n)\
}
@@ -5463,7 +5362,7 @@
#define GET_RL_VLC(level, run, name, gb, table, bits, max_depth, need_update)\
{\
int n, index, nb_bits;\
-@@ -852,7 +921,7 @@ void free_vlc(VLC *vlc);
+@@ -849,7 +918,7 @@ void free_vlc(VLC *vlc);
level = table[index].level;\
n = table[index].len;\
\
@@ -5472,7 +5371,7 @@
SKIP_BITS(name, gb, bits)\
if(need_update){\
UPDATE_CACHE(name, gb)\
-@@ -867,7 +936,7 @@ void free_vlc(VLC *vlc);
+@@ -864,7 +933,7 @@ void free_vlc(VLC *vlc);
run= table[index].run;\
SKIP_BITS(name, gb, n)\
}
@@ -5483,19 +5382,17 @@
* parses a vlc code, faster then get_vlc()
--- a/libavcodec/dsputil.c
+++ b/libavcodec/dsputil.c
-@@ -4197,6 +4197,9 @@ void dsputil_init(DSPContext* c, AVCodec
- #ifdef ARCH_BFIN
- dsputil_init_bfin(c,avctx);
- #endif
-+#ifdef ARCH_AVR32
-+ dsputil_init_avr32(c,avctx);
-+#endif
+@@ -4155,6 +4155,7 @@ void dsputil_init(DSPContext* c, AVCodec
- for(i=0; i<64; i++){
- if(!c->put_2tap_qpel_pixels_tab[0][i])
+ if (ENABLE_MMX) dsputil_init_mmx (c, avctx);
+ if (ENABLE_ARMV4L) dsputil_init_armv4l(c, avctx);
++ if (ENABLE_AVR32) dsputil_init_avr32 (c, avctx);
+ if (ENABLE_MLIB) dsputil_init_mlib (c, avctx);
+ if (ENABLE_VIS) dsputil_init_vis (c, avctx);
+ if (ENABLE_ALPHA) dsputil_init_alpha (c, avctx);
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
-@@ -3258,7 +3258,12 @@ static void free_tables(H264Context *h){
+@@ -2043,7 +2043,12 @@ static void free_tables(H264Context *h){
static void init_dequant8_coeff_table(H264Context *h){
int i,q,x;
@@ -5508,7 +5405,7 @@
h->dequant8_coeff[0] = h->dequant8_buffer[0];
h->dequant8_coeff[1] = h->dequant8_buffer[1];
-@@ -3281,7 +3286,13 @@ static void init_dequant8_coeff_table(H2
+@@ -2066,7 +2071,13 @@ static void init_dequant8_coeff_table(H2
static void init_dequant4_coeff_table(H264Context *h){
int i,j,q,x;
@@ -5522,33 +5419,33 @@
for(i=0; i<6; i++ ){
h->dequant4_coeff[i] = h->dequant4_buffer[i];
for(j=0; j<i; j++){
-@@ -4663,7 +4674,11 @@ static int decode_slice_header(H264Conte
- if (MPV_common_init(s) < 0)
- return -1;
-
+@@ -3710,7 +3721,11 @@ static int init_poc(H264Context *h){
+ static void init_scan_tables(H264Context *h){
+ MpegEncContext * const s = &h->s;
+ int i;
+#ifdef ARCH_AVR32
-+ if ( 1 ){
++ if(1){
+#else
- if(s->dsp.h264_idct_add == ff_h264_idct_add_c){ //FIXME little ugly
+ if(s->dsp.h264_idct_add == ff_h264_idct_add_c){ //FIXME little ugly
+#endif
- memcpy(h->zigzag_scan, zigzag_scan, 16*sizeof(uint8_t));
- memcpy(h-> field_scan, field_scan, 16*sizeof(uint8_t));
- }else{
+ memcpy(h->zigzag_scan, zigzag_scan, 16*sizeof(uint8_t));
+ memcpy(h-> field_scan, field_scan, 16*sizeof(uint8_t));
+ }else{
--- a/libavutil/common.h
+++ b/libavutil/common.h
-@@ -283,23 +283,39 @@ static inline int mid_pred(int a, int b,
+@@ -174,23 +174,39 @@ static inline int mid_pred(int a, int b,
* @param amax maximum value of the clip range
- * @return cliped value
+ * @return clipped value
*/
+#if defined(ARCH_AVR32)
-+#define clip(a, amin, amax) \
++#define av_clip(a, amin, amax) \
+ ({ int __tmp__; \
+ asm ("min\t%0, %1, %2\n" \
+ "max\t%0, %0, %3\n" \
+ : "=&r"(__tmp__) : "r"(a), "r"(amax), "r"(amin)); \
+ __tmp__; })
+#else
- static inline int clip(int a, int amin, int amax)
+ static inline int av_clip(int a, int amin, int amax)
{
if (a < amin) return amin;
else if (a > amax) return amax;
@@ -5559,44 +5456,26 @@
/**
* clip a signed integer value into the 0-255 range
* @param a value to clip
- * @return cliped value
+ * @return clipped value
*/
+#if defined(ARCH_AVR32)
-+#define clip_uint8(a) \
++#define av_clip_uint8(a) \
+ ({ int __tmp__ = a; \
+ asm ("satu\t%0 >> 0, 8" : "+r"(__tmp__)); \
+ __tmp__; })
+#else
- static inline uint8_t clip_uint8(int a)
+ static inline uint8_t av_clip_uint8(int a)
{
if (a&(~255)) return (-a)>>31;
else return a;
}
+#endif
- /* math */
- int64_t ff_gcd(int64_t a, int64_t b);
---- a/libavutil/internal.h
-+++ b/libavutil/internal.h
-@@ -210,6 +210,15 @@ if((y)<(x)){\
- }\
- }
-
-+/* XXX: Hack for uclibc which declares lrintf but does not implement it... */
-+#ifdef ARCH_AVR32
-+#undef HAVE_LRINTF
-+#define HAVE_LRINTF 1
-+#define lrintf(x) rint(x)
-+#define llrint(x) (long long)rint(x)
-+#endif
-+
-+
- #ifndef HAVE_LRINTF
- /* XXX: add ISOC specific test to avoid specific BSD testing. */
- /* better than nothing implementation. */
+ /**
+ * clip a signed integer value into the -32768,32767 range
--- a/libfaad2/common.h
+++ b/libfaad2/common.h
-@@ -67,7 +67,7 @@ extern "C" {
+@@ -69,7 +69,7 @@ extern "C" {
/* Use if target platform has address generators with autoincrement */
//#define PREFER_POINTERS
@@ -5761,7 +5640,7 @@
+
--- a/libswscale/swscale_internal.h
+++ b/libswscale/swscale_internal.h
-@@ -173,7 +173,7 @@ typedef struct SwsContext{
+@@ -181,7 +181,7 @@ typedef struct SwsContext{
SwsFunc yuv2rgb_get_func_ptr (SwsContext *c);
int yuv2rgb_c_init_tables (SwsContext *c, const int inv_table[4], int fullRange, int brightness, int contrast, int saturation);
@@ -5769,10 +5648,10 @@
+char *sws_format_name(enum PixelFormat format);
//FIXME replace this with something faster
- #define isPlanarYUV(x) ((x)==PIX_FMT_YUV410P || (x)==PIX_FMT_YUV420P \
+ #define isPlanarYUV(x) ( \
--- a/libswscale/yuv2rgb.c
+++ b/libswscale/yuv2rgb.c
-@@ -44,6 +44,10 @@
+@@ -47,6 +47,10 @@
#include "yuv2rgb_mlib.c"
#endif
@@ -5783,8 +5662,8 @@
#define DITHER1XBPP // only for mmx
const uint8_t __attribute__((aligned(8))) dither_2x2_4[2][8]={
-@@ -601,6 +605,12 @@ SwsFunc yuv2rgb_get_func_ptr (SwsContext
- if(t) return t;
+@@ -646,6 +650,12 @@ SwsFunc yuv2rgb_get_func_ptr (SwsContext
+ if (t) return t;
}
#endif
+#ifdef ARCH_AVR32
@@ -5796,7 +5675,7 @@
#ifdef HAVE_ALTIVEC
if (c->flags & SWS_CPU_CAPS_ALTIVEC)
{
-@@ -678,6 +688,10 @@ int yuv2rgb_c_init_tables (SwsContext *c
+@@ -736,6 +746,10 @@ int yuv2rgb_c_init_tables (SwsContext *c
//printf("%lld %lld %lld %lld %lld\n", cy, crv, cbu, cgu, cgv);
oy -= 256*brightness;
@@ -5805,11 +5684,11 @@
+#endif
+
for (i = 0; i < 1024; i++) {
- int j;
+ int j;
--- /dev/null
+++ b/libswscale/yuv2rgb_avr32.c
-@@ -0,0 +1,416 @@
+@@ -0,0 +1,411 @@
+/*
+ * Copyright (c) 2007 Atmel Corporation. All rights reserved.
+ *
@@ -5843,7 +5722,7 @@
+ * DAMAGE.
+ */
+#include "pico-avr32.h"
-+
++#include "log.h"
+
+#define RGB(uv_part) \
+ __asm__ volatile ( \
@@ -5856,7 +5735,6 @@
+ : "r" (&c->table_gV[0]), "r" (&c->table_gU[0]),"r" (&c->table_bU[0]), \
+ "r" (&c->table_rV[0]), "r" (V), "r" (U));
+
-+
+#undef YUV2RGB1
+#define YUV2RGB1(dst, src, y, idx) \
+ { int tmp2; __asm__ volatile ( \
@@ -5876,7 +5754,7 @@
+ "st.b\t%7[6*%8 + 5], %1" /* dst_1[3] = tmp; */ \
+ : "=&r" (y), "=&r" (tmp), "=&r" (tmp2) \
+ : "r" (src), "r" (r), "r" (g), "r" (b), "r" (dst), "i" (idx)); }
-+
++
+#undef YUV2RGB2
+#define YUV2RGB2(dst, src, y, idx) \
+ { int tmp2; __asm__ volatile ( \
@@ -5917,7 +5795,7 @@
+ "st.b\t%7[6*%8 + 3], %1" /* dst_1[3] = tmp; */ \
+ : "=&r" (y), "=&r" (tmp), "=&r" (tmp2) \
+ : "r" (src), "r" (r), "r" (g), "r" (b), "r" (dst), "i" (idx)); }
-+
++
+#undef YUV2BGR2
+#define YUV2BGR2(dst, src, y, idx) \
+ { int tmp2; __asm__ volatile ( \
@@ -5938,14 +5816,12 @@
+ : "=&r" (y), "=&r" (tmp), "=&r" (tmp2) \
+ : "r" (src), "r" (r), "r" (g), "r" (b), "r" (dst), "i" (idx)); }
+
-+
-+
-+int yuv2bgr24_avr32(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
++int yuv2bgr24_avr32(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
+ int srcSliceH, uint8_t* dst[], int dstStride[]){
+ int y;
-+
++
+ if(c->srcFormat == PIX_FMT_YUV422P){
-+ srcStride[1] *= 2;
++ srcStride[1] *= 2;
+ srcStride[2] *= 2;
+ }
+
@@ -5963,24 +5839,22 @@
+ uint32_t U, V, Y1, Y2, tmp;
+ U = ((uint32_t*)pu)[0];
+ V = ((uint32_t*)pv)[0];
-+
++
+ RGB("t")
-+ YUV2BGR1(dst_1, py_1, Y1, 0)
-+ YUV2BGR1(dst_2, py_2, Y2, 0)
++ YUV2BGR1(dst_1, py_1, Y1, 0)
++ YUV2BGR1(dst_2, py_2, Y2, 0)
+
+ RGB("u")
-+ YUV2BGR2(dst_1, py_1, Y1, 1)
++ YUV2BGR2(dst_1, py_1, Y1, 1)
+ YUV2BGR2(dst_2, py_2, Y2, 1)
+
+ RGB("l")
-+ YUV2BGR1(dst_1, py_1, Y1, 2)
++ YUV2BGR1(dst_1, py_1, Y1, 2)
+ YUV2BGR1(dst_2, py_2, Y2, 2)
+
+ RGB("b")
-+ YUV2BGR2(dst_1, py_1, Y1, 3)
++ YUV2BGR2(dst_1, py_1, Y1, 3)
+ YUV2BGR2(dst_2, py_2, Y2, 3)
-+
-+
+
+ pu += 4;
+ pv += 4;
@@ -5995,10 +5869,10 @@
+
+
+
-+static int yuv2rgb24_avr32(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
++static int yuv2rgb24_avr32(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
+ int srcSliceH, uint8_t* dst[], int dstStride[]){
+ int y;
-+
++
+ if(c->srcFormat == PIX_FMT_YUV422P){
+ srcStride[1] *= 2;
+ srcStride[2] *= 2;
@@ -6016,23 +5890,23 @@
+ uint32_t U, V, Y1, Y2, tmp;
+ U = ((uint32_t*)pu)[0];
+ V = ((uint32_t*)pv)[0];
-+
++
+ RGB("t")
-+ YUV2RGB1(dst_1, py_1, Y1, 0)
-+ YUV2RGB1(dst_2, py_2, Y2, 0)
++ YUV2RGB1(dst_1, py_1, Y1, 0)
++ YUV2RGB1(dst_2, py_2, Y2, 0)
+
+ RGB("u")
-+ YUV2RGB2(dst_1, py_1, Y1, 1)
++ YUV2RGB2(dst_1, py_1, Y1, 1)
+ YUV2RGB2(dst_2, py_2, Y2, 1)
+
+ RGB("l")
-+ YUV2RGB1(dst_1, py_1, Y1, 2)
++ YUV2RGB1(dst_1, py_1, Y1, 2)
+ YUV2RGB1(dst_2, py_2, Y2, 2)
+
+ RGB("b")
-+ YUV2RGB2(dst_1, py_1, Y1, 3)
++ YUV2RGB2(dst_1, py_1, Y1, 3)
+ YUV2RGB2(dst_2, py_2, Y2, 3)
-+
++
+ pu += 4;
+ pv += 4;
+ py_1 += 8;
@@ -6065,20 +5939,20 @@
+} pico_coeff;
+
+
-+static int yuv2bgr24_avr32_pico(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
++static int yuv2bgr24_avr32_pico(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
+ int srcSliceH, uint8_t* dst[], int dstStride[]){
+ int y;
+ static int first_time = 1;
+
+ /* Initialize pico */
-+ PICO_LDCM_D(&pico_coeff,
-+ PICO_REGVECT_COEFF0_A, PICO_REGVECT_COEFF0_B,
++ PICO_LDCM_D(&pico_coeff,
++ PICO_REGVECT_COEFF0_A, PICO_REGVECT_COEFF0_B,
+ PICO_REGVECT_COEFF1_A, PICO_REGVECT_COEFF1_B,
-+ PICO_REGVECT_COEFF2_A, PICO_REGVECT_COEFF2_B);
-+
-+ PICO_PUT_W(PICO_CONFIG,
-+ (PICO_PACKED_MODE << PICO_OUTPUT_MODE
-+ | PICO_TRANSFORMATION_MODE << PICO_INPUT_MODE
++ PICO_REGVECT_COEFF2_A, PICO_REGVECT_COEFF2_B);
++
++ PICO_PUT_W(PICO_CONFIG,
++ (PICO_PACKED_MODE << PICO_OUTPUT_MODE
++ | PICO_TRANSFORMATION_MODE << PICO_INPUT_MODE
+ | OFFSET_FRAC_BITS << PICO_OFFSET_FRAC_BITS
+ | COEFF_FRAC_BITS << PICO_COEFF_FRAC_BITS));
+
@@ -6117,7 +5991,7 @@
+ PICO_OP(0, 3, 3, 7, 11);
+ PICO_PUT_W(PICO_INPIX0, *py_2_int++);
+ PICO_STCM_W(dst_1 + 12, PICO_REGVECT_OUTPIX2, PICO_REGVECT_OUTPIX1, PICO_REGVECT_OUTPIX0);
-+
++
+ PICO_OP(0, 0, 0, 4, 8);
+ PICO_OP(0, 1, 1, 4, 8);
+ PICO_OP(0, 2, 2, 5, 9);
@@ -6144,23 +6018,23 @@
+ case PIX_FMT_BGR24:
+ {
+ if ( avr32_use_pico ){
-+ MSG_ERR("AVR32 BGR24: Using PICO for color space conversion\n");
++ av_log(c, AV_LOG_INFO, "AVR32 BGR24: Using PICO for color space conversion\n");
+ return yuv2bgr24_avr32_pico;
+ } else {
-+ MSG_ERR("AVR32 BGR24: Using optimized color space conversion\n");
++ av_log(c, AV_LOG_INFO, "AVR32 BGR24: Using optimized color space conversion\n");
+ return yuv2bgr24_avr32;
+ }
+ }
+ break;
+ case PIX_FMT_RGB24:
-+ {
++ {
+ if ( avr32_use_pico ){
-+ MSG_ERR("AVR32 RGB24: Using PICO for color space conversion\n");
++ av_log(c, AV_LOG_INFO, "AVR32 RGB24: Using PICO for color space conversion\n");
+ return yuv2bgr24_avr32_pico;
+ } else {
-+ MSG_ERR("AVR32 RGB24: Using optimized color space conversion\n");
++ av_log(c, AV_LOG_INFO, "AVR32 RGB24: Using optimized color space conversion\n");
+ return yuv2rgb24_avr32;
-+ }
++ }
+ }
+ }
+ return NULL;
@@ -6169,19 +6043,19 @@
+
+int yuv2rgb_c_init_tables_avr32 (SwsContext *c, const int inv_table[4], int fullRange, int brightness, int contrast, int saturation){
+ const int isRgb = (c->dstFormat == PIX_FMT_RGB24);
-+
++
+ int64_t crv = inv_table[0];
+ int64_t cbu = inv_table[1];
+ int64_t cgu = -inv_table[2];
+ int64_t cgv = -inv_table[3];
+ int64_t cy = 1<<16;
+ int64_t oy = 0;
-+
++
+ if(!fullRange){
+ cy= (cy*255) / 219;
+ oy= 16<<16;
+ }
-+
++
+ cy = (cy *contrast )>>16;
+ crv= (crv*contrast * saturation)>>32;
+ cbu= (cbu*contrast * saturation)>>32;
@@ -6189,37 +6063,37 @@
+ cgv= (cgv*contrast * saturation)>>32;
+
+ oy -= 256*brightness;
-+
++
+ pico_coeff.coeff1_0 = SCALE(cy, 16 - COEFF_FRAC_BITS); /* G <- Y */
+ pico_coeff.coeff1_1 = SCALE(cgu, 16 - COEFF_FRAC_BITS); /* G <- U */
-+ pico_coeff.coeff1_2 = SCALE(cgv, 16 - COEFF_FRAC_BITS); /* G <- V */
++ pico_coeff.coeff1_2 = SCALE(cgv, 16 - COEFF_FRAC_BITS); /* G <- V */
+ pico_coeff.coeff1_3 = (SCALE(-128*cgu - 128*cgv - 16*cy, 16 - OFFSET_FRAC_BITS)
-+ + /*0.5*/(1 << (OFFSET_FRAC_BITS-1))); /* G offset */
-+
++ + /*0.5*/(1 << (OFFSET_FRAC_BITS-1))); /* G offset */
++
+ if ( isRgb ){
+ pico_coeff.coeff0_0 = SCALE(cy, 16 - COEFF_FRAC_BITS); /* R <- Y */
+ pico_coeff.coeff0_1 = 0; /* R <- U */
-+ pico_coeff.coeff0_2 = SCALE(crv, 16 - COEFF_FRAC_BITS); /* R <- V */
++ pico_coeff.coeff0_2 = SCALE(crv, 16 - COEFF_FRAC_BITS); /* R <- V */
+ pico_coeff.coeff0_3 = (SCALE(-128*crv - 16*cy, 16 - OFFSET_FRAC_BITS)
-+ + /*0.5*/(1 << (OFFSET_FRAC_BITS-1))); /* R offset */
-+
++ + /*0.5*/(1 << (OFFSET_FRAC_BITS-1))); /* R offset */
++
+ pico_coeff.coeff2_0 = SCALE(cy, 16 - COEFF_FRAC_BITS); /* B <- Y */
+ pico_coeff.coeff2_1 = SCALE(cbu, 16 - COEFF_FRAC_BITS); /* B <- U */
-+ pico_coeff.coeff2_2 = 0; /* B <- V */
-+ pico_coeff.coeff2_3 = (SCALE(-128*cbu - 16*cy, 16 - OFFSET_FRAC_BITS)
-+ + /*0.5*/(1 << (OFFSET_FRAC_BITS-1)));/* B offset */
++ pico_coeff.coeff2_2 = 0; /* B <- V */
++ pico_coeff.coeff2_3 = (SCALE(-128*cbu - 16*cy, 16 - OFFSET_FRAC_BITS)
++ + /*0.5*/(1 << (OFFSET_FRAC_BITS-1)));/* B offset */
+ } else {
+ pico_coeff.coeff2_0 = SCALE(cy, 16 - COEFF_FRAC_BITS); /* R <- Y */
+ pico_coeff.coeff2_1 = 0; /* R <- U */
-+ pico_coeff.coeff2_2 = SCALE(crv, 16 - COEFF_FRAC_BITS); /* R <- V */
++ pico_coeff.coeff2_2 = SCALE(crv, 16 - COEFF_FRAC_BITS); /* R <- V */
+ pico_coeff.coeff2_3 = (SCALE(-128*crv - 16*cy, 16 - OFFSET_FRAC_BITS)
-+ + /*0.5*/(1 << (OFFSET_FRAC_BITS-1))); /* R offset */
-+
++ + /*0.5*/(1 << (OFFSET_FRAC_BITS-1))); /* R offset */
++
+ pico_coeff.coeff0_0 = SCALE(cy, 16 - COEFF_FRAC_BITS); /* B <- Y */
+ pico_coeff.coeff0_1 = SCALE(cbu, 16 - COEFF_FRAC_BITS); /* B <- U */
-+ pico_coeff.coeff0_2 = 0; /* B <- V */
++ pico_coeff.coeff0_2 = 0; /* B <- V */
+ pico_coeff.coeff0_3 = (SCALE(-128*cbu - 16*cy, 16 - OFFSET_FRAC_BITS)
-+ + /*0.5*/(1 << (OFFSET_FRAC_BITS-1))); /* B offset */
++ + /*0.5*/(1 << (OFFSET_FRAC_BITS-1))); /* B offset */
+ }
+
+}
@@ -6300,7 +6174,7 @@
int i, out_offset = 0, in_offset = 0;
- for (i = 0; i < in_height; i++) {
-- memcpy(center + out_offset, next_frame + in_offset,
+- fast_memcpy(center + out_offset, next_frame + in_offset,
- in_width * fb_pixel_size);
- out_offset += fb_line_len;
- in_offset += in_width * fb_pixel_size;
@@ -6311,7 +6185,7 @@
+ if (fb_vinfo.yres_virtual == fb_vinfo.yres) {
#endif
+ for (i = 0; i < in_height; i++) {
-+ memcpy(center + out_offset, next_frame + in_offset,
++ fast_memcpy(center + out_offset, next_frame + in_offset,
+ in_width * fb_pixel_size);
+ out_offset += fb_line_len;
+ in_offset += in_width * fb_pixel_size;
@@ -6336,10 +6210,10 @@
+static uint32_t get_image(mp_image_t *mpi)
+{
+ if(mpi->flags&MP_IMGFLAG_READABLE)
-+ return VO_FALSE; // slow video ram
++ return VO_FALSE; // slow video ram
+ if(mpi->type==MP_IMGTYPE_STATIC)
+ return VO_FALSE; // it is not static
-+
++
+ if (mpi->flags & (MP_IMGFLAG_ACCEPT_STRIDE | MP_IMGFLAG_ACCEPT_WIDTH)) {
+ // we're lucky or codec accepts stride => ok, let's go!
+
@@ -6380,7 +6254,9 @@
}
--- a/version.sh
+++ b/version.sh
-@@ -1,2 +1,2 @@
+@@ -1,3 +1,3 @@
#!/bin/sh
--echo "#define VERSION \"1.0rc1-$1\"" > version.h
-+echo "#define VERSION \"1.0rc1.atmel.2-$1\"" > version.h
+-echo "#define VERSION \"1.0rc2-$1\"" > version.h
+-echo "#define MP_TITLE \"MPlayer 1.0rc2-$1 (C) 2000-2007 MPlayer Team\"" >> version.h
++echo "#define VERSION \"1.0rc2.atmel.1-$1\"" > version.h
++echo "#define MP_TITLE \"MPlayer 1.0rc2.atmel.1-$1 (C) 2000-2007 MPlayer Team\"" >> version.h
diff --git a/package/multimedia/mplayer/mplayer-1.0rc1-largefile.patch b/package/multimedia/mplayer/mplayer-1.0rc2-largefile.patch
index bcba2fffa..bcba2fffa 100644
--- a/package/multimedia/mplayer/mplayer-1.0rc1-largefile.patch
+++ b/package/multimedia/mplayer/mplayer-1.0rc2-largefile.patch
diff --git a/package/multimedia/mplayer/mplayer-1.0rc1-remove-sys-timeb.patch b/package/multimedia/mplayer/mplayer-1.0rc2-remove-sys-timeb.patch
index 369aa70ea..369aa70ea 100644
--- a/package/multimedia/mplayer/mplayer-1.0rc1-remove-sys-timeb.patch
+++ b/package/multimedia/mplayer/mplayer-1.0rc2-remove-sys-timeb.patch
diff --git a/package/multimedia/mplayer/mplayer.mk b/package/multimedia/mplayer/mplayer.mk
index d9aad0494..dd0d0abec 100644
--- a/package/multimedia/mplayer/mplayer.mk
+++ b/package/multimedia/mplayer/mplayer.mk
@@ -3,7 +3,7 @@
# mplayer
#
#############################################################
-MPLAYER_VERSION:=1.0rc1
+MPLAYER_VERSION:=1.0rc2
MPLAYER_SOURCE:=MPlayer-$(MPLAYER_VERSION).tar.bz2
MPLAYER_SITE:=http://www7.mplayerhq.hu/MPlayer/releases
MPLAYER_DIR:=$(BUILD_DIR)/MPlayer-$(MPLAYER_VERSION)
@@ -60,7 +60,6 @@ $(MPLAYER_DIR)/.configured: $(MPLAYER_DIR)/.unpacked
$(MPLAYER_ENDIAN) \
$(MPLAYER_LARGEFILE) \
--enable-cross-compile \
- --disable-mpdvdkit \
--disable-ivtv \
--disable-tv \
--disable-live \
diff --git a/package/netstat-nat/Config.in b/package/netstat-nat/Config.in
new file mode 100644
index 000000000..6afcf89e3
--- /dev/null
+++ b/package/netstat-nat/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_NETSTAT_NAT
+ bool "netstat-nat"
+ help
+ Displays NAT connections
+
+ http://tweegy.nl/projects/netstat-nat/
diff --git a/package/netstat-nat/netstat-nat.mk b/package/netstat-nat/netstat-nat.mk
new file mode 100644
index 000000000..4847283f7
--- /dev/null
+++ b/package/netstat-nat/netstat-nat.mk
@@ -0,0 +1,12 @@
+#############################################################
+#
+# netstat-nat
+#
+#############################################################
+
+NETSTAT_NAT_VERSION = 1.4.9
+NETSTAT_NAT_SOURCE = netstat-nat-$(NETSTAT_NAT_VERSION).tar.gz
+NETSTAT_NAT_SITE = http://tweegy.nl/download
+NETSTAT_NAT_DEPENDENCIES = uclibc
+
+$(eval $(call AUTOTARGETS,package,netstat-nat))
diff --git a/package/pango/pango.mk b/package/pango/pango.mk
index c1aac86bd..2bcebf3b7 100644
--- a/package/pango/pango.mk
+++ b/package/pango/pango.mk
@@ -40,20 +40,20 @@ PANGO_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
ac_use_included_regex=no gl_cv_c_restrict=no \
ac_cv_path_FREETYPE_CONFIG=$(STAGING_DIR)/usr/bin/freetype-config
-ifneq ($(BR2_PACKAGE_XSERVER_none),y)
- PANGO_CONF_OPT_X = --with-x \
+PANGO_CONF_OPT = --enable-shared --enable-static \
+ --enable-explicit-deps=no --disable-debug
+
+PANGO_DEPENDENCIES = uclibc gettext libintl host-pkgconfig libglib2 cairo
+
+ifeq ($(BR2_PACKAGE_XORG7),y)
+ PANGO_CONF_OPT += --with-x \
--x-includes=$(STAGING_DIR)/usr/include/X11 \
--x-libraries=$(STAGING_DIR)/usr/lib --disable-glibtest
+ PANGO_DEPENDENCIES += xserver_xorg-server
else
- PANGO_CONF_OPT_X = --without-x
+ PANGO_CONF_OPT += --without-x
endif
-PANGO_CONF_OPT = --enable-shared --enable-static \
- $(PANGO_CONF_OPT_X) \
- --enable-explicit-deps=no --disable-debug
-
-PANGO_DEPENDENCIES = uclibc gettext libintl host-pkgconfig libglib2 $(XSERVER) cairo
-
$(eval $(call AUTOTARGETS,package,pango))
$(PANGO_HOOK_POST_INSTALL):
@@ -85,7 +85,7 @@ $(STAMP_DIR)/host_pango_configured: $(STAMP_DIR)/host_pango_unpacked $(STAMP_DIR
--prefix="$(HOST_DIR)/usr" \
--sysconfdir="$(HOST_DIR)/etc" \
--disable-static \
- $(if $(BR2_PACKAGE_XSERVER_none),--without-x,--with-x) \
+ $(if $(BR2_PACKAGE_XORG7),--with-x,--without-x) \
--disable-debug \
)
touch $@
diff --git a/package/qt/Config.gfx.in b/package/qt/Config.gfx.in
new file mode 100644
index 000000000..0e222dd03
--- /dev/null
+++ b/package/qt/Config.gfx.in
@@ -0,0 +1,19 @@
+menu "Graphics drivers"
+
+config BR2_PACKAGE_QT_GFX_LINUXFB
+ bool "Linux Framebuffer"
+ default y
+
+config BR2_PACKAGE_QT_GFX_TRANSFORMED
+ bool "Transformed"
+
+config BR2_PACKAGE_QT_GFX_QVFB
+ bool "Qt Virtual Framebuffer"
+
+config BR2_PACKAGE_QT_GFX_VNC
+ bool "VNC"
+
+config BR2_PACKAGE_QT_GFX_MULTISCREEN
+ bool "multiscreen"
+
+endmenu
diff --git a/package/qtopia4/Config.in b/package/qt/Config.in
index 052431257..b7fe0f939 100644
--- a/package/qtopia4/Config.in
+++ b/package/qt/Config.in
@@ -1,35 +1,35 @@
-config BR2_PACKAGE_QTOPIA4
- bool "qtopia4"
+comment "qt requires a toolchain with C++ support enabled"
+ depends on !BR2_INSTALL_LIBSTDCPP
+
+menuconfig BR2_PACKAGE_QT
+ bool "Qt"
depends on BR2_INSTALL_LIBSTDCPP
help
- Qtopia core 4.
+ Qt for Embedded Linux.
- http://www.trolltech.com/
-
-comment "qtopia4 requires a toolchain with C++ support enabled"
- depends on !BR2_INSTALL_LIBSTDCPP
+ http://www.qtsoftware.com/products/platform/qt-for-embedded-linux
-if BR2_PACKAGE_QTOPIA4
+if BR2_PACKAGE_QT
-config BR2_PACKAGE_QTOPIA4_DEBUG
+config BR2_PACKAGE_QT_DEBUG
bool "Compile with debug support"
help
If unsure, say N.
choice
prompt "Library type"
- default BR2_PACKAGE_QTOPIA4_SHARED
+ default BR2_PACKAGE_QT_SHARED
help
Selects the library type: Shared or Static
-config BR2_PACKAGE_QTOPIA4_SHARED
+config BR2_PACKAGE_QT_SHARED
bool "Shared library"
help
Create and use shared Qt libraries.
If you have multiple programs that depend on Qt or intend to use
plugins, say Y.
-config BR2_PACKAGE_QTOPIA4_STATIC
+config BR2_PACKAGE_QT_STATIC
bool "Static Library"
help
Create and use static Qt libraries.
@@ -39,12 +39,12 @@ config BR2_PACKAGE_QTOPIA4_STATIC
endchoice
-config BR2_PACKAGE_QTOPIA4_LICENSE_TYPE_COMMERCIAL
+config BR2_PACKAGE_QT_LICENSE_TYPE_COMMERCIAL
bool "Use commercial license"
-config BR2_PACKAGE_QTOPIA4_LICENSE_APPROVED
+config BR2_PACKAGE_QT_LICENSE_APPROVED
bool "Approve free license"
- depends on !BR2_PACKAGE_QTOPIA4_LICENSE_TYPE_COMMERCIAL
+ depends on !BR2_PACKAGE_QT_LICENSE_TYPE_COMMERCIAL
help
Select this if you approve one of the available free licenses for the
Qt4 library.
@@ -54,70 +54,71 @@ config BR2_PACKAGE_QTOPIA4_LICENSE_APPROVED
LGPL v2.1: http://doc.trolltech.com/4.5/lgpl.html
GPL v3.0: http://doc.trolltech.com/4.5/gpl.html
-config BR2_PACKAGE_QTOPIA4_COMMERCIAL_USERNAME
- string "Qtopia Core 4 Commercial License Username"
- depends on BR2_PACKAGE_QTOPIA4_LICENSE_TYPE_COMMERCIAL
+config BR2_PACKAGE_QT_COMMERCIAL_USERNAME
+ string "Qt 4 Commercial License Username"
+ depends on BR2_PACKAGE_QT_LICENSE_TYPE_COMMERCIAL
help
Commercial users can download their source directly by
providing a username.
-config BR2_PACKAGE_QTOPIA4_COMMERCIAL_PASSWORD
- string "Qtopia Core 4 Commercial License Password"
- depends on BR2_PACKAGE_QTOPIA4_LICENSE_TYPE_COMMERCIAL
+config BR2_PACKAGE_QT_COMMERCIAL_PASSWORD
+ string "Qt 4 Commercial License Password"
+ depends on BR2_PACKAGE_QT_LICENSE_TYPE_COMMERCIAL
help
Commercial users can download their source directly by
providing a password.
-config BR2_PACKAGE_QTOPIA4_QT3SUPPORT
+config BR2_PACKAGE_QT_QT3SUPPORT
bool "Compatibility with Qt3"
help
Turns on support for older Qt3. This will create an additional
library with proxy code and increase the space required on target.
If unsure say n.
-config BR2_PACKAGE_QTOPIA4_GUI_MODULE
+config BR2_PACKAGE_QT_GUI_MODULE
bool "Gui Module"
+ select BR2_PACKAGE_QT_NETWORK
default y
help
Turns on support to Gui applications. If your board don't have
video output, or you don't require Qt GUI, say n.
-if BR2_PACKAGE_QTOPIA4_GUI_MODULE
+if BR2_PACKAGE_QT_GUI_MODULE
menu "Pixel depths"
comment "Deselecting each option leads to Qt's default (8,16,32)"
-config BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_ALL
+config BR2_PACKAGE_QT_PIXEL_DEPTH_ALL
bool "All supported depths"
-if !BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_ALL
+if !BR2_PACKAGE_QT_PIXEL_DEPTH_ALL
-config BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_1
+config BR2_PACKAGE_QT_PIXEL_DEPTH_1
bool "1 bpp, black/white"
-config BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_4
+config BR2_PACKAGE_QT_PIXEL_DEPTH_4
bool "4 bpp, grayscale"
-config BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_8
+config BR2_PACKAGE_QT_PIXEL_DEPTH_8
bool "8 bpp, paletted"
default y
-config BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_12
+config BR2_PACKAGE_QT_PIXEL_DEPTH_12
bool "12 bpp, rgb 4-4-4"
-config BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_15
+config BR2_PACKAGE_QT_PIXEL_DEPTH_15
bool "15 bpp, rgb 5-5-5"
-config BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_16
+config BR2_PACKAGE_QT_PIXEL_DEPTH_16
bool "16 bpp, rgb 5-6-5"
default y
-config BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_18
+config BR2_PACKAGE_QT_PIXEL_DEPTH_18
bool "18 bpp, rgb 6-6-6"
-config BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_24
+config BR2_PACKAGE_QT_PIXEL_DEPTH_24
bool "24 bpp, rgb 8-8-8"
-config BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_32
+config BR2_PACKAGE_QT_PIXEL_DEPTH_32
bool "32 bpp, argb 8-8-8-8 and rgb 8-8-8"
default y
@@ -125,37 +126,37 @@ endif
endmenu
endif
-config BR2_PACKAGE_QTOPIA4_GIF
+config BR2_PACKAGE_QT_GIF
bool "Enable GIF support"
- depends on BR2_PACKAGE_QTOPIA4_GUI_MODULE
+ depends on BR2_PACKAGE_QT_GUI_MODULE
help
This compiles and installs the plugin for GIF reading support.
-config BR2_PACKAGE_QTOPIA4_LIBMNG
+config BR2_PACKAGE_QT_LIBMNG
bool "Enable libmng support"
- depends on BR2_PACKAGE_QTOPIA4_GUI_MODULE
+ depends on BR2_PACKAGE_QT_GUI_MODULE
help
This compiles and installs the plugin for MNG support.
choice
prompt "JPEG support"
- depends on BR2_PACKAGE_QTOPIA4_GUI_MODULE
- default BR2_PACKAGE_QTOPIA4_NOJPEG
+ depends on BR2_PACKAGE_QT_GUI_MODULE
+ default BR2_PACKAGE_QT_NOJPEG
help
Select libjpeg support.
-config BR2_PACKAGE_QTOPIA4_NOJPEG
+config BR2_PACKAGE_QT_NOJPEG
bool "No jpeg support"
help
Disable JPEG support
-config BR2_PACKAGE_QTOPIA4_SYSTEMJPEG
+config BR2_PACKAGE_QT_SYSTEMJPEG
select BR2_PACKAGE_JPEG
bool "System libjpeg"
help
Link against system libjpeg
-config BR2_PACKAGE_QTOPIA4_QTJPEG
+config BR2_PACKAGE_QT_QTJPEG
bool "Use Qt bundled libjpeg"
help
Link against libjpeg proveded with Qt
@@ -163,52 +164,52 @@ endchoice
choice
prompt "PNG support"
- depends on BR2_PACKAGE_QTOPIA4_GUI_MODULE
- default BR2_PACKAGE_QTOPIA4_NOPNG
+ depends on BR2_PACKAGE_QT_GUI_MODULE
+ default BR2_PACKAGE_QT_NOPNG
help
Select which library to use if PNG support should be enabled.
-config BR2_PACKAGE_QTOPIA4_NOPNG
+config BR2_PACKAGE_QT_NOPNG
bool "No PNG support"
-config BR2_PACKAGE_QTOPIA4_SYSTEMPNG
+config BR2_PACKAGE_QT_SYSTEMPNG
bool "System libpng"
select BR2_PACKAGE_LIBPNG
-config BR2_PACKAGE_QTOPIA4_QTPNG
+config BR2_PACKAGE_QT_QTPNG
bool "Use Qt bundled libpng"
endchoice
choice
prompt "TIFF support"
- depends on BR2_PACKAGE_QTOPIA4_GUI_MODULE
- default BR2_PACKAGE_QTOPIA4_NOTIFF
+ depends on BR2_PACKAGE_QT_GUI_MODULE
+ default BR2_PACKAGE_QT_NOTIFF
help
Select which library to use if TIFF support should be enabled.
-config BR2_PACKAGE_QTOPIA4_NOTIFF
+config BR2_PACKAGE_QT_NOTIFF
bool "No TIFF support"
-config BR2_PACKAGE_QTOPIA4_SYSTEMTIFF
+config BR2_PACKAGE_QT_SYSTEMTIFF
bool "System libtiff"
select BR2_PACKAGE_TIFF
-config BR2_PACKAGE_QTOPIA4_QTTIFF
+config BR2_PACKAGE_QT_QTTIFF
bool "Use Qt bundled libtiff"
endchoice
choice
prompt "zlib support"
- default BR2_PACKAGE_QTOPIA4_QTZLIB
+ default BR2_PACKAGE_QT_QTZLIB
help
Select zlib support.
-config BR2_PACKAGE_QTOPIA4_QTZLIB
+config BR2_PACKAGE_QT_QTZLIB
bool "Qt zlib"
help
Use the zlib bundled with Qt.
-config BR2_PACKAGE_QTOPIA4_SYSTEMZLIB
+config BR2_PACKAGE_QT_SYSTEMZLIB
bool "System zlib"
select BR2_PACKAGE_ZLIB
help
@@ -217,23 +218,23 @@ endchoice
choice
prompt "freetype2 support"
- depends on BR2_PACKAGE_QTOPIA4_GUI_MODULE
- default BR2_PACKAGE_QTOPIA4_NOFREETYPE
+ depends on BR2_PACKAGE_QT_GUI_MODULE
+ default BR2_PACKAGE_QT_NOFREETYPE
help
Select freetype2 support.
-config BR2_PACKAGE_QTOPIA4_NOFREETYPE
+config BR2_PACKAGE_QT_NOFREETYPE
bool "no freetype2 support"
help
Do not compile in Freetype2 support.
-config BR2_PACKAGE_QTOPIA4_QTFREETYPE
+config BR2_PACKAGE_QT_QTFREETYPE
bool "Qt freetype2"
help
Use the libfreetype bundled with Qt.
-config BR2_PACKAGE_QTOPIA4_SYSTEMFREETYPE
+config BR2_PACKAGE_QT_SYSTEMFREETYPE
bool "System freetype2"
select BR2_PACKAGE_FREETYPE
help
@@ -241,8 +242,8 @@ config BR2_PACKAGE_QTOPIA4_SYSTEMFREETYPE
See http://www.freetype.org/
endchoice
-config BR2_PACKAGE_QTOPIA4_EMB_PLATFORM
- string "The embedded platform we are making Qtopia4 for"
+config BR2_PACKAGE_QT_EMB_PLATFORM
+ string "The embedded platform we are making Qt for"
default "arm" if BR2_arm
default "arm" if BR2_armeb
default "avr32" if BR2_avr32
@@ -262,13 +263,13 @@ config BR2_PACKAGE_QTOPIA4_EMB_PLATFORM
help
The target platform.
-source "package/qtopia4/Config.sql.in"
-if BR2_PACKAGE_QTOPIA4_GUI_MODULE
-source "package/qtopia4/Config.gfx.in"
-source "package/qtopia4/Config.mouse.in"
+source "package/qt/Config.sql.in"
+if BR2_PACKAGE_QT_GUI_MODULE
+source "package/qt/Config.gfx.in"
+source "package/qt/Config.mouse.in"
endif
-config BR2_PACKAGE_QTOPIA4_PHONON
+config BR2_PACKAGE_QT_PHONON
bool "Phonon Module"
select BR2_PACKAGE_GSTREAMER
select BR2_PACKAGE_GST_PLUGINS_BASE
@@ -277,42 +278,48 @@ config BR2_PACKAGE_QTOPIA4_PHONON
formats can be configured at the GStreamer package.
If unsure, say n.
-config BR2_PACKAGE_QTOPIA4_XML
+config BR2_PACKAGE_QT_XML
bool "XML Module"
default y
help
Build the XML module.
-config BR2_PACKAGE_QTOPIA4_XMLPATTERNS
+config BR2_PACKAGE_QT_XMLPATTERNS
bool "XML Patterns Module"
- depends on BR2_PACKAGE_QTOPIA4_XML
+ depends on BR2_PACKAGE_QT_XML
help
Build QtXmlPatterns module.
If unsure, say n
-config BR2_PACKAGE_QTOPIA4_SVG
+config BR2_PACKAGE_QT_SVG
bool "SVG Module"
help
Build the SVG module.
If unsure, say n
-config BR2_PACKAGE_QTOPIA4_NETWORK
+config BR2_PACKAGE_QT_NETWORK
bool "Network Module"
default y
help
Install the Network module.
if unsure, say y
-config BR2_PACKAGE_QTOPIA4_WEBKIT
+config BR2_PACKAGE_QT_WEBKIT
bool "WebKit Module"
- depends on BR2_PACKAGE_QTOPIA4_NETWORK
+ depends on BR2_PACKAGE_QT_NETWORK
help
Build the WebKit module.
If unsure, say n.
-config BR2_PACKAGE_QTOPIA4_OPENSSL
+config BR2_PACKAGE_QT_STL
+ bool "STL support"
+ help
+ Compile STL support.
+ If unsure, say n.
+
+config BR2_PACKAGE_QT_OPENSSL
bool "Enable OpenSSL support"
- depends on BR2_PACKAGE_QTOPIA4_NETWORK
+ depends on BR2_PACKAGE_QT_NETWORK
select BR2_PACKAGE_OPENSSL
help
Enable support for the OpenSSL encryption library. If you use
@@ -320,18 +327,18 @@ config BR2_PACKAGE_QTOPIA4_OPENSSL
target.
If unsure, say n.
-config BR2_PACKAGE_QTOPIA4_SCRIPT
+config BR2_PACKAGE_QT_SCRIPT
bool "Script Module"
default y
help
Build the Qt Script module.
if unsure, say y.
-config BR2_PACKAGE_QTOPIA4_SCRIPTTOOLS
+config BR2_PACKAGE_QT_SCRIPTTOOLS
bool "Script Tools Module"
- depends on BR2_PACKAGE_QTOPIA4_SCRIPT
+ depends on BR2_PACKAGE_QT_SCRIPT
help
Build the Qt Script Tools module.
if unsure, say n.
-endif # BR2_PACKAGE_QTOPIA4
+endif # BR2_PACKAGE_QT
diff --git a/package/qt/Config.mouse.in b/package/qt/Config.mouse.in
new file mode 100644
index 000000000..708597428
--- /dev/null
+++ b/package/qt/Config.mouse.in
@@ -0,0 +1,24 @@
+menu "Mouse drivers"
+
+config BR2_PACKAGE_QT_MOUSE_PC
+ bool "pc"
+
+config BR2_PACKAGE_QT_MOUSE_BUS
+ bool "bus"
+
+config BR2_PACKAGE_QT_MOUSE_LINUXTP
+ bool "linuxtp"
+
+config BR2_PACKAGE_QT_MOUSE_YOPY
+ bool "yopy"
+
+config BR2_PACKAGE_QT_MOUSE_VR41XX
+ bool "vr41xx"
+
+config BR2_PACKAGE_QT_MOUSE_TSLIB
+ bool "tslib"
+
+config BR2_PACKAGE_QT_MOUSE_QVFB
+ bool "qvfb"
+
+endmenu
diff --git a/package/qtopia4/Config.sql.in b/package/qt/Config.sql.in
index 4c5f405e2..2ce8d7964 100644
--- a/package/qtopia4/Config.sql.in
+++ b/package/qt/Config.sql.in
@@ -1,40 +1,40 @@
-menuconfig BR2_PACKAGE_QTOPIA4_SQL_MODULE
+menuconfig BR2_PACKAGE_QT_SQL_MODULE
bool "SQL Module"
help
- Compile Qtopia SQL Module
+ Compile Qt SQL Module
-if BR2_PACKAGE_QTOPIA4_SQL_MODULE
-config BR2_PACKAGE_QTOPIA4_MYSQL
+if BR2_PACKAGE_QT_SQL_MODULE
+config BR2_PACKAGE_QT_MYSQL
bool "MySQL Driver"
help
Build MySQL driver
If unsure, say n.
-config BR2_PACKAGE_QTOPIA4_IBASE
+config BR2_PACKAGE_QT_IBASE
bool "iBase Driver"
help
Build iBase driver
If unsure, say n.
-config BR2_PACKAGE_QTOPIA4_ODBC
+config BR2_PACKAGE_QT_ODBC
bool "ODBC Driver"
help
Build ODBC driver
If unsure, say n.
-config BR2_PACKAGE_QTOPIA4_PSQL
+config BR2_PACKAGE_QT_PSQL
bool "PostgreSQL Driver"
help
Build PostgreSQL driver
If unsure, say n.
-config BR2_PACKAGE_QTOPIA4_SQLITE
+config BR2_PACKAGE_QT_SQLITE
bool "SQLite 3 Driver"
help
Build SQLite driver
If unsure, say n.
-config BR2_PACKAGE_QTOPIA4_SQLITE2
+config BR2_PACKAGE_QT_SQLITE2
bool "SQLite 2 Driver"
help
Build SQLite 2 driver
diff --git a/package/qtopia4/qtopia-4.5.2-fix-qt-zlib-build.patch b/package/qt/qt-4.5.2-fix-qt-zlib-build.patch
index b191cc751..b191cc751 100644
--- a/package/qtopia4/qtopia-4.5.2-fix-qt-zlib-build.patch
+++ b/package/qt/qt-4.5.2-fix-qt-zlib-build.patch
diff --git a/package/qt/qt.mk b/package/qt/qt.mk
new file mode 100644
index 000000000..ea59b0764
--- /dev/null
+++ b/package/qt/qt.mk
@@ -0,0 +1,583 @@
+######################################################################
+#
+# Qt Embedded for Linux 4.5
+# http://www.qtsoftware.com/
+#
+# This makefile was originally composed by Thomas Lundquist <thomasez@zelow.no>
+# Later heavily modified by buildroot developers
+#
+# BTW, this uses alot of FPU calls and it's pretty slow if you use
+# the kernels FPU emulation so it's better to choose soft float in the
+# buildroot config (and uClibc.config of course, if you have your own.)
+#
+######################################################################
+
+# BUG: In "OpenSuSE 10.2", dbus.h is at dbus-1.0/dbus/dbus.h
+# instead of at "dbus/dbus.h"
+# (cd /usr/include; sudo ln -s dbus-1.0/dbus dbus)
+# to fix
+
+# BUG: There is a workaround below (search for x86x86fix) for
+# x86 crosscompiling under linux x86. Please remove it when the workaround
+# is no longer necessary.
+
+QT_VERSION:=4.5.2
+QT_CAT:=$(BZCAT)
+
+BR2_PACKAGE_QT_COMMERCIAL_USERNAME:=$(strip $(subst ",, $(BR2_PACKAGE_QT_COMMERCIAL_USERNAME)))
+#"))
+BR2_PACKAGE_QT_COMMERCIAL_PASSWORD:=$(strip $(subst ",, $(BR2_PACKAGE_QT_COMMERCIAL_PASSWORD)))
+#"))
+
+QT_CONFIGURE:=#empty
+
+# What to download, free or commercial version.
+ifneq ($(BR2_PACKAGE_QT_COMMERCIAL_USERNAME),)
+QT_SITE:=http://$(BR2_PACKAGE_QT_COMMERCIAL_USERNAME):$(BR2_QT_COMMERCIAL_PASSWORD)@dist.trolltech.com/$(BR2_PACKAGE_QT_COMMERCIAL_USERNAME)
+QT_SOURCE:=qt-embedded-linux-commercial-src-$(QT_VERSION).tar.bz2
+QT_TARGET_DIR:=$(BUILD_DIR)/qt-embedded-linux-commercial-src-$(QT_VERSION)
+QT_CONFIGURE+= -commercial
+else # Good, good, we are free:
+QT_SITE=http://get.qtsoftware.com/qt/source
+QT_SOURCE:=qt-embedded-linux-opensource-src-$(QT_VERSION).tar.bz2
+QT_TARGET_DIR:=$(BUILD_DIR)/qt-embedded-linux-opensource-src-$(QT_VERSION)
+QT_CONFIGURE+= -opensource
+ifeq ($(BR2_PACKAGE_QT_LICENSE_APPROVED),y)
+QT_CONFIGURE+= -confirm-license
+endif
+endif
+
+# If you want extra tweaking you can copy
+# $(QT_TARGET_DIR)/src/corelib/global/qconfig-myfile.h
+# to the qt packages directory (where this .mk file is) and
+# remove the comment.
+# QT_QCONFIG_COMMAND:=-qconfig myfile
+#
+# For the options you can set in this file, look at
+# $(QT_TARGET_DIR)/src/corelib/global/qfeatures.txt
+#
+QT_QCONFIG_FILE:=package/qt/qconfig-myfile.h
+QT_QCONFIG_FILE_LOCATION:=/src/corelib/global/
+
+ifeq ($(BR2_LARGEFILE),y)
+QT_CONFIGURE+= -largefile
+else
+QT_CONFIGURE+= -no-largefile
+endif
+
+ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y)
+QT_CONFIGURE+= -qt3support
+else
+QT_CONFIGURE+= -no-qt3support
+endif
+
+
+### Pixel depths
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_ALL),y)
+QT_PIXEL_DEPTHS = all
+else
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_1),y)
+QT_PIXEL_DEPTHS += 1
+endif
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_4),y)
+QT_PIXEL_DEPTHS += 4
+endif
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_8),y)
+QT_PIXEL_DEPTHS += 8
+endif
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_12),y)
+QT_PIXEL_DEPTHS += 12
+endif
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_15),y)
+QT_PIXEL_DEPTHS += 15
+endif
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_16),y)
+QT_PIXEL_DEPTHS += 16
+endif
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_18),y)
+QT_PIXEL_DEPTHS += 18
+endif
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_24),y)
+QT_PIXEL_DEPTHS += 24
+endif
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_32),y)
+QT_PIXEL_DEPTHS += 32
+endif
+endif
+ifneq ($(QT_PIXEL_DEPTHS),)
+QT_CONFIGURE += -depths $(subst $(space),$(comma),$(strip $(QT_PIXEL_DEPTHS)))
+endif
+
+### Display drivers
+ifeq ($(BR2_PACKAGE_QT_GFX_LINUXFB),y)
+QT_CONFIGURE += -qt-gfx-linuxfb
+else
+QT_CONFIGURE += -no-gfx-linuxfb
+endif
+ifeq ($(BR2_PACKAGE_QT_GFX_TRANSFORMED),y)
+QT_CONFIGURE += -qt-gfx-transformed
+else
+QT_CONFIGURE += -no-gfx-transformed
+endif
+ifeq ($(BR2_PACKAGE_QT_GFX_QVFB),y)
+QT_CONFIGURE += -qt-gfx-qvfb
+else
+QT_CONFIGURE += -no-gfx-qvfb
+endif
+ifeq ($(BR2_PACKAGE_QT_GFX_VNC),y)
+QT_CONFIGURE += -qt-gfx-vnc
+else
+QT_CONFIGURE += -no-gfx-vnc
+endif
+ifeq ($(BR2_PACKAGE_QT_GFX_MULTISCREEN),y)
+QT_CONFIGURE += -qt-gfx-multiscreen
+else
+QT_CONFIGURE += -no-gfx-multiscreen
+endif
+
+### Mouse drivers
+ifeq ($(BR2_PACKAGE_QT_MOUSE_PC),y)
+QT_CONFIGURE += -qt-mouse-pc
+else
+QT_CONFIGURE += -no-mouse-pc
+endif
+ifeq ($(BR2_PACKAGE_QT_MOUSE_BUS),y)
+QT_CONFIGURE += -qt-mouse-bus
+else
+QT_CONFIGURE += -no-mouse-bus
+endif
+ifeq ($(BR2_PACKAGE_QT_MOUSE_LINUXTP),y)
+QT_CONFIGURE += -qt-mouse-linuxtp
+else
+QT_CONFIGURE += -no-mouse-linuxtp
+endif
+ifeq ($(BR2_PACKAGE_QT_MOUSE_YOPY),y)
+QT_CONFIGURE += -qt-mouse-yopy
+else
+QT_CONFIGURE += -no-mouse-yopy
+endif
+ifeq ($(BR2_PACKAGE_QT_MOUSE_VR41XX),y)
+QT_CONFIGURE += -qt-mouse-vr41xx
+else
+QT_CONFIGURE += -no-mouse-vr41xx
+endif
+ifeq ($(BR2_PACKAGE_QT_MOUSE_TSLIB),y)
+QT_CONFIGURE += -qt-mouse-tslib
+QT_DEP_LIBS+=tslib
+QT_TSLIB_DEB="-D TSLIBMOUSEHANDLER_DEBUG"
+QT_TSLIB_DEB:=$(strip $(subst ",, $(QT_TSLIB_DEB)))
+#"))
+else
+QT_CONFIGURE += -no-mouse-tslib
+endif
+ifeq ($(BR2_PACKAGE_QT_MOUSE_QVFB),y)
+QT_CONFIGURE += -qt-mouse-qvfb
+else
+QT_CONFIGURE += -no-mouse-qvfb
+endif
+
+ifeq ($(BR2_PACKAGE_QT_DEBUG),y)
+QT_CONFIGURE+= "-debug $(QT_TSLIB_DEB)"
+else
+QT_CONFIGURE+= -release
+endif
+
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+QT_CONFIGURE+= -shared
+else
+QT_CONFIGURE+= -static
+endif
+
+ifeq ($(BR2_ENDIAN),"LITTLE")
+QT_CONFIGURE+= -little-endian
+else
+QT_CONFIGURE+= -big-endian
+endif
+
+ifeq ($(BR2_PACKAGE_QT_GIF),y)
+QT_CONFIGURE+= -qt-gif
+else
+QT_CONFIGURE+= -no-gif
+endif
+
+ifeq ($(BR2_PACKAGE_QT_LIBMNG),y)
+QT_CONFIGURE+= -qt-libmng
+else
+QT_CONFIGURE+= -no-libmng
+endif
+
+ifeq ($(BR2_PACKAGE_QT_QTZLIB),y)
+QT_CONFIGURE+= -qt-zlib
+else
+ifeq ($(BR2_PACKAGE_QT_SYSTEMZLIB),y)
+QT_CONFIGURE+= -system-zlib
+QT_DEP_LIBS+=zlib
+endif
+endif
+
+ifeq ($(BR2_PACKAGE_QT_QTJPEG),y)
+QT_CONFIGURE+= -qt-libjpeg
+else
+ifeq ($(BR2_PACKAGE_QT_SYSTEMJPEG),y)
+QT_CONFIGURE+= -system-libjpeg
+QT_DEP_LIBS+=jpeg
+else
+QT_CONFIGURE+= -no-libjpeg
+endif
+endif
+
+ifeq ($(BR2_PACKAGE_QT_QTPNG),y)
+QT_CONFIGURE+= -qt-libpng
+else
+ifeq ($(BR2_PACKAGE_QT_SYSTEMPNG),y)
+QT_CONFIGURE+= -system-libpng
+QT_DEP_LIBS+=libpng
+else
+QT_CONFIGURE+= -no-libpng
+endif
+endif
+
+ifeq ($(BR2_PACKAGE_QT_QTTIFF),y)
+QT_CONFIGURE+= -qt-libtiff
+else
+ifeq ($(BR2_PACKAGE_QT_SYSTEMTIFF),y)
+QT_CONFIGURE+= -system-libtiff
+QT_DEP_LIBS+=tiff
+else
+QT_CONFIGURE+= -no-libtiff
+endif
+endif
+
+
+ifeq ($(BR2_PACKAGE_QT_QTFREETYPE),y)
+QT_CONFIGURE+= -qt-freetype
+else
+ifeq ($(BR2_PACKAGE_QT_SYSTEMFREETYPE),y)
+QT_CONFIGURE+= -system-freetype
+QT_CONFIGURE+= -I $(STAGING_DIR)/usr/include/freetype2/
+QT_DEP_LIBS+=freetype
+else
+QT_CONFIGURE+= -no-freetype
+endif
+endif
+
+
+ifeq ($(BR2_PACKAGE_QT_OPENSSL),y)
+QT_CONFIGURE+= -openssl
+QT_DEP_LIBS+=openssl
+else
+QT_CONFIGURE+= -no-openssl
+endif
+
+# Qt SQL Drivers
+ifeq ($(BR2_PACKAGE_QT_SQL_MODULE),y)
+ifeq ($(BR2_PACKAGE_QT_IBASE),y)
+QT_CONFIGURE+= -qt-sql-ibase
+endif
+ifeq ($(BR2_PACKAGE_QT_MYSQL),y)
+QT_CONFIGURE+= -qt-sql-mysql
+endif
+ifeq ($(BR2_PACKAGE_QT_ODBC),y)
+QT_CONFIGURE+= -qt-sql-odbc
+endif
+ifeq ($(BR2_PACKAGE_QT_PSQL),y)
+QT_CONFIGURE+= -qt-sql-psql
+endif
+ifeq ($(BR2_PACKAGE_QT_SQLITE),y)
+QT_CONFIGURE+= -qt-sql-sqlite
+else
+QT_CONFIGURE+= -no-sql-sqlite
+endif
+ifeq ($(BR2_PACKAGE_QT_SQLITE2),y)
+QT_CONFIGURE+= -qt-sql-sqlite2
+endif
+else
+# By default, no SQL driver is turned on by configure.
+# but it seams sqlite isn't disabled despite what says
+# configure --help
+QT_CONFIGURE+= -no-sql-sqlite
+endif
+
+ifeq ($(BR2_PACKAGE_QT_XMLPATTERNS),y)
+QT_CONFIGURE+= -xmlpatterns -exceptions
+else
+QT_CONFIGURE+= -no-xmlpatterns
+endif
+
+ifeq ($(BR2_PACKAGE_QT_PHONON),y)
+QT_CONFIGURE+= -phonon
+QT_DEP_LIBS+=gstreamer gst-plugins-base
+else
+QT_CONFIGURE+= -no-phonon
+endif
+
+ifeq ($(BR2_PACKAGE_QT_SVG),y)
+QT_CONFIGURE+= -svg
+else
+QT_CONFIGURE+= -no-svg
+endif
+
+ifeq ($(BR2_PACKAGE_QT_WEBKIT),y)
+QT_CONFIGURE+= -webkit
+else
+QT_CONFIGURE+= -no-webkit
+endif
+
+ifeq ($(BR2_PACKAGE_QT_STL),y)
+QT_CONFIGURE+= -stl
+else
+QT_CONFIGURE+= -no-stl
+endif
+
+QT_CONFIGURE:=$(strip $(subst ",, $(QT_CONFIGURE)))
+#"))
+BR2_PACKAGE_QT_EMB_PLATFORM:=$(strip $(subst ",, $(BR2_PACKAGE_QT_EMB_PLATFORM)))
+#"))
+
+# x86x86fix
+# Workaround Qt Embedded bug when crosscompiling for x86 under x86 with linux
+# host. It's unclear if this would happen on other hosts.
+ifneq ($(findstring pc-linux,$(BR2_GNU_BUILD_SUFFIX)),)
+ifeq ($(BR2_PACKAGE_QT_EMB_PLATFORM),x86)
+QT_CONFIGURE+= -platform linux-g++
+QT_CONFIGURE:=$(strip $(subst ",, $(QT_CONFIGURE)))
+#"))
+endif
+endif
+# End of workaround.
+
+# Figure out what libs to install in the target
+QT_LIBS=#empty
+ifeq ($(BR2_PACKAGE_QT_GUI_MODULE),y)
+QT_LIBS+= qt-gui
+endif
+ifeq ($(BR2_PACKAGE_QT_SQL_MODULE),y)
+QT_LIBS+= qt-sql
+endif
+ifeq ($(BR2_PACKAGE_QT_PHONON),y)
+QT_LIBS+= qt-phonon
+endif
+ifeq ($(BR2_PACKAGE_QT_SVG),y)
+QT_LIBS+= qt-svg
+endif
+ifeq ($(BR2_PACKAGE_QT_NETWORK),y)
+QT_LIBS+= qt-network
+endif
+ifeq ($(BR2_PACKAGE_QT_WEBKIT),y)
+QT_LIBS+= qt-webkit
+endif
+ifeq ($(BR2_PACKAGE_QT_XML),y)
+QT_LIBS+= qt-xml
+endif
+ifeq ($(BR2_PACKAGE_QT_XMLPATTERNS),y)
+QT_LIBS+= qt-xmlpatterns
+endif
+ifeq ($(BR2_PACKAGE_QT_SCRIPT),y)
+QT_LIBS+= qt-script
+endif
+ifeq ($(BR2_PACKAGE_QT_SCRIPTTOOLS),y)
+QT_LIBS+= qt-scripttools
+endif
+
+QT_QMAKE_CONF:=$(QT_TARGET_DIR)/mkspecs/qws/linux-$(BR2_PACKAGE_QT_EMB_PLATFORM)-g++/qmake.conf
+
+QT_QMAKE_AR:=$(TARGET_AR) cqs
+
+# Variable for other Qt applications to use
+QT_QMAKE:=$(STAGING_DIR)/usr/bin/qmake -spec qws/linux-$(BR2_PACKAGE_QT_EMB_PLATFORM)-g++
+
+################################################################################
+# QT_QMAKE_SET -- helper macro to set QMAKE_<variable> = <value> in
+# QT_QMAKE_CONF. Will remove existing variable declaration if available.
+#
+# Argument 1 is the variable name (without QMAKE_)
+# Argument 2 is the value to set variable to
+#
+# E.G. use like this:
+# $(call QT_QMAKE_SET,variable,value)
+################################################################################
+define QT_QMAKE_SET
+ $(SED) '/QMAKE_$(1)/d' $(QT_QMAKE_CONF)
+ $(SED) '/include.*qws.conf/aQMAKE_$(1) = $(2)' $(QT_QMAKE_CONF)
+endef
+
+################################################################################
+# QT_INSTALL_PLUGINS -- helper macro to install Qt plugins to target and
+# strip them
+#
+# Argument 1 is the plugin folder
+#
+# E.G. use like this to install plugins/sqldrivers:
+# $(call QT_INSTALL_PLUGINS,sqldrivers)
+# ################################################################################
+define QT_INSTALL_PLUGINS
+ if [ -d $(STAGING_DIR)/usr/plugins/$(1) ]; then \
+ mkdir -p $(TARGET_DIR)/usr/plugins; \
+ cp -dpfr $(STAGING_DIR)/usr/plugins/$(1) $(TARGET_DIR)/usr/plugins/; \
+ $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/plugins/$(1)/*; \
+ fi
+endef
+
+$(DL_DIR)/$(QT_SOURCE):
+ $(call DOWNLOAD,$(QT_SITE),$(QT_SOURCE))
+
+qt-source: $(DL_DIR)/$(QT_SOURCE)
+
+
+$(QT_TARGET_DIR)/.unpacked: $(DL_DIR)/$(QT_SOURCE)
+ $(QT_CAT) $(DL_DIR)/$(QT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(QT_TARGET_DIR) package/qt/ \
+ qt-$(QT_VERSION)-\*.patch \
+ qt-$(QT_VERSION)-\*.patch.$(ARCH)
+ touch $@
+
+$(QT_TARGET_DIR)/.configured: $(QT_TARGET_DIR)/.unpacked
+ifneq ($(BR2_INET_IPV6),y)
+ $(SED) 's/^CFG_IPV6=auto/CFG_IPV6=no/' $(QT_TARGET_DIR)/configure
+ $(SED) 's/^CFG_IPV6IFNAME=auto/CFG_IPV6IFNAME=no/' $(QT_TARGET_DIR)/configure
+endif
+ $(SED) 's/^CFG_XINERAMA=auto/CFG_XINERAMA=no/' $(QT_TARGET_DIR)/configure
+ # Fix compiler path
+ $(call QT_QMAKE_SET,CC,$(TARGET_CC))
+ $(call QT_QMAKE_SET,CXX,$(TARGET_CXX))
+ $(call QT_QMAKE_SET,LINK,$(TARGET_CXX))
+ $(call QT_QMAKE_SET,LINK_SHLIB,$(TARGET_CXX))
+ $(call QT_QMAKE_SET,AR,$(QT_QMAKE_AR))
+ $(call QT_QMAKE_SET,OBJCOPY,$(TARGET_OBJCOPY))
+ $(call QT_QMAKE_SET,RANLIB,$(TARGET_RANLIB))
+ $(call QT_QMAKE_SET,STRIP,$(TARGET_STRIP))
+ $(call QT_QMAKE_SET,CFLAGS,$(TARGET_CFLAGS))
+ $(call QT_QMAKE_SET,CXXFLAGS,$(TARGET_CXXFLAGS))
+ $(call QT_QMAKE_SET,LFLAGS,$(TARGET_LDFLAGS))
+ -[ -f $(QT_QCONFIG_FILE) ] && cp $(QT_QCONFIG_FILE) \
+ $(QT_TARGET_DIR)/$(QT_QCONFIG_FILE_LOCATION)
+# Qt doesn't use PKG_CONFIG, it searches for pkg-config with 'which'.
+# PKG_CONFIG_SYSROOT is only used to avoid a warning from Qt's configure system
+# when cross compiling, Qt 4.4.3 is wrong here.
+# Don't use TARGET_CONFIGURE_OPTS here, qmake would be compiled for the target
+# instead of the host then.
+ (cd $(QT_TARGET_DIR); rm -rf config.cache; \
+ PATH=$(TARGET_PATH) \
+ PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \
+ PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig:$(PKG_CONFIG_PATH)" \
+ PKG_CONFIG_SYSROOT="$(STAGING_DIR)" \
+ ./configure \
+ $(if $(VERBOSE),-verbose,-silent) \
+ -force-pkg-config \
+ -embedded $(BR2_PACKAGE_QT_EMB_PLATFORM) \
+ $(QT_QCONFIG_COMMAND) \
+ $(QT_CONFIGURE) \
+ -no-cups \
+ -no-nis \
+ -no-accessibility \
+ -no-separate-debug-info \
+ -prefix /usr \
+ -hostprefix $(STAGING_DIR)/usr \
+ -fast \
+ -no-rpath \
+ -nomake examples \
+ -nomake demos \
+ )
+ touch $@
+
+$(QT_TARGET_DIR)/.compiled: $(QT_TARGET_DIR)/.configured
+ $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(QT_TARGET_DIR)
+ touch $@
+
+$(STAGING_DIR)/usr/lib/libQtCore.la: $(QT_TARGET_DIR)/.compiled
+ $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(QT_TARGET_DIR) install
+
+qt-gui: $(STAGING_DIR)/usr/lib/libQtCore.la
+ mkdir -p $(TARGET_DIR)/usr/lib/fonts
+ touch $(TARGET_DIR)/usr/lib/fonts/fontdir
+ cp -dpf $(STAGING_DIR)/usr/lib/fonts/helvetica*.qpf $(TARGET_DIR)/usr/lib/fonts
+ cp -dpf $(STAGING_DIR)/usr/lib/fonts/fixed*.qpf $(TARGET_DIR)/usr/lib/fonts
+ cp -dpf $(STAGING_DIR)/usr/lib/fonts/micro*.qpf $(TARGET_DIR)/usr/lib/fonts
+ # Install image plugins if they are built
+ $(call QT_INSTALL_PLUGINS,imageformats)
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtGui.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-sql: $(STAGING_DIR)/usr/lib/libQtCore.la
+ $(call QT_INSTALL_PLUGINS,sqldrivers)
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtSql.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-phonon: $(STAGING_DIR)/usr/lib/libQtCore.la
+ $(call QT_INSTALL_PLUGINS,phonon_backend)
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libphonon.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-svg: $(STAGING_DIR)/usr/lib/libQtCore.la
+ $(call QT_INSTALL_PLUGINS,iconengines)
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtSvg.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-network: $(STAGING_DIR)/usr/lib/libQtCore.la
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtNetwork.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-webkit: $(STAGING_DIR)/usr/lib/libQtCore.la
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtWebKit.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-xml: $(STAGING_DIR)/usr/lib/libQtCore.la
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtXml.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-xmlpatterns: $(STAGING_DIR)/usr/lib/libQtCore.la
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtXmlPatterns.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-script: $(STAGING_DIR)/usr/lib/libQtCore.la
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtScript.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-scripttools: $(STAGING_DIR)/usr/lib/libQtCore.la
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtScriptTools.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+
+$(TARGET_DIR)/usr/lib/libQtCore.so.4: $(STAGING_DIR)/usr/lib/libQtCore.la $(QT_LIBS)
+ # Strip all installed libs
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtCore.so.* $(TARGET_DIR)/usr/lib/
+ -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libQt*.so.*
+endif
+
+qt: uclibc $(QT_DEP_LIBS) $(TARGET_DIR)/usr/lib/libQtCore.so.4
+
+qt-clean:
+ -$(MAKE) -C $(QT_TARGET_DIR) clean
+ -rm -rf $(TARGET_DIR)/usr/lib/fonts
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ -rm $(TARGET_DIR)/usr/lib/libQt*.so.*
+ -rm $(TARGET_DIR)/usr/lib/libphonon.so.*
+endif
+
+qt-dirclean:
+ rm -rf $(QT_TARGET_DIR)
+
+qt-status:
+ @echo "QT_QMAKE: " $(QT_QMAKE)
+ @echo "QT_DEP_LIBS: " $(QT_DEP_LIBS)
+ @echo "FREETYPE_DIR: " $(FREETYPE_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(BR2_PACKAGE_QT),y)
+TARGETS+=qt
+endif
diff --git a/package/qtopia4/Config.gfx.in b/package/qtopia4/Config.gfx.in
deleted file mode 100644
index 814788619..000000000
--- a/package/qtopia4/Config.gfx.in
+++ /dev/null
@@ -1,19 +0,0 @@
-menu "Graphics drivers"
-
-config BR2_PACKAGE_QTOPIA4_GFX_LINUXFB
- bool "Linux Framebuffer"
- default y
-
-config BR2_PACKAGE_QTOPIA4_GFX_TRANSFORMED
- bool "Transformed"
-
-config BR2_PACKAGE_QTOPIA4_GFX_QVFB
- bool "Qt Virtual Framebuffer"
-
-config BR2_PACKAGE_QTOPIA4_GFX_VNC
- bool "VNC"
-
-config BR2_PACKAGE_QTOPIA4_GFX_MULTISCREEN
- bool "multiscreen"
-
-endmenu
diff --git a/package/qtopia4/Config.mouse.in b/package/qtopia4/Config.mouse.in
deleted file mode 100644
index 7b3946009..000000000
--- a/package/qtopia4/Config.mouse.in
+++ /dev/null
@@ -1,24 +0,0 @@
-menu "Mouse drivers"
-
-config BR2_PACKAGE_QTOPIA4_MOUSE_PC
- bool "pc"
-
-config BR2_PACKAGE_QTOPIA4_MOUSE_BUS
- bool "bus"
-
-config BR2_PACKAGE_QTOPIA4_MOUSE_LINUXTP
- bool "linuxtp"
-
-config BR2_PACKAGE_QTOPIA4_MOUSE_YOPY
- bool "yopy"
-
-config BR2_PACKAGE_QTOPIA4_MOUSE_VR41XX
- bool "vr41xx"
-
-config BR2_PACKAGE_QTOPIA4_MOUSE_TSLIB
- bool "tslib"
-
-config BR2_PACKAGE_QTOPIA4_MOUSE_QVFB
- bool "qvfb"
-
-endmenu
diff --git a/package/qtopia4/qtopia4.mk b/package/qtopia4/qtopia4.mk
deleted file mode 100644
index f7196f476..000000000
--- a/package/qtopia4/qtopia4.mk
+++ /dev/null
@@ -1,577 +0,0 @@
-######################################################################
-#
-# qtopia4 (Qt Embedded for Linux 4.5)
-# http://www.qtsoftware.com/
-#
-# This makefile was originally composed by Thomas Lundquist <thomasez@zelow.no>
-# Later heavily modified by buildroot developers
-#
-# BTW, this uses alot of FPU calls and it's pretty slow if you use
-# the kernels FPU emulation so it's better to choose soft float in the
-# buildroot config (and uClibc.config of course, if you have your own.)
-#
-######################################################################
-
-# BUG: In "OpenSuSE 10.2", dbus.h is at dbus-1.0/dbus/dbus.h
-# instead of at "dbus/dbus.h"
-# (cd /usr/include; sudo ln -s dbus-1.0/dbus dbus)
-# to fix
-
-# BUG: There is a workaround below (search for x86x86fix) for
-# x86 crosscompiling under linux x86. Please remove it when the workaround
-# is no longer necessary.
-
-QTOPIA4_VERSION:=4.5.2
-QTOPIA4_CAT:=$(BZCAT)
-
-BR2_PACKAGE_QTOPIA4_COMMERCIAL_USERNAME:=$(strip $(subst ",, $(BR2_PACKAGE_QTOPIA4_COMMERCIAL_USERNAME)))
-#"))
-BR2_PACKAGE_QTOPIA4_COMMERCIAL_PASSWORD:=$(strip $(subst ",, $(BR2_PACKAGE_QTOPIA4_COMMERCIAL_PASSWORD)))
-#"))
-
-QTOPIA4_CONFIGURE:=#empty
-
-# What to download, free or commercial version.
-ifneq ($(BR2_PACKAGE_QTOPIA4_COMMERCIAL_USERNAME),)
-QTOPIA4_SITE:=http://$(BR2_PACKAGE_QTOPIA4_COMMERCIAL_USERNAME):$(BR2_QTOPIA4_COMMERCIAL_PASSWORD)@dist.trolltech.com/$(BR2_PACKAGE_QTOPIA4_COMMERCIAL_USERNAME)
-QTOPIA4_SOURCE:=qt-embedded-linux-commercial-src-$(QTOPIA4_VERSION).tar.bz2
-QTOPIA4_TARGET_DIR:=$(BUILD_DIR)/qt-embedded-linux-commercial-src-$(QTOPIA4_VERSION)
-QTOPIA4_CONFIGURE+= -commercial
-else # Good, good, we are free:
-QTOPIA4_SITE=http://get.qtsoftware.com/qt/source
-QTOPIA4_SOURCE:=qt-embedded-linux-opensource-src-$(QTOPIA4_VERSION).tar.bz2
-QTOPIA4_TARGET_DIR:=$(BUILD_DIR)/qt-embedded-linux-opensource-src-$(QTOPIA4_VERSION)
-QTOPIA4_CONFIGURE+= -opensource
-ifeq ($(BR2_PACKAGE_QTOPIA4_LICENSE_APPROVED),y)
-QTOPIA4_CONFIGURE+= -confirm-license
-endif
-endif
-
-# If you want extra tweaking you can copy
-# $(QTOPIA4_TARGET_DIR)/src/corelib/global/qconfig-myfile.h
-# to the qtopia4 packages directory (where this .mk file is) and
-# remove the comment.
-# QTOPIA4_QCONFIG_COMMAND:=-qconfig myfile
-#
-# For the options you can set in this file, look at
-# $(QTOPIA4_TARGET_DIR)/src/corelib/global/qfeatures.txt
-#
-QTOPIA4_QCONFIG_FILE:=package/qtopia4/qconfig-myfile.h
-QTOPIA4_QCONFIG_FILE_LOCATION:=/src/corelib/global/
-
-ifeq ($(BR2_LARGEFILE),y)
-QTOPIA4_CONFIGURE+= -largefile
-else
-QTOPIA4_CONFIGURE+= -no-largefile
-endif
-
-ifeq ($(BR2_PACKAGE_QTOPIA4_QT3SUPPORT),y)
-QTOPIA4_CONFIGURE+= -qt3support
-else
-QTOPIA4_CONFIGURE+= -no-qt3support
-endif
-
-
-### Pixel depths
-ifeq ($(BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_ALL),y)
-QTOPIA4_PIXEL_DEPTHS = all
-else
-ifeq ($(BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_1),y)
-QTOPIA4_PIXEL_DEPTHS += 1
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_4),y)
-QTOPIA4_PIXEL_DEPTHS += 4
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_8),y)
-QTOPIA4_PIXEL_DEPTHS += 8
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_12),y)
-QTOPIA4_PIXEL_DEPTHS += 12
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_15),y)
-QTOPIA4_PIXEL_DEPTHS += 15
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_16),y)
-QTOPIA4_PIXEL_DEPTHS += 16
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_18),y)
-QTOPIA4_PIXEL_DEPTHS += 18
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_24),y)
-QTOPIA4_PIXEL_DEPTHS += 24
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_32),y)
-QTOPIA4_PIXEL_DEPTHS += 32
-endif
-endif
-ifneq ($(QTOPIA4_PIXEL_DEPTHS),)
-QTOPIA4_CONFIGURE += -depths $(subst $(space),$(comma),$(strip $(QTOPIA4_PIXEL_DEPTHS)))
-endif
-
-### Display drivers
-ifeq ($(BR2_PACKAGE_QTOPIA4_GFX_LINUXFB),y)
-QTOPIA4_CONFIGURE += -qt-gfx-linuxfb
-else
-QTOPIA4_CONFIGURE += -no-gfx-linuxfb
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_GFX_TRANSFORMED),y)
-QTOPIA4_CONFIGURE += -qt-gfx-transformed
-else
-QTOPIA4_CONFIGURE += -no-gfx-transformed
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_GFX_QVFB),y)
-QTOPIA4_CONFIGURE += -qt-gfx-qvfb
-else
-QTOPIA4_CONFIGURE += -no-gfx-qvfb
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_GFX_VNC),y)
-QTOPIA4_CONFIGURE += -qt-gfx-vnc
-else
-QTOPIA4_CONFIGURE += -no-gfx-vnc
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_GFX_MULTISCREEN),y)
-QTOPIA4_CONFIGURE += -qt-gfx-multiscreen
-else
-QTOPIA4_CONFIGURE += -no-gfx-multiscreen
-endif
-
-### Mouse drivers
-ifeq ($(BR2_PACKAGE_QTOPIA4_MOUSE_PC),y)
-QTOPIA4_CONFIGURE += -qt-mouse-pc
-else
-QTOPIA4_CONFIGURE += -no-mouse-pc
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_MOUSE_BUS),y)
-QTOPIA4_CONFIGURE += -qt-mouse-bus
-else
-QTOPIA4_CONFIGURE += -no-mouse-bus
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_MOUSE_LINUXTP),y)
-QTOPIA4_CONFIGURE += -qt-mouse-linuxtp
-else
-QTOPIA4_CONFIGURE += -no-mouse-linuxtp
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_MOUSE_YOPY),y)
-QTOPIA4_CONFIGURE += -qt-mouse-yopy
-else
-QTOPIA4_CONFIGURE += -no-mouse-yopy
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_MOUSE_VR41XX),y)
-QTOPIA4_CONFIGURE += -qt-mouse-vr41xx
-else
-QTOPIA4_CONFIGURE += -no-mouse-vr41xx
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_MOUSE_TSLIB),y)
-QTOPIA4_CONFIGURE += -qt-mouse-tslib
-QTOPIA4_DEP_LIBS+=tslib
-QTOPIA4_TSLIB_DEB="-D TSLIBMOUSEHANDLER_DEBUG"
-QTOPIA4_TSLIB_DEB:=$(strip $(subst ",, $(QTOPIA4_TSLIB_DEB)))
-#"))
-else
-QTOPIA4_CONFIGURE += -no-mouse-tslib
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_MOUSE_QVFB),y)
-QTOPIA4_CONFIGURE += -qt-mouse-qvfb
-else
-QTOPIA4_CONFIGURE += -no-mouse-qvfb
-endif
-
-ifeq ($(BR2_PACKAGE_QTOPIA4_DEBUG),y)
-QTOPIA4_CONFIGURE+= "-debug $(QTOPIA4_TSLIB_DEB)"
-else
-QTOPIA4_CONFIGURE+= -release
-endif
-
-ifeq ($(BR2_PACKAGE_QTOPIA4_SHARED),y)
-QTOPIA4_CONFIGURE+= -shared
-else
-QTOPIA4_CONFIGURE+= -static
-endif
-
-ifeq ($(BR2_ENDIAN),"LITTLE")
-QTOPIA4_CONFIGURE+= -little-endian
-else
-QTOPIA4_CONFIGURE+= -big-endian
-endif
-
-ifeq ($(BR2_PACKAGE_QTOPIA4_GIF),y)
-QTOPIA4_CONFIGURE+= -qt-gif
-else
-QTOPIA4_CONFIGURE+= -no-gif
-endif
-
-ifeq ($(BR2_PACKAGE_QTOPIA4_LIBMNG),y)
-QTOPIA4_CONFIGURE+= -qt-libmng
-else
-QTOPIA4_CONFIGURE+= -no-libmng
-endif
-
-ifeq ($(BR2_PACKAGE_QTOPIA4_QTZLIB),y)
-QTOPIA4_CONFIGURE+= -qt-zlib
-else
-ifeq ($(BR2_PACKAGE_QTOPIA4_SYSTEMZLIB),y)
-QTOPIA4_CONFIGURE+= -system-zlib
-QTOPIA4_DEP_LIBS+=zlib
-endif
-endif
-
-ifeq ($(BR2_PACKAGE_QTOPIA4_QTJPEG),y)
-QTOPIA4_CONFIGURE+= -qt-libjpeg
-else
-ifeq ($(BR2_PACKAGE_QTOPIA4_SYSTEMJPEG),y)
-QTOPIA4_CONFIGURE+= -system-libjpeg
-QTOPIA4_DEP_LIBS+=jpeg
-else
-QTOPIA4_CONFIGURE+= -no-libjpeg
-endif
-endif
-
-ifeq ($(BR2_PACKAGE_QTOPIA4_QTPNG),y)
-QTOPIA4_CONFIGURE+= -qt-libpng
-else
-ifeq ($(BR2_PACKAGE_QTOPIA4_SYSTEMPNG),y)
-QTOPIA4_CONFIGURE+= -system-libpng
-QTOPIA4_DEP_LIBS+=libpng
-else
-QTOPIA4_CONFIGURE+= -no-libpng
-endif
-endif
-
-ifeq ($(BR2_PACKAGE_QTOPIA4_QTTIFF),y)
-QTOPIA4_CONFIGURE+= -qt-libtiff
-else
-ifeq ($(BR2_PACKAGE_QTOPIA4_SYSTEMTIFF),y)
-QTOPIA4_CONFIGURE+= -system-libtiff
-QTOPIA4_DEP_LIBS+=tiff
-else
-QTOPIA4_CONFIGURE+= -no-libtiff
-endif
-endif
-
-
-ifeq ($(BR2_PACKAGE_QTOPIA4_QTFREETYPE),y)
-QTOPIA4_CONFIGURE+= -qt-freetype
-else
-ifeq ($(BR2_PACKAGE_QTOPIA4_SYSTEMFREETYPE),y)
-QTOPIA4_CONFIGURE+= -system-freetype
-QTOPIA4_CONFIGURE+= -I $(STAGING_DIR)/usr/include/freetype2/
-QTOPIA4_DEP_LIBS+=freetype
-else
-QTOPIA4_CONFIGURE+= -no-freetype
-endif
-endif
-
-
-ifeq ($(BR2_PACKAGE_QTOPIA4_OPENSSL),y)
-QTOPIA4_CONFIGURE+= -openssl
-QTOPIA4_DEP_LIBS+=openssl
-else
-QTOPIA4_CONFIGURE+= -no-openssl
-endif
-
-# Qt SQL Drivers
-ifeq ($(BR2_PACKAGE_QTOPIA4_SQL_MODULE),y)
-ifeq ($(BR2_PACKAGE_QTOPIA4_IBASE),y)
-QTOPIA4_CONFIGURE+= -qt-sql-ibase
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_MYSQL),y)
-QTOPIA4_CONFIGURE+= -qt-sql-mysql
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_ODBC),y)
-QTOPIA4_CONFIGURE+= -qt-sql-odbc
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_PSQL),y)
-QTOPIA4_CONFIGURE+= -qt-sql-psql
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_SQLITE),y)
-QTOPIA4_CONFIGURE+= -qt-sql-sqlite
-else
-QTOPIA4_CONFIGURE+= -no-sql-sqlite
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_SQLITE2),y)
-QTOPIA4_CONFIGURE+= -qt-sql-sqlite2
-endif
-else
-# By default, no SQL driver is turned on by configure.
-# but it seams sqlite isn't disabled despite what says
-# configure --help
-QTOPIA4_CONFIGURE+= -no-sql-sqlite
-endif
-
-ifeq ($(BR2_PACKAGE_QTOPIA4_XMLPATTERNS),y)
-QTOPIA4_CONFIGURE+= -xmlpatterns -exceptions
-else
-QTOPIA4_CONFIGURE+= -no-xmlpatterns
-endif
-
-ifeq ($(BR2_PACKAGE_QTOPIA4_PHONON),y)
-QTOPIA4_CONFIGURE+= -phonon
-QTOPIA4_DEP_LIBS+=gstreamer gst-plugins-base
-else
-QTOPIA4_CONFIGURE+= -no-phonon
-endif
-
-ifeq ($(BR2_PACKAGE_QTOPIA4_SVG),y)
-QTOPIA4_CONFIGURE+= -svg
-else
-QTOPIA4_CONFIGURE+= -no-svg
-endif
-
-ifeq ($(BR2_PACKAGE_QTOPIA4_WEBKIT),y)
-QTOPIA4_CONFIGURE+= -webkit
-else
-QTOPIA4_CONFIGURE+= -no-webkit
-endif
-
-QTOPIA4_CONFIGURE:=$(strip $(subst ",, $(QTOPIA4_CONFIGURE)))
-#"))
-BR2_PACKAGE_QTOPIA4_EMB_PLATFORM:=$(strip $(subst ",, $(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM)))
-#"))
-
-# x86x86fix
-# Workaround Qt Embedded bug when crosscompiling for x86 under x86 with linux
-# host. It's unclear if this would happen on other hosts.
-ifneq ($(findstring pc-linux,$(BR2_GNU_BUILD_SUFFIX)),)
-ifeq ($(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM),x86)
-QTOPIA4_CONFIGURE+= -platform linux-g++
-QTOPIA4_CONFIGURE:=$(strip $(subst ",, $(QTOPIA4_CONFIGURE)))
-#"))
-endif
-endif
-# End of workaround.
-
-# Figure out what libs to install in the target
-QTOPIA4_LIBS=#empty
-ifeq ($(BR2_PACKAGE_QTOPIA4_GUI_MODULE),y)
-QTOPIA4_LIBS+= qtopia4-gui
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_SQL_MODULE),y)
-QTOPIA4_LIBS+= qtopia4-sql
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_PHONON),y)
-QTOPIA4_LIBS+= qtopia4-phonon
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_SVG),y)
-QTOPIA4_LIBS+= qtopia4-svg
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_NETWORK),y)
-QTOPIA4_LIBS+= qtopia4-network
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_WEBKIT),y)
-QTOPIA4_LIBS+= qtopia4-webkit
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_XML),y)
-QTOPIA4_LIBS+= qtopia4-xml
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_XMLPATTERNS),y)
-QTOPIA4_LIBS+= qtopia4-xmlpatterns
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_SCRIPT),y)
-QTOPIA4_LIBS+= qtopia4-script
-endif
-ifeq ($(BR2_PACKAGE_QTOPIA4_SCRIPTTOOLS),y)
-QTOPIA4_LIBS+= qtopia4-scripttools
-endif
-
-QTOPIA4_QMAKE_CONF:=$(QTOPIA4_TARGET_DIR)/mkspecs/qws/linux-$(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM)-g++/qmake.conf
-
-QTOPIA4_QMAKE_AR:=$(TARGET_AR) cqs
-
-# Variable for other Qt applications to use
-QTOPIA4_QMAKE:=$(STAGING_DIR)/usr/bin/qmake -spec qws/linux-$(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM)-g++
-
-################################################################################
-# QTOPIA4_QMAKE_SET -- helper macro to set QMAKE_<variable> = <value> in
-# QTOPIA_QMAKE_CONF. Will remove existing variable declaration if available.
-#
-# Argument 1 is the variable name (without QMAKE_)
-# Argument 2 is the value to set variable to
-#
-# E.G. use like this:
-# $(call QTOPIA4_QMAKE_SET,variable,value)
-################################################################################
-define QTOPIA4_QMAKE_SET
- $(SED) '/QMAKE_$(1)/d' $(QTOPIA4_QMAKE_CONF)
- $(SED) '/include.*qws.conf/aQMAKE_$(1) = $(2)' $(QTOPIA4_QMAKE_CONF)
-endef
-
-################################################################################
-# QTOPIA4_INSTALL_PLUGINS -- helper macro to install Qt plugins to target and
-# strip them
-#
-# Argument 1 is the plugin folder
-#
-# E.G. use like this to install plugins/sqldrivers:
-# $(call QTOPIA4_INSTALL_PLUGINS,sqldrivers)
-# ################################################################################
-define QTOPIA4_INSTALL_PLUGINS
- if [ -d $(STAGING_DIR)/usr/plugins/$(1) ]; then \
- mkdir -p $(TARGET_DIR)/usr/plugins; \
- cp -dpfr $(STAGING_DIR)/usr/plugins/$(1) $(TARGET_DIR)/usr/plugins/; \
- $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/plugins/$(1)/*; \
- fi
-endef
-
-$(DL_DIR)/$(QTOPIA4_SOURCE):
- $(call DOWNLOAD,$(QTOPIA4_SITE),$(QTOPIA4_SOURCE))
-
-qtopia4-source: $(DL_DIR)/$(QTOPIA4_SOURCE)
-
-
-$(QTOPIA4_TARGET_DIR)/.unpacked: $(DL_DIR)/$(QTOPIA4_SOURCE)
- $(QTOPIA4_CAT) $(DL_DIR)/$(QTOPIA4_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- toolchain/patch-kernel.sh $(QTOPIA4_TARGET_DIR) package/qtopia4/ \
- qtopia-$(QTOPIA4_VERSION)-\*.patch \
- qtopia-$(QTOPIA4_VERSION)-\*.patch.$(ARCH)
- touch $@
-
-$(QTOPIA4_TARGET_DIR)/.configured: $(QTOPIA4_TARGET_DIR)/.unpacked
-ifneq ($(BR2_INET_IPV6),y)
- $(SED) 's/^CFG_IPV6=auto/CFG_IPV6=no/' $(QTOPIA4_TARGET_DIR)/configure
- $(SED) 's/^CFG_IPV6IFNAME=auto/CFG_IPV6IFNAME=no/' $(QTOPIA4_TARGET_DIR)/configure
-endif
- $(SED) 's/^CFG_XINERAMA=auto/CFG_XINERAMA=no/' $(QTOPIA4_TARGET_DIR)/configure
- # Fix compiler path
- $(call QTOPIA4_QMAKE_SET,CC,$(TARGET_CC))
- $(call QTOPIA4_QMAKE_SET,CXX,$(TARGET_CXX))
- $(call QTOPIA4_QMAKE_SET,LINK,$(TARGET_CXX))
- $(call QTOPIA4_QMAKE_SET,LINK_SHLIB,$(TARGET_CXX))
- $(call QTOPIA4_QMAKE_SET,AR,$(QTOPIA4_QMAKE_AR))
- $(call QTOPIA4_QMAKE_SET,OBJCOPY,$(TARGET_OBJCOPY))
- $(call QTOPIA4_QMAKE_SET,RANLIB,$(TARGET_RANLIB))
- $(call QTOPIA4_QMAKE_SET,STRIP,$(TARGET_STRIP))
- $(call QTOPIA4_QMAKE_SET,CFLAGS,$(TARGET_CFLAGS))
- $(call QTOPIA4_QMAKE_SET,CXXFLAGS,$(TARGET_CXXFLAGS))
- -[ -f $(QTOPIA4_QCONFIG_FILE) ] && cp $(QTOPIA4_QCONFIG_FILE) \
- $(QTOPIA4_TARGET_DIR)/$(QTOPIA4_QCONFIG_FILE_LOCATION)
-# Qt doesn't use PKG_CONFIG, it searches for pkg-config with 'which'.
-# PKG_CONFIG_SYSROOT is only used to avoid a warning from Qt's configure system
-# when cross compiling, Qt 4.4.3 is wrong here.
-# Don't use TARGET_CONFIGURE_OPTS here, qmake would be compiled for the target
-# instead of the host then.
- (cd $(QTOPIA4_TARGET_DIR); rm -rf config.cache; \
- PATH=$(TARGET_PATH) \
- PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \
- PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig:$(PKG_CONFIG_PATH)" \
- PKG_CONFIG_SYSROOT="$(STAGING_DIR)" \
- ./configure \
- $(if $(VERBOSE),-verbose,-silent) \
- -force-pkg-config \
- -embedded $(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM) \
- $(QTOPIA4_QCONFIG_COMMAND) \
- $(QTOPIA4_CONFIGURE) \
- -no-stl \
- -no-cups \
- -no-nis \
- -no-accessibility \
- -no-separate-debug-info \
- -prefix /usr \
- -hostprefix $(STAGING_DIR)/usr \
- -fast \
- -no-rpath \
- -nomake examples \
- -nomake demos \
- )
- touch $@
-
-$(QTOPIA4_TARGET_DIR)/.compiled: $(QTOPIA4_TARGET_DIR)/.configured
- $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(QTOPIA4_TARGET_DIR)
- touch $@
-
-$(STAGING_DIR)/usr/lib/libQtCore.la: $(QTOPIA4_TARGET_DIR)/.compiled
- $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(QTOPIA4_TARGET_DIR) install
-
-qtopia4-gui: $(STAGING_DIR)/usr/lib/libQtCore.la
- mkdir -p $(TARGET_DIR)/usr/lib/fonts
- touch $(TARGET_DIR)/usr/lib/fonts/fontdir
- cp -dpf $(STAGING_DIR)/usr/lib/fonts/helvetica*.qpf $(TARGET_DIR)/usr/lib/fonts
- cp -dpf $(STAGING_DIR)/usr/lib/fonts/fixed*.qpf $(TARGET_DIR)/usr/lib/fonts
- cp -dpf $(STAGING_DIR)/usr/lib/fonts/micro*.qpf $(TARGET_DIR)/usr/lib/fonts
- # Install image plugins if they are built
- $(call QTOPIA4_INSTALL_PLUGINS,imageformats)
-ifeq ($(BR2_PACKAGE_QTOPIA4_SHARED),y)
- cp -dpf $(STAGING_DIR)/usr/lib/libQtGui.so.* $(TARGET_DIR)/usr/lib/
-endif
-
-qtopia4-sql: $(STAGING_DIR)/usr/lib/libQtCore.la
- $(call QTOPIA4_INSTALL_PLUGINS,sqldrivers)
-ifeq ($(BR2_PACKAGE_QTOPIA4_SHARED),y)
- cp -dpf $(STAGING_DIR)/usr/lib/libQtSql.so.* $(TARGET_DIR)/usr/lib/
-endif
-
-qtopia4-phonon: $(STAGING_DIR)/usr/lib/libQtCore.la
- $(call QTOPIA4_INSTALL_PLUGINS,phonon_backend)
-ifeq ($(BR2_PACKAGE_QTOPIA4_SHARED),y)
- cp -dpf $(STAGING_DIR)/usr/lib/libphonon.so.* $(TARGET_DIR)/usr/lib/
-endif
-
-qtopia4-svg: $(STAGING_DIR)/usr/lib/libQtCore.la
- $(call QTOPIA4_INSTALL_PLUGINS,iconengines)
-ifeq ($(BR2_PACKAGE_QTOPIA4_SHARED),y)
- cp -dpf $(STAGING_DIR)/usr/lib/libQtSvg.so.* $(TARGET_DIR)/usr/lib/
-endif
-
-qtopia4-network: $(STAGING_DIR)/usr/lib/libQtCore.la
-ifeq ($(BR2_PACKAGE_QTOPIA4_SHARED),y)
- cp -dpf $(STAGING_DIR)/usr/lib/libQtNetwork.so.* $(TARGET_DIR)/usr/lib/
-endif
-
-qtopia4-webkit: $(STAGING_DIR)/usr/lib/libQtCore.la
-ifeq ($(BR2_PACKAGE_QTOPIA4_SHARED),y)
- cp -dpf $(STAGING_DIR)/usr/lib/libQtWebKit.so.* $(TARGET_DIR)/usr/lib/
-endif
-
-qtopia4-xml: $(STAGING_DIR)/usr/lib/libQtCore.la
-ifeq ($(BR2_PACKAGE_QTOPIA4_SHARED),y)
- cp -dpf $(STAGING_DIR)/usr/lib/libQtXml.so.* $(TARGET_DIR)/usr/lib/
-endif
-
-qtopia4-xmlpatterns: $(STAGING_DIR)/usr/lib/libQtCore.la
-ifeq ($(BR2_PACKAGE_QTOPIA4_SHARED),y)
- cp -dpf $(STAGING_DIR)/usr/lib/libQtXmlPatterns.so.* $(TARGET_DIR)/usr/lib/
-endif
-
-qtopia4-script: $(STAGING_DIR)/usr/lib/libQtCore.la
-ifeq ($(BR2_PACKAGE_QTOPIA4_SHARED),y)
- cp -dpf $(STAGING_DIR)/usr/lib/libQtScript.so.* $(TARGET_DIR)/usr/lib/
-endif
-
-qtopia4-scripttools: $(STAGING_DIR)/usr/lib/libQtCore.la
-ifeq ($(BR2_PACKAGE_QTOPIA4_SHARED),y)
- cp -dpf $(STAGING_DIR)/usr/lib/libQtScriptTools.so.* $(TARGET_DIR)/usr/lib/
-endif
-
-
-$(TARGET_DIR)/usr/lib/libQtCore.so.4: $(STAGING_DIR)/usr/lib/libQtCore.la $(QTOPIA4_LIBS)
- # Strip all installed libs
-ifeq ($(BR2_PACKAGE_QTOPIA4_SHARED),y)
- cp -dpf $(STAGING_DIR)/usr/lib/libQtCore.so.* $(TARGET_DIR)/usr/lib/
- -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libQt*.so.*
-endif
-
-qtopia4: uclibc $(QTOPIA4_DEP_LIBS) $(TARGET_DIR)/usr/lib/libQtCore.so.4
-
-qtopia4-clean:
- -$(MAKE) -C $(QTOPIA4_TARGET_DIR) clean
- -rm -rf $(TARGET_DIR)/usr/lib/fonts
-ifeq ($(BR2_PACKAGE_QTOPIA4_SHARED),y)
- -rm $(TARGET_DIR)/usr/lib/libQt*.so.*
- -rm $(TARGET_DIR)/usr/lib/libphonon.so.*
-endif
-
-qtopia4-dirclean:
- rm -rf $(QTOPIA4_TARGET_DIR)
-
-qtopia4-status:
- @echo "QTOPIA4_QMAKE: " $(QTOPIA4_QMAKE)
- @echo "QTOPIA4_DEP_LIBS: " $(QTOPIA4_DEP_LIBS)
- @echo "FREETYPE_DIR: " $(FREETYPE_DIR)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_QTOPIA4),y)
-TARGETS+=qtopia4
-endif
diff --git a/package/rdesktop/Config.in b/package/rdesktop/Config.in
index 9e0be5c87..9ec6f8a73 100644
--- a/package/rdesktop/Config.in
+++ b/package/rdesktop/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_RDESKTOP
bool "rdesktop"
select BR2_PACKAGE_OPENSSL
- depends on BR2_PACKAGE_XORG||BR2_PACKAGE_XORG7
+ depends on BR2_PACKAGE_XORG7
help
rdesktop is an open source client for Windows NT Terminal
Server and Windows 2000/2003 Terminal Services, capable of
diff --git a/package/rdesktop/rdesktop.mk b/package/rdesktop/rdesktop.mk
index 63be0b8b5..e94fd77ed 100644
--- a/package/rdesktop/rdesktop.mk
+++ b/package/rdesktop/rdesktop.mk
@@ -38,7 +38,7 @@ $(RDESKTOP_DIR)/rdesktop: $(RDESKTOP_DIR)/.configured
$(TARGET_DIR)/usr/bin/rdesktop: $(RDESKTOP_DIR)/rdesktop
cp $^ $@
-rdesktop: uclibc openssl $(XSERVER) $(TARGET_DIR)/usr/bin/rdesktop
+rdesktop: uclibc openssl xserver_xorg-server $(TARGET_DIR)/usr/bin/rdesktop
rdesktop-source: $(DL_DIR)/$(RDESKTOP_SOURCE)
diff --git a/package/rxvt/Config.in b/package/rxvt/Config.in
index 80aa717e0..f7196e747 100644
--- a/package/rxvt/Config.in
+++ b/package/rxvt/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_RXVT
bool "rxvt"
- depends on BR2_PACKAGE_XSERVER_xorg || BR2_PACKAGE_XSERVER_tinyx || BR2_PACKAGE_XSERVER_x11r7
+ depends on BR2_PACKAGE_XORG7
help
A nice small colour vt102 X terminal emulator.
diff --git a/package/rxvt/rxvt.mk b/package/rxvt/rxvt.mk
index 1a0a82636..14d08d213 100644
--- a/package/rxvt/rxvt.mk
+++ b/package/rxvt/rxvt.mk
@@ -65,7 +65,7 @@ $(TARGET_DIR)$(X11_PREFIX)/bin/rxvt: $(RXVT_BINARY)
$(INSTALL) -m 0755 -D $^ $@
(cd $(@D); ln -fs rxvt xterm)
-rxvt: $(XSERVER) $(TARGET_DIR)$(X11_PREFIX)/bin/rxvt
+rxvt: xserver_xorg-server $(TARGET_DIR)$(X11_PREFIX)/bin/rxvt
rxvt-clean:
rm -f $(TARGET_DIR)$(X11_PREFIX)/bin/rxvt
diff --git a/package/sawman/sawman.mk b/package/sawman/sawman.mk
index 1e525ace3..76e599a2b 100644
--- a/package/sawman/sawman.mk
+++ b/package/sawman/sawman.mk
@@ -3,7 +3,7 @@
# SAWMAN
#
#############################################################
-SAWMAN_VERSION:=1.2.0-rc1
+SAWMAN_VERSION:=1.4.1
SAWMAN_SOURCE:=SaWMan-$(SAWMAN_VERSION).tar.gz
SAWMAN_SITE:=http://www.directfb.org/downloads/Extras
SAWMAN_INSTALL_STAGING = YES
diff --git a/package/sdl_gfx/Config.in b/package/sdl_gfx/Config.in
new file mode 100644
index 000000000..4910b2d64
--- /dev/null
+++ b/package/sdl_gfx/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_SDL_GFX
+ bool "SDL_gfx"
+ depends on BR2_PACKAGE_SDL
+ help
+ The SDL_gfx library is an extension to the SDL library which
+ provides basic antialiased drawing routines such as lines,
+ circles or polygons, an interpolating rotozoomer for SDL
+ surfaces, framerate control and MMX image filters.
+
+ http://www.ferzkopp.net/joomla/content/view/19/14/
diff --git a/package/sdl_gfx/sdl_gfx.mk b/package/sdl_gfx/sdl_gfx.mk
new file mode 100644
index 000000000..bd4e3f154
--- /dev/null
+++ b/package/sdl_gfx/sdl_gfx.mk
@@ -0,0 +1,26 @@
+#############################################################
+#
+# SDL_gfx addon for SDL
+#
+#############################################################
+SDL_GFX_VERSION:=2.0.19
+SDL_GFX_SOURCE:=SDL_gfx-$(SDL_GFX_VERSION).tar.gz
+SDL_GFX_SITE:=http://www.ferzkopp.net/Software/SDL_gfx-2.0/
+SDL_GFX_LIBTOOL_PATCH:=NO
+SDL_GFX_INSTALL_STAGING:=YES
+SDL_GFX_INSTALL_TARGET:=YES
+
+SDL_GFX_DEPENDENCIES:=sdl
+
+SDL_GFX_CONF_OPT:=--with-sdl-prefix=$(STAGING_DIR)/usr \
+ --disable-sdltest \
+ --enable-static
+
+# enable mmx for newer x86's
+ifeq ($(BR2_i386)$(BR2_x86_i386)$(BR2_x86_i486)$(BR2_x86_i586)$(BR2_x86_pentiumpro)$(BR2_x86_geode),y)
+SDL_GFX_CONF_OPT += --enable-mmx
+else
+SDL_GFX_CONF_OPT += --disable-mmx
+endif
+
+$(eval $(call AUTOTARGETS,package,sdl_gfx))
diff --git a/package/synergy/synergy.mk b/package/synergy/synergy.mk
index b89f3cd40..763e57b0c 100644
--- a/package/synergy/synergy.mk
+++ b/package/synergy/synergy.mk
@@ -14,6 +14,6 @@ SYNERGY_INSTALL_TARGET = YES
SYNERGY_CONF_OPT = --target=$(GNU_TARGET_NAME) --host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) --prefix=/usr --sysconfdir=/etc
-SYNERGY_DEPENDENCIES = uclibc $(XSERVER)
+SYNERGY_DEPENDENCIES = uclibc xserver_xorg-server
$(eval $(call AUTOTARGETS,package,synergy))
diff --git a/package/wpa_supplicant/wpa_supplicant.mk b/package/wpa_supplicant/wpa_supplicant.mk
index 2cceeb3c1..eaa6ab42e 100644
--- a/package/wpa_supplicant/wpa_supplicant.mk
+++ b/package/wpa_supplicant/wpa_supplicant.mk
@@ -13,10 +13,14 @@ WPA_SUPPLICANT_DEPENDENCIES = uclibc
WPA_SUPPLICANT_CONFIG = $(WPA_SUPPLICANT_DIR)/wpa_supplicant/.config
WPA_SUPPLICANT_SUBDIR = wpa_supplicant
WPA_SUPPLICANT_TARGET_BINS = wpa_cli wpa_supplicant wpa_passphrase
+WPA_SUPPLICANT_DBUS_SERVICE = fi.epitest.hostap.WPASupplicant
ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_OPENSSL),y)
WPA_SUPPLICANT_DEPENDENCIES += openssl
endif
+ifeq ($(BR2_PACKAGE_DBUS),y)
+ WPA_SUPPLICANT_DEPENDENCIES += dbus
+endif
$(eval $(call AUTOTARGETS,package,wpa_supplicant))
@@ -36,6 +40,9 @@ else
echo "CONFIG_INTERNAL_LIBTOMMATH=y" >>$(WPA_SUPPLICANT_CONFIG)
endif
endif
+ifeq ($(BR2_PACKAGE_DBUS),y)
+ echo "CONFIG_CTRL_IFACE_DBUS=y" >>$(WPA_SUPPLICANT_CONFIG)
+endif
touch $@
$(WPA_SUPPLICANT_HOOK_POST_INSTALL):
@@ -45,9 +52,19 @@ endif
ifneq ($(BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE),y)
rm -f $(TARGET_DIR)/usr/sbin/wpa_passphrase
endif
+ifeq ($(BR2_PACKAGE_DBUS),y)
+ $(INSTALL) -D \
+ $(WPA_SUPPLICANT_DIR)/wpa_supplicant/dbus-wpa_supplicant.conf \
+ $(TARGET_DIR)/etc/dbus-1/system.d/wpa_supplicant.conf
+ $(INSTALL) -D \
+ $(WPA_SUPPLICANT_DIR)/wpa_supplicant/dbus-wpa_supplicant.service \
+ $(TARGET_DIR)/usr/share/dbus-1/system-services/$(WPA_SUPPLICANT_DBUS_SERVICE).service
+endif
$(WPA_SUPPLICANT_TARGET_UNINSTALL):
$(call MESSAGE,"Uninstalling")
rm -f $(addprefix $(TARGET_DIR)/usr/sbin/, $(WPA_SUPPLICANT_TARGET_BINS))
+ rm -f $(TARGET_DIR)/etc/dbus-1/system.d/wpa_supplicant.conf
+ rm -f $(TARGET_DIR)/usr/share/dbus-1/system-services/$(WPA_SUPPLICANT_DBUS_SERVICE).service
rm -f $(WPA_SUPPLICANT_TARGET_INSTALL_TARGET) $(WPA_SUPPLICANT_HOOK_POST_INSTALL)
diff --git a/package/x11r7/Config.in b/package/x11r7/Config.in
index 0720e3fac..ace438a21 100644
--- a/package/x11r7/Config.in
+++ b/package/x11r7/Config.in
@@ -1,18 +1,42 @@
menuconfig BR2_PACKAGE_XORG7
-bool "X.org X Window System, X11R7, release 7.4"
-default y if BR2_PACKAGE_XSERVER_x11r7
-select BR2_PACKAGE_ZLIB
-select BR2_PACKAGE_LIBPNG
-select BR2_PACKAGE_EXPAT
-select BR2_PACKAGE_FONTCONFIG
-help
- Support for X11R7 libraries, servers, drivers, and/or
- applications in the target.
+ bool "X.org X Window System, X11R7, release 7.4"
+ select BR2_PACKAGE_ZLIB
+ select BR2_PACKAGE_LIBPNG
+ select BR2_PACKAGE_EXPAT
+ select BR2_PACKAGE_FONTCONFIG
+ help
+ Support for X11R7 libraries, servers, drivers, and/or
+ applications in the target.
if BR2_PACKAGE_XORG7
- menu "X11R7 Servers"
- source package/x11r7/xserver_xorg-server/Config.in
- endmenu
+
+choice
+ prompt "X Window System server type"
+ default BR2_PACKAGE_XSERVER_tinyx
+ help
+ Select the X Window System server to use
+
+config BR2_PACKAGE_XSERVER_xorg
+ bool "Modular X.org"
+ # depending on BR2_ENABLE_LOCALE gives a recursion error with dbus
+ depends on BR2_USE_WCHAR && BR2_LARGEFILE && BR2_INSTALL_LIBSTDCPP # && BR2_ENABLE_LOCALE
+
+config BR2_PACKAGE_XSERVER_tinyx
+ bool "TinyX"
+ depends on BR2_USE_WCHAR
+
+endchoice
+
+config BR2_X11_PREFIX
+ string
+ default "/usr/X11R6" if BR2_PACKAGE_XSERVER_xorg
+ default "/usr" if BR2_PACKAGE_XSERVER_tinyx
+ help
+ X11 apps root location
+
+menu "X11R7 Servers"
+ source package/x11r7/xserver_xorg-server/Config.in
+endmenu
menu "X11R7 Libraries"
source package/x11r7/libxcb/Config.in
source package/x11r7/mesa3d/Config.in
@@ -303,7 +327,3 @@ if BR2_PACKAGE_XORG7
source package/x11r7/xkeyboard-config/Config.in
endmenu
endif
-
-comment "X11R7 X Window System disabled"
- depends on BR2_PACKAGE_TINYX||BR2_PACKAGE_XORG
-
diff --git a/package/x11r7/mesa3d/mesa3d.mk b/package/x11r7/mesa3d/mesa3d.mk
index 644c1bcf2..945765f9c 100644
--- a/package/x11r7/mesa3d/mesa3d.mk
+++ b/package/x11r7/mesa3d/mesa3d.mk
@@ -72,7 +72,7 @@ $(MESA3D_DIR)/.installed: $(MESA3D_DIR)/.built
rm -Rf $(TARGET_DIR)/usr/include/GL
touch $@
-mesa3d-depends: xproto_glproto xproto_xf86vidmodeproto xlib_libXxf86vm xlib_libXmu xlib_libXdamage libdrm xlib_libpciaccess
+mesa3d-depends: xproto_glproto xproto_xf86vidmodeproto xlib_libXxf86vm xlib_libXmu xlib_libXdamage libdrm xlib_libpciaccess host-makedepend
mesa3d-source: $(DL_DIR)/$(MESA3D_SOURCE)
mesa3d-configure: $(MESA3D_DIR)/.configured
mesa3d-build: $(MESA3D_DIR)/.built
diff --git a/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel-2.4.2-cross-compile.patch b/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel-2.4.2-cross-compile.patch
index ff476bd0e..ecf1571a0 100644
--- a/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel-2.4.2-cross-compile.patch
+++ b/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel-2.4.2-cross-compile.patch
@@ -1,30 +1,26 @@
---- xf86-video-intel-2.4.2/configure.ac.orig 2007-06-10 20:59:27.000000000 +0200
-+++ xf86-video-intel-2.4.2/configure.ac 2007-06-10 20:59:50.000000000 +0200
-@@ -92,13 +92,14 @@ AC_HEADER_STDC
+diff -ruN xf86-video-intel-2.4.2/configure.ac xf86-video-intel-2.4.2-patched/configure.ac
+--- xf86-video-intel-2.4.2/configure.ac 2008-08-26 03:28:31.000000000 +0200
++++ xf86-video-intel-2.4.2-patched/configure.ac 2009-07-27 13:39:49.000000000 +0200
+@@ -91,6 +91,7 @@
+ # Checks for header files.
+ AC_HEADER_STDC
- AC_MSG_CHECKING([whether to include DRI support])
- if test x$DRI = xauto; then
-+ if test "$cross_compiling" = "no" ; then
++if test "$cross_compiling" = "no" ; then
+ if test x$DRI != xno; then
AC_CHECK_FILE([${sdkdir}/dri.h],
[have_dri_h="yes"], [have_dri_h="no"])
- AC_CHECK_FILE([${sdkdir}/sarea.h],
- [have_sarea_h="yes"], [have_sarea_h="no"])
- AC_CHECK_FILE([${sdkdir}/dristruct.h],
- [have_dristruct_h="yes"], [have_dristruct_h="no"])
-- AC_CHECK_FILE([${sdkdir}/damage.h],
-+ AC_CHECK_FILE([${sdkdir}/damage.h],
- [have_damage_h="yes"], [have_damage_h="no"])
-
- if test "$have_dri_h" = yes -a \
-@@ -108,6 +109,12 @@ if test x$DRI = xauto; then
- else
+@@ -111,6 +112,14 @@
DRI="no"
fi
-+ else
-+ have_dri_h="yes"
-+ have_sarea_h="yes"
-+ have_dristruct_h="yes"
-+ DRI="yes"
-+ fi
fi
++else
++if test x$DRI != xno; then
++ have_dri_h="yes"
++ have_sarea_h="yes"
++ have_dristruct_h="yes"
++ DRI="yes"
++fi
++fi
AC_MSG_RESULT([$DRI])
+
+ save_CFLAGS="$CFLAGS"
diff --git a/package/x11r7/xproto_xproto/xproto_xproto.mk b/package/x11r7/xproto_xproto/xproto_xproto.mk
index 9d4faf4f6..d46743e09 100644
--- a/package/x11r7/xproto_xproto/xproto_xproto.mk
+++ b/package/x11r7/xproto_xproto/xproto_xproto.mk
@@ -12,3 +12,46 @@ XPROTO_XPROTO_INSTALL_STAGING = YES
XPROTO_XPROTO_INSTALL_TARGET = NO
$(eval $(call AUTOTARGETS,package/x11r7,xproto_xproto))
+
+# xproto_xproto for the host
+XPROTO_XPROTO_HOST_DIR:=$(BUILD_DIR)/xproto_xproto-$(XPROTO_XPROTO_VERSION)-host
+
+$(DL_DIR)/$(XPROTO_XPROTO_SOURCE):
+ $(call DOWNLOAD,$(XPROTO_XPROTO_SITE),$(XPROTO_XPROTO_SOURCE))
+
+$(STAMP_DIR)/host_xproto_xproto_unpacked: $(DL_DIR)/$(XPROTO_XPROTO_SOURCE)
+ mkdir -p $(XPROTO_XPROTO_HOST_DIR)
+ $(INFLATE$(suffix $(XPROTO_XPROTO_SOURCE))) $< | \
+ $(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(XPROTO_XPROTO_HOST_DIR) $(TAR_OPTIONS) -
+ touch $@
+
+$(STAMP_DIR)/host_xproto_xproto_configured: $(STAMP_DIR)/host_xproto_xproto_unpacked
+ (cd $(XPROTO_XPROTO_HOST_DIR); rm -rf config.cache; \
+ $(HOST_CONFIGURE_OPTS) \
+ CFLAGS="$(HOST_CFLAGS)" \
+ LDFLAGS="$(HOST_LDFLAGS)" \
+ ./configure \
+ --prefix="$(HOST_DIR)/usr" \
+ --sysconfdir="$(HOST_DIR)/etc" \
+ )
+ touch $@
+
+$(STAMP_DIR)/host_xproto_xproto_compiled: $(STAMP_DIR)/host_xproto_xproto_configured
+ $(HOST_MAKE_ENV) $(MAKE) -C $(XPROTO_XPROTO_HOST_DIR)
+ touch $@
+
+$(STAMP_DIR)/host_xproto_xproto_installed: $(STAMP_DIR)/host_xproto_xproto_compiled
+ $(MAKE) -C $(XPROTO_XPROTO_HOST_DIR) install
+ touch $@
+
+host-xproto_xproto: $(STAMP_DIR)/host_xproto_xproto_installed
+
+host-xproto_xproto-source: xproto_xproto-source
+
+host-xproto_xproto-clean:
+ rm -f $(addprefix $(STAMP_DIR)/host_xproto_xproto_,unpacked configured compiled installed)
+ -$(MAKE) -C $(XPROTO_XPROTO_HOST_DIR) uninstall
+ -$(MAKE) -C $(XPROTO_XPROTO_HOST_DIR) clean
+
+host-xproto_xproto-dirclean:
+ rm -rf $(XPROTO_XPROTO_HOST_DIR)
diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
index 58bd8d2b4..105c79069 100644
--- a/package/x11r7/xserver_xorg-server/Config.in
+++ b/package/x11r7/xserver_xorg-server/Config.in
@@ -2,7 +2,6 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER
bool "xorg-server"
select BR2_PACKAGE_XLIB_LIBXFONT
select BR2_PACKAGE_LIBDRM
- select BR2_PACKAGE_XLIB_LIBXKBUI
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_XPROTO_COMPOSITEPROTO
select BR2_PACKAGE_XPROTO_DAMAGEPROTO
@@ -15,13 +14,10 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER
select BR2_PACKAGE_XFONT_FONT_CURSOR_MISC if !BR2_PACKAGE_XSERVER_XORG_SERVER_BUILTIN_FONTS
select BR2_PACKAGE_XLIB_LIBX11
select BR2_PACKAGE_XLIB_LIBXAU
- select BR2_PACKAGE_XLIB_LIBXAW
select BR2_PACKAGE_XLIB_LIBXDMCP
select BR2_PACKAGE_XLIB_LIBXEXT
select BR2_PACKAGE_XLIB_LIBXFIXES
select BR2_PACKAGE_XLIB_LIBXI
- select BR2_PACKAGE_XLIB_LIBXMU
- select BR2_PACKAGE_XLIB_LIBXPM
select BR2_PACKAGE_XLIB_LIBXRENDER
select BR2_PACKAGE_XLIB_LIBXRES
select BR2_PACKAGE_XLIB_LIBXXF86MISC
diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
index 77c8208da..e2af32459 100644
--- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
+++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
@@ -12,19 +12,55 @@ XSERVER_XORG_SERVER_INSTALL_STAGING = YES
XSERVER_XORG_SERVER_USE_CONFIG_CACHE = NO # overrides CFLAGS
XSERVER_XORG_SERVER_INSTALL_STAGING_OPT = DESTDIR=$(STAGING_DIR) install install-data
-XSERVER_XORG_SERVER_DEPENDENCIES = xutil_util-macros xlib_libXfont libdrm xlib_libxkbui openssl \
- xproto_compositeproto xproto_damageproto xproto_fixesproto \
- xproto_glproto xproto_kbproto xproto_randrproto \
- xlib_libX11 xlib_libXau xlib_libXaw xlib_libXdmcp xlib_libXScrnSaver \
- xlib_libXext xlib_libXfixes xlib_libXi xlib_libXmu xlib_libXpm \
- xlib_libXrender xlib_libXres xlib_libXft xlib_libXcursor \
- xlib_libXinerama xlib_libXrandr xlib_libXdamage xlib_libXxf86misc xlib_libXxf86vm \
- xlib_liblbxutil xlib_libxkbfile xlib_xtrans xdata_xbitmaps xproto_bigreqsproto \
- xproto_evieext xproto_fontsproto xproto_inputproto xproto_renderproto \
- xproto_resourceproto xproto_videoproto xproto_xcmiscproto \
- xproto_xextproto xproto_xf86bigfontproto xproto_xf86dgaproto xproto_xf86driproto \
- xproto_xf86miscproto xproto_xf86rushproto xproto_xf86vidmodeproto xproto_xproto \
- pixman mcookie
+XSERVER_XORG_SERVER_DEPENDENCIES = \
+ xutil_util-macros \
+ xlib_libXfont \
+ xlib_libX11 \
+ xlib_libXau \
+ xlib_libXdmcp \
+ xlib_libXScrnSaver \
+ xlib_libXext \
+ xlib_libXfixes \
+ xlib_libXi \
+ xlib_libXrender \
+ xlib_libXres \
+ xlib_libXft \
+ xlib_libXcursor \
+ xlib_libXinerama \
+ xlib_libXrandr \
+ xlib_libXdamage \
+ xlib_libXxf86misc \
+ xlib_libXxf86vm \
+ xlib_liblbxutil \
+ xlib_libxkbfile \
+ xlib_xtrans \
+ xdata_xbitmaps \
+ xproto_bigreqsproto \
+ xproto_compositeproto \
+ xproto_damageproto \
+ xproto_evieext \
+ xproto_fixesproto \
+ xproto_fontsproto \
+ xproto_glproto \
+ xproto_inputproto \
+ xproto_kbproto \
+ xproto_randrproto \
+ xproto_renderproto \
+ xproto_resourceproto \
+ xproto_videoproto \
+ xproto_xcmiscproto \
+ xproto_xextproto \
+ xproto_xf86bigfontproto \
+ xproto_xf86dgaproto \
+ xproto_xf86driproto \
+ xproto_xf86miscproto \
+ xproto_xf86rushproto \
+ xproto_xf86vidmodeproto \
+ xproto_xproto \
+ libdrm \
+ pixman \
+ openssl \
+ mcookie
XSERVER_XORG_SERVER_CONF_OPT = --disable-config-hal \
--disable-xnest --disable-xephyr --disable-xvfb \
diff --git a/package/x11r7/xutil_makedepend/xutil_makedepend.mk b/package/x11r7/xutil_makedepend/xutil_makedepend.mk
index b69878386..88754d8a7 100644
--- a/package/x11r7/xutil_makedepend/xutil_makedepend.mk
+++ b/package/x11r7/xutil_makedepend/xutil_makedepend.mk
@@ -8,7 +8,50 @@ XUTIL_MAKEDEPEND_VERSION = 1.0.1
XUTIL_MAKEDEPEND_SOURCE = makedepend-$(XUTIL_MAKEDEPEND_VERSION).tar.bz2
XUTIL_MAKEDEPEND_SITE = http://xorg.freedesktop.org/releases/individual/util
XUTIL_MAKEDEPEND_AUTORECONF = NO
-XUTIL_MAKEDEPEND_INSTALL_STAGING = YES
-XUTIL_MAKEDEPEND_INSTALL_TARGET = NO
+XUTIL_MAKEDEPEND_INSTALL_STAGING = NO
+XUTIL_MAKEDEPEND_INSTALL_TARGET = YES
$(eval $(call AUTOTARGETS,package/x11r7,xutil_makedepend))
+
+# makedepend for the host
+MAKEDEPEND_HOST_DIR:=$(BUILD_DIR)/makedepend-$(XUTIL_MAKEDEPEND_VERSION)-host
+
+$(DL_DIR)/$(XUTIL_MAKEDEPEND_SOURCE):
+ $(call DOWNLOAD,$(XUTIL_MAKEDEPEND_SITE),$(XUTIL_MAKEDEPEND_SOURCE))
+
+$(STAMP_DIR)/host_makedepend_unpacked: $(DL_DIR)/$(XUTIL_MAKEDEPEND_SOURCE)
+ mkdir -p $(MAKEDEPEND_HOST_DIR)
+ $(INFLATE$(suffix $(XUTIL_MAKEDEPEND_SOURCE))) $< | \
+ $(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(MAKEDEPEND_HOST_DIR) $(TAR_OPTIONS) -
+ touch $@
+
+$(STAMP_DIR)/host_makedepend_configured: $(STAMP_DIR)/host_makedepend_unpacked $(STAMP_DIR)/host_xproto_xproto_installed
+ (cd $(MAKEDEPEND_HOST_DIR); rm -rf config.cache; \
+ $(HOST_CONFIGURE_OPTS) \
+ CFLAGS="$(HOST_CFLAGS)" \
+ LDFLAGS="$(HOST_LDFLAGS)" \
+ ./configure \
+ --prefix="$(HOST_DIR)/usr" \
+ --sysconfdir="$(HOST_DIR)/etc" \
+ )
+ touch $@
+
+$(STAMP_DIR)/host_makedepend_compiled: $(STAMP_DIR)/host_makedepend_configured
+ $(HOST_MAKE_ENV) $(MAKE) -C $(MAKEDEPEND_HOST_DIR)
+ touch $@
+
+$(STAMP_DIR)/host_makedepend_installed: $(STAMP_DIR)/host_makedepend_compiled
+ $(MAKE) -C $(MAKEDEPEND_HOST_DIR) install
+ touch $@
+
+host-makedepend: $(STAMP_DIR)/host_makedepend_installed
+
+host-makedepend-source: makedepend-source
+
+host-makedepend-clean:
+ rm -f $(addprefix $(STAMP_DIR)/host_makedepend_,unpacked configured compiled installed)
+ -$(MAKE) -C $(MAKEDEPEND_HOST_DIR) uninstall
+ -$(MAKE) -C $(MAKEDEPEND_HOST_DIR) clean
+
+host-makedepend-dirclean:
+ rm -rf $(MAKEDEPEND_HOST_DIR)
diff --git a/package/xpdf/xpdf.mk b/package/xpdf/xpdf.mk
index 1fbe7110e..ab60b2be5 100644
--- a/package/xpdf/xpdf.mk
+++ b/package/xpdf/xpdf.mk
@@ -17,8 +17,8 @@ ifeq ($(BR2_SOFT_FLOAT),y)
XPDF_CONF_OPT += --enable-fixedpoint
endif
-ifneq ($(BR2_PACKAGE_XSERVER_none),y)
- XPDF_DEPENDENCIES += $(XSERVER) openmotif
+ifeq ($(BR2_PACKAGE_XORG7),y)
+ XPDF_DEPENDENCIES += xserver_xorg-server openmotif
XPDF_CONF_OPT += --with-Xm-library=$(STAGING_DIR)/usr/lib --with-Xm-includes=$(STAGING_DIR)/usr/include/Xm \
--with-x --with-freetype2-includes=$(STAGING_DIR)/usr/include \
--with-freetype2-library=$(STAGING_DIR)/usr/lib CFLAGS="-I$(STAGING_DIR)/usr/include/freetype2" \
diff --git a/package/xvkbd/Config.in b/package/xvkbd/Config.in
index eeef152cb..888367a2d 100644
--- a/package/xvkbd/Config.in
+++ b/package/xvkbd/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_XVKBD
bool "xvkbd"
+ depends on BR2_PACKAGE_XORG7
help
on-screen keyboard for X
diff --git a/package/xvkbd/xvkbd.mk b/package/xvkbd/xvkbd.mk
index 510e3c402..d28780969 100644
--- a/package/xvkbd/xvkbd.mk
+++ b/package/xvkbd/xvkbd.mk
@@ -15,7 +15,7 @@ XVKBD_MAKE_OPT = CC=$(TARGET_CC) CXX=$(TARGET_CXX) LD=$(TARGET_CC) \
XVKBD_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
-XVKBD_DEPENDENCIES = uclibc $(XSERVER)
+XVKBD_DEPENDENCIES = uclibc xserver_xorg-server
$(eval $(call AUTOTARGETS,package,xvkbd))
diff --git a/project/Makefile.in b/project/Makefile.in
index 49aec141a..85c0eaeed 100644
--- a/project/Makefile.in
+++ b/project/Makefile.in
@@ -10,6 +10,9 @@ QUIET:=$(if $(findstring s,$(MAKEFLAGS)),-q,)
# Strip off the annoying quoting
ARCH:=$(strip $(subst ",, $(BR2_ARCH)))
+ifeq ($(ARCH),xtensa)
+ARCH:=$(ARCH)_$(strip $(subst ",,$(BR2_xtensa_core_name)))
+endif
#"))
WGET:=$(strip $(subst ",, $(BR2_WGET))) $(SPIDER) $(QUIET)
#"))
diff --git a/target/Config.in b/target/Config.in
index 87abbe666..ab46dcb16 100644
--- a/target/Config.in
+++ b/target/Config.in
@@ -12,6 +12,21 @@ config BR2_ROOTFS_SUFFIX
help
Add a custom string to the end of the root file system name.
+config BR2_ROOTFS_POST_BUILD_SCRIPT
+ string "Custom script to run before packing files"
+ default ""
+ help
+ Specify a script to be run after the build has finished and before
+ the BR2 starts packing the files into selected packages.
+
+ This gives users the oportunity to do board-specific cleanups,
+ add-ons and the like, so the generated files can be used directly
+ without further processing.
+
+ The script is called with the target directory name as first and
+ only argument. Make sure the exit code of that script is 0,
+ otherwise make will stop after calling it.
+
comment "filesystem for target device"
source "target/cramfs/Config.in"
@@ -74,10 +89,6 @@ config BR2_KERNEL_LINUX
endif
-config BR2_KERNEL_HURD
- bool "hurd"
- help
- GNU/Hurd kernel
endchoice
config BR2_PACKAGE_LINUX
@@ -85,11 +96,7 @@ config BR2_PACKAGE_LINUX
if BR2_PACKAGE_LINUX
source "target/linux/Config.in"
-#source "target/linux/Config.in.experimental"
source "target/linux/Config.in.advanced"
endif
-if BR2_KERNEL_HURD
-source "target/hurd/Config.in"
-endif
endmenu
diff --git a/target/Config.in.arch b/target/Config.in.arch
index 611210e87..e63fc027a 100644
--- a/target/Config.in.arch
+++ b/target/Config.in.arch
@@ -43,6 +43,8 @@ config BR2_sparc64
bool "sparc64"
config BR2_x86_64
bool "x86_64"
+config BR2_xtensa
+ bool "xtensa"
endchoice
#
@@ -396,6 +398,38 @@ endchoice
choice
prompt "Target Architecture Variant"
+ depends on BR2_xtensa
+ default BR2_xtensa_dc232b
+ help
+ Specific CPU variant to use
+
+config BR2_xtensa_custom
+ bool "Custom Xtensa processor configuration"
+config BR2_xtensa_dc232a
+ bool "dc232a - Diamond 232L Standard Core Rev.A (LE)"
+config BR2_xtensa_dc232b
+ bool "dc232b - Diamond 232L Standard Core Rev.B (LE)"
+#config BR2_xtensa_s5000
+# bool "s5000 - Stretch S5000"
+endchoice
+
+config BR2_xtensa_custom_name
+ string "Custom Xtensa processor configuration name"
+ depends on BR2_xtensa_custom
+ default ""
+ help
+ Name given to a custom Xtensa processor configuration.
+ This is used to select the correct overlay.
+
+config BR2_xtensa_core_name
+ string
+ default BR2_xtensa_custom_name if BR2_xtensa_custom
+ default "dc232a" if BR2_xtensa_dc232a
+ default "dc232b" if BR2_xtensa_dc232b
+# default "s5000" if BR2_xtensa_s5000
+
+choice
+ prompt "Target Architecture Variant"
depends on BR2_powerpc
default BR2_generic_powerpc
help
@@ -496,6 +530,7 @@ config BR2_ARCH
default "x86_64" if BR2_x86_64_opteron
default "x86_64" if BR2_x86_64_opteron_sse3
default "x86_64" if BR2_x86_64_barcelona
+ default "xtensa" if BR2_xtensa
config BR2_ENDIAN
diff --git a/target/Makefile.in b/target/Makefile.in
index b1450413e..a835353e4 100644
--- a/target/Makefile.in
+++ b/target/Makefile.in
@@ -62,6 +62,7 @@ include target/generic/Makefile.in
include target/device/Makefile.in
include target/x86/Makefile.in
include target/powerpc/Makefile.in
+include target/xtensa/Makefile.in
ifeq ($(BR2_TARGET_UBOOT),y)
include target/u-boot/Makefile.in
@@ -83,5 +84,3 @@ include target/linux/Makefile.in.advanced
endif
include target/device/Makefile.in.linux
-
-include target/hurd/Makefile.in
diff --git a/target/device/Config.in b/target/device/Config.in
index 50d011fe8..ca569709b 100644
--- a/target/device/Config.in
+++ b/target/device/Config.in
@@ -10,6 +10,7 @@ source "target/device/Atmel/Config.in"
source "target/device/KwikByte/Config.in"
source "target/device/valka/Config.in"
source "target/device/x86/Config.in"
+source "target/device/xtensa/Config.in"
# This must be last
source "target/generic/Config.in"
diff --git a/target/device/KwikByte/kb9202/kb9202-linux-2.6.20.config b/target/device/KwikByte/kb9202/kb9202-linux-2.6.20.config
deleted file mode 100644
index fbe77fd64..000000000
--- a/target/device/KwikByte/kb9202/kb9202-linux-2.6.20.config
+++ /dev/null
@@ -1,1218 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.20
-# Fri Feb 23 16:21:01 2007
-#
-CONFIG_ARM=y
-# CONFIG_GENERIC_TIME is not set
-CONFIG_MMU=y
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_HARDIRQS_SW_RESEND=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-# CONFIG_IPC_NS is not set
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-# CONFIG_BSD_PROCESS_ACCT_V3 is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_UTS_NS is not set
-CONFIG_AUDIT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_SYSFS_DEPRECATED=y
-# CONFIG_RELAY is not set
-CONFIG_INITRAMFS_SOURCE=""
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-# CONFIG_EMBEDDED is not set
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-CONFIG_KALLSYMS_EXTRA_PASS=y
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SHMEM=y
-CONFIG_SLAB=y
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=0
-# CONFIG_SLOB is not set
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-CONFIG_KMOD=y
-
-#
-# Block layer
-#
-CONFIG_BLOCK=y
-CONFIG_LBD=y
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_LSF is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-# CONFIG_DEFAULT_AS is not set
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-
-#
-# System Type
-#
-# CONFIG_ARCH_AAEC2000 is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_REALVIEW is not set
-# CONFIG_ARCH_VERSATILE is not set
-CONFIG_ARCH_AT91=y
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CO285 is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_IOP32X is not set
-# CONFIG_ARCH_IOP33X is not set
-# CONFIG_ARCH_IOP13XX is not set
-# CONFIG_ARCH_IXP4XX is not set
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_IXP23XX is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_PNX4008 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_OMAP is not set
-
-#
-# Atmel AT91 System-on-Chip
-#
-CONFIG_ARCH_AT91RM9200=y
-# CONFIG_ARCH_AT91SAM9260 is not set
-# CONFIG_ARCH_AT91SAM9261 is not set
-# CONFIG_ARCH_AT91SAM9263 is not set
-
-#
-# AT91RM9200 Board Type
-#
-# CONFIG_MACH_ONEARM is not set
-# CONFIG_ARCH_AT91RM9200DK is not set
-# CONFIG_MACH_AT91RM9200EK is not set
-# CONFIG_MACH_CSB337 is not set
-# CONFIG_MACH_CSB637 is not set
-# CONFIG_MACH_CARMEVA is not set
-# CONFIG_MACH_ATEB9200 is not set
-CONFIG_MACH_KB9200=y
-# CONFIG_MACH_KAFA is not set
-
-#
-# AT91 Board Options
-#
-
-#
-# AT91 Feature Selections
-#
-# CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM920T=y
-CONFIG_CPU_32v4T=y
-CONFIG_CPU_ABRT_EV4T=y
-CONFIG_CPU_CACHE_V4WT=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_COPY_V4WB=y
-CONFIG_CPU_TLB_V4WBI=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
-
-#
-# Bus support
-#
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
-CONFIG_PCCARD=m
-# CONFIG_PCMCIA_DEBUG is not set
-CONFIG_PCMCIA=m
-CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_PCMCIA_IOCTL=y
-
-#
-# PC-card bridges
-#
-# CONFIG_AT91_CF is not set
-
-#
-# Kernel Features
-#
-# CONFIG_PREEMPT is not set
-# CONFIG_NO_IDLE_HZ is not set
-CONFIG_HZ=100
-# CONFIG_AEABI is not set
-# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-# CONFIG_SPARSEMEM_STATIC is not set
-CONFIG_SPLIT_PTLOCK_CPUS=4096
-# CONFIG_RESOURCES_64BIT is not set
-# CONFIG_LEDS is not set
-CONFIG_ALIGNMENT_TRAP=y
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0x10000000
-CONFIG_ZBOOT_ROM_BSS=0x20040000
-# CONFIG_ZBOOT_ROM is not set
-CONFIG_CMDLINE="noinitrd root=/dev/mtdblock0 rootfstype=jffs2 mem=64M"
-# CONFIG_XIP_KERNEL is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_NWFPE_XP is not set
-# CONFIG_FPE_FASTFPE is not set
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_BINFMT_AOUT=y
-CONFIG_BINFMT_MISC=y
-# CONFIG_ARTHUR is not set
-
-#
-# Power management options
-#
-# CONFIG_PM is not set
-# CONFIG_APM is not set
-
-#
-# Networking
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-# CONFIG_NETDEBUG is not set
-CONFIG_PACKET=y
-# CONFIG_PACKET_MMAP is not set
-CONFIG_UNIX=y
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=y
-CONFIG_IP_PNP=y
-# CONFIG_IP_PNP_DHCP is not set
-# CONFIG_IP_PNP_BOOTP is not set
-# CONFIG_IP_PNP_RARP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_IP_MROUTE is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-# CONFIG_INET_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-# CONFIG_IPV6 is not set
-# CONFIG_INET6_XFRM_TUNNEL is not set
-# CONFIG_INET6_TUNNEL is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETFILTER is not set
-
-#
-# DCCP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_DCCP is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-CONFIG_IP_SCTP=m
-# CONFIG_SCTP_DBG_MSG is not set
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# CONFIG_SCTP_HMAC_NONE is not set
-# CONFIG_SCTP_HMAC_SHA1 is not set
-CONFIG_SCTP_HMAC_MD5=y
-
-#
-# TIPC Configuration (EXPERIMENTAL)
-#
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-# CONFIG_IEEE80211 is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_SYS_HYPERVISOR is not set
-
-#
-# Connector - unified userspace <-> kernelspace linker
-#
-# CONFIG_CONNECTOR is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_CONCAT=y
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLKDEVS=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL is not set
-# CONFIG_SSFDC is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_OBSOLETE_CHIPS is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-
-#
-# NAND Flash Device Drivers
-#
-CONFIG_MTD_NAND=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-CONFIG_MTD_NAND_AT91=y
-# CONFIG_MTD_NAND_NANDSIM is not set
-
-#
-# OneNAND Flash Device Drivers
-#
-# CONFIG_MTD_ONENAND is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play support
-#
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=16384
-CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-# CONFIG_SCSI_TGT is not set
-# CONFIG_SCSI_NETLINK is not set
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-# CONFIG_BLK_DEV_SR is not set
-CONFIG_CHR_DEV_SG=y
-# CONFIG_CHR_DEV_SCH is not set
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-CONFIG_SCSI_MULTI_LUN=y
-CONFIG_SCSI_CONSTANTS=y
-CONFIG_SCSI_LOGGING=y
-# CONFIG_SCSI_SCAN_ASYNC is not set
-
-#
-# SCSI Transports
-#
-CONFIG_SCSI_SPI_ATTRS=m
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-
-#
-# SCSI low-level drivers
-#
-# CONFIG_ISCSI_TCP is not set
-# CONFIG_SCSI_DEBUG is not set
-
-#
-# PCMCIA SCSI adapter support
-#
-# CONFIG_PCMCIA_AHA152X is not set
-# CONFIG_PCMCIA_FDOMAIN is not set
-# CONFIG_PCMCIA_NINJA_SCSI is not set
-# CONFIG_PCMCIA_QLOGIC is not set
-# CONFIG_PCMCIA_SYM53C500 is not set
-
-#
-# Serial ATA (prod) and Parallel ATA (experimental) drivers
-#
-# CONFIG_ATA is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-
-#
-# I2O device support
-#
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-
-#
-# PHY device support
-#
-# CONFIG_PHYLIB is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
-CONFIG_ARM_AT91_ETHER=y
-# CONFIG_SMC91X is not set
-# CONFIG_DM9000 is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-
-#
-# Ethernet (10000 Mbit)
-#
-
-#
-# Token Ring devices
-#
-
-#
-# Wireless LAN (non-hamradio)
-#
-# CONFIG_NET_RADIO is not set
-
-#
-# PCMCIA network device support
-#
-# CONFIG_NET_PCMCIA is not set
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_SHAPER is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_TSDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_ATMEL=y
-CONFIG_SERIAL_ATMEL_CONSOLE=y
-# CONFIG_SERIAL_ATMEL_TTYAT is not set
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_UNIX98_PTYS=y
-# CONFIG_LEGACY_PTYS is not set
-
-#
-# IPMI
-#
-# CONFIG_IPMI_HANDLER is not set
-
-#
-# Watchdog Cards
-#
-# CONFIG_WATCHDOG is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_NVRAM is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-
-#
-# TPM devices
-#
-# CONFIG_TCG_TPM is not set
-# CONFIG_AT91_SPI is not set
-
-#
-# I2C support
-#
-# CONFIG_I2C is not set
-
-#
-# SPI support
-#
-# CONFIG_SPI is not set
-# CONFIG_SPI_MASTER is not set
-
-#
-# Dallas's 1-wire bus
-#
-# CONFIG_W1 is not set
-
-#
-# Hardware Monitoring support
-#
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_SENSORS_ABITUGURU is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_PC87427 is not set
-# CONFIG_SENSORS_VT1211 is not set
-CONFIG_HWMON_DEBUG_CHIP=y
-
-#
-# Misc devices
-#
-# CONFIG_TIFM_CORE is not set
-
-#
-# LED devices
-#
-# CONFIG_NEW_LEDS is not set
-
-#
-# LED drivers
-#
-
-#
-# LED Triggers
-#
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-
-#
-# Digital Video Broadcasting Devices
-#
-# CONFIG_DVB is not set
-# CONFIG_USB_DABUSB is not set
-
-#
-# Graphics support
-#
-# CONFIG_FIRMWARE_EDID is not set
-CONFIG_FB=y
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_MACMODES is not set
-# CONFIG_FB_BACKLIGHT is not set
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_TILEBLITTING=y
-CONFIG_FB_S1D15605=y
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_VIRTUAL is not set
-
-#
-# Console display driver support
-#
-# CONFIG_VGA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
-# CONFIG_FONT_8x16 is not set
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_7x14 is not set
-# CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
-CONFIG_FONT_MINI_4x6=y
-# CONFIG_FONT_SUN8x16 is not set
-# CONFIG_FONT_SUN12x22 is not set
-# CONFIG_FONT_10x18 is not set
-
-#
-# Logo configuration
-#
-# CONFIG_LOGO is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_DEVICE=y
-# CONFIG_LCD_CLASS_DEVICE is not set
-CONFIG_BACKLIGHT_KB920x=y
-
-#
-# Sound
-#
-# CONFIG_SOUND is not set
-
-#
-# HID Devices
-#
-CONFIG_HID=y
-
-#
-# USB support
-#
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-# CONFIG_USB_ARCH_HAS_EHCI is not set
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_BANDWIDTH is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_OTG is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_ISP116X_HCD is not set
-CONFIG_USB_OHCI_HCD=y
-# CONFIG_USB_OHCI_BIG_ENDIAN is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-# CONFIG_USB_SL811_HCD is not set
-
-#
-# USB Device Class drivers
-#
-# CONFIG_USB_ACM is not set
-# CONFIG_USB_PRINTER is not set
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-#
-
-#
-# may also be needed; see USB_STORAGE Help for more information
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_DPCM is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_ALAUDA is not set
-# CONFIG_USB_STORAGE_KARMA is not set
-CONFIG_USB_LIBUSUAL=y
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=y
-# CONFIG_USB_HIDINPUT_POWERBOOK is not set
-# CONFIG_HID_FF is not set
-# CONFIG_USB_HIDDEV is not set
-# CONFIG_USB_AIPTEK is not set
-# CONFIG_USB_WACOM is not set
-# CONFIG_USB_ACECAD is not set
-# CONFIG_USB_KBTAB is not set
-# CONFIG_USB_POWERMATE is not set
-# CONFIG_USB_TOUCHSCREEN is not set
-# CONFIG_USB_YEALINK is not set
-# CONFIG_USB_XPAD is not set
-# CONFIG_USB_ATI_REMOTE is not set
-# CONFIG_USB_ATI_REMOTE2 is not set
-# CONFIG_USB_KEYSPAN_REMOTE is not set
-# CONFIG_USB_APPLETOUCH is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-
-#
-# USB Network Adapters
-#
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET_MII is not set
-# CONFIG_USB_USBNET is not set
-# CONFIG_USB_MON is not set
-
-#
-# USB port drivers
-#
-
-#
-# USB Serial Converter support
-#
-# CONFIG_USB_SERIAL is not set
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_AUERSWALD is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_PHIDGET is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_FTDI_ELAN is not set
-# CONFIG_USB_APPLEDISPLAY is not set
-# CONFIG_USB_LD is not set
-# CONFIG_USB_TRANCEVIBRATOR is not set
-# CONFIG_USB_TEST is not set
-
-#
-# USB DSL modem support
-#
-
-#
-# USB Gadget Support
-#
-# CONFIG_USB_GADGET is not set
-
-#
-# MMC/SD Card support
-#
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_AT91=y
-# CONFIG_MMC_TIFM_SD is not set
-
-#
-# Real Time Clock
-#
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
-CONFIG_EXT3_FS_XATTR=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-# CONFIG_EXT4DEV_FS is not set
-CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FS_MBCACHE=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-# CONFIG_XFS_FS is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_OCFS2_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_INOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_QUOTA=y
-# CONFIG_QFMT_V1 is not set
-CONFIG_QFMT_V2=y
-CONFIG_QUOTACTL=y
-CONFIG_DNOTIFY=y
-# CONFIG_AUTOFS_FS is not set
-CONFIG_AUTOFS4_FS=y
-# CONFIG_FUSE_FS is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-# CONFIG_ISO9660_FS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
-CONFIG_CONFIGFS_FS=y
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_SUMMARY is not set
-# CONFIG_JFFS2_FS_XATTR is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-CONFIG_NFS_V4=y
-# CONFIG_NFS_DIRECTIO is not set
-# CONFIG_NFSD is not set
-CONFIG_ROOT_NFS=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-CONFIG_RPCSEC_GSS_KRB5=y
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-# CONFIG_SMB_FS is not set
-# CONFIG_CIFS is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
-
-#
-# Partition Types
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
-
-#
-# Native Language Support
-#
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=y
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-# CONFIG_NLS_CODEPAGE_850 is not set
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-CONFIG_NLS_ASCII=y
-# CONFIG_NLS_ISO8859_1 is not set
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-CONFIG_NLS_UTF8=y
-
-#
-# Distributed Lock Manager
-#
-# CONFIG_DLM is not set
-
-#
-# Profiling support
-#
-# CONFIG_PROFILING is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_PRINTK_TIME is not set
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-CONFIG_DEBUG_KERNEL=y
-CONFIG_LOG_BUF_SHIFT=17
-CONFIG_DETECT_SOFTLOCKUP=y
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_DEBUG_SLAB is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-CONFIG_DEBUG_SPINLOCK=y
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_RWSEMS is not set
-CONFIG_DEBUG_SPINLOCK_SLEEP=y
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_DEBUG_KOBJECT is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_LIST is not set
-CONFIG_FRAME_POINTER=y
-CONFIG_FORCED_INLINING=y
-# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_DEBUG_ERRORS is not set
-CONFIG_DEBUG_LL=y
-# CONFIG_DEBUG_ICEDCC is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-
-#
-# Cryptographic options
-#
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_HASH=m
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_HMAC=m
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_MD4 is not set
-CONFIG_CRYPTO_MD5=y
-# CONFIG_CRYPTO_SHA1 is not set
-# CONFIG_CRYPTO_SHA256 is not set
-# CONFIG_CRYPTO_SHA512 is not set
-# CONFIG_CRYPTO_WP512 is not set
-# CONFIG_CRYPTO_TGR192 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_ECB is not set
-CONFIG_CRYPTO_CBC=y
-# CONFIG_CRYPTO_LRW is not set
-CONFIG_CRYPTO_DES=y
-# CONFIG_CRYPTO_BLOWFISH is not set
-# CONFIG_CRYPTO_TWOFISH is not set
-# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_AES is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-# CONFIG_CRYPTO_TEA is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_DEFLATE is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_TEST is not set
-
-#
-# Hardware crypto devices
-#
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-# CONFIG_CRC_CCITT is not set
-# CONFIG_CRC16 is not set
-CONFIG_CRC32=y
-# CONFIG_LIBCRC32C is not set
-CONFIG_AUDIT_GENERIC=y
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_PLIST=y
-CONFIG_IOMAP_COPY=y
diff --git a/target/device/xtensa/Config.in b/target/device/xtensa/Config.in
new file mode 100644
index 000000000..0d4408c23
--- /dev/null
+++ b/target/device/xtensa/Config.in
@@ -0,0 +1,21 @@
+menuconfig BR2_TARGET_XTENSA
+ bool "Device and Board Support for Xtensa and Diamond cores"
+ depends on BR2_xtensa
+ default y
+ help
+ Lists development boards with support for the Xtensa architecture.
+
+if BR2_TARGET_XTENSA
+comment "Tensilica Xtensa/Diamond based Device Support"
+ depends on BR2_xtensa
+
+config BR2_TARGET_XTENSA_XTAV60
+ bool "XTAV60/200 board (Avnet LX60 or LX200 plus Tensilica IP)"
+ depends on BR2_xtensa
+ default y
+ help
+ The XTAV60 or XTAV200 board, which is an Avnet LX60 or LX200
+ emulation board programmed with an FPGA bitstream obtained
+ from Tensilica.
+
+endif
diff --git a/target/device/xtensa/Makefile.in b/target/device/xtensa/Makefile.in
new file mode 100644
index 000000000..7c95c239b
--- /dev/null
+++ b/target/device/xtensa/Makefile.in
@@ -0,0 +1,17 @@
+ifeq ($(BR2_xtensa),y)
+
+ifeq ($(strip $(BR2_TARGET_XTENSA_XTAV60)),y)
+# UCLIBC_CONFIG_FILE:=target/device/xtensa/xtav60/uClibc.config
+# BR2_PACKAGE_BUSYBOX_CONFIG:=target/device/xtensa/xtav60/busybox.config
+TARGET_SKELETON_PATCH:=target/device/xtensa
+endif
+
+# Custom device table patch used when targeting ISS:
+OLD_TARGET_DEVICE_TABLE := $(TARGET_DEVICE_TABLE)
+TARGET_DEVICE_TABLE := target/device/xtensa/device_table.txt
+makedevs:
+ @echo "Applying patch to $(TARGET_DEVICE_TABLE)"
+ cp -f $(OLD_TARGET_DEVICE_TABLE) $(TARGET_DEVICE_TABLE)
+ patch -p1 -g 0 < target/device/xtensa/device_table.diff
+
+endif
diff --git a/target/device/xtensa/device_table.diff b/target/device/xtensa/device_table.diff
new file mode 100644
index 000000000..12f682546
--- /dev/null
+++ b/target/device/xtensa/device_table.diff
@@ -0,0 +1,10 @@
+diff --git a/target/generic/device_table.txt b/target/generic/device_table.txt
+index f4b16ba..b87bf69 100644
+--- a/target/device/xtensa/device_table.txt
++++ b/target/device/xtensa/device_table.txt
+@@ -169,3 +169,5 @@
+ #/dev/mcd b 640 0 0 23 0 0 0
+ #/dev/optcd b 640 0 0 17 0 0 0
+
++/dev/simdisk0 b 640 0 0 240 0 0 0
++/dev/simdisk1 b 640 0 0 240 1 0 0
diff --git a/target/device/xtensa/skeleton-patch/etc/inittab b/target/device/xtensa/skeleton-patch/etc/inittab
new file mode 100644
index 000000000..b336ff69c
--- /dev/null
+++ b/target/device/xtensa/skeleton-patch/etc/inittab
@@ -0,0 +1,47 @@
+# /etc/inittab
+#
+# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
+#
+# Note: BusyBox init doesn't support runlevels. The runlevels field is
+# completely ignored by BusyBox init. If you want runlevels, use
+# sysvinit.
+#
+# Format for each entry: <id>:<runlevels>:<action>:<process>
+#
+# id == tty to run on, or empty for /dev/console
+# runlevels == ignored
+# action == one of sysinit, respawn, askfirst, wait, and once
+# process == program to run
+
+# Startup the system
+null::sysinit:/bin/mount -t proc proc /proc
+null::sysinit:/bin/mount -o remount,rw /
+null::sysinit:/bin/mount -a
+null::sysinit:/bin/hostname -F /etc/hostname
+null::sysinit:/sbin/ifconfig lo 127.0.0.1 up
+null::sysinit:/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo
+# now run any rc scripts
+::sysinit:/etc/init.d/rcS
+
+# Set up a couple of getty's
+#tty1::respawn:/sbin/getty 38400 tty1
+#tty2::respawn:/sbin/getty 38400 tty2
+
+# Put a getty on the serial port
+ttyS0::respawn:/sbin/getty -L ttyS0 38400 vt100
+
+# Logging junk
+null::sysinit:/bin/touch /var/log/messages
+null::respawn:/sbin/syslogd -n -m 0
+null::respawn:/sbin/klogd -n
+#tty3::respawn:/usr/bin/tail -f /var/log/messages
+
+# Stuff to do for the 3-finger salute
+::ctrlaltdel:/sbin/reboot
+
+# Stuff to do before rebooting
+null::shutdown:/usr/bin/killall klogd
+null::shutdown:/usr/bin/killall syslogd
+null::shutdown:/bin/umount -a -r
+null::shutdown:/sbin/swapoff -a
+
diff --git a/target/hurd/Config.in b/target/hurd/Config.in
deleted file mode 100644
index 08b9ff7e7..000000000
--- a/target/hurd/Config.in
+++ /dev/null
@@ -1,11 +0,0 @@
-config BR2_PACKAGE_HURD
- bool "Hurd kernel (see helptext)"
- depends on BR2_KERNEL_HURD
- default y
- help
- The GNU/Hurd kernel.
- http://www.gnu.org/software/hurd/
-
- FIXME: Currently not implemented.
-
-
diff --git a/target/hurd/Makefile.in b/target/hurd/Makefile.in
deleted file mode 100644
index 9bd7d9b1c..000000000
--- a/target/hurd/Makefile.in
+++ /dev/null
@@ -1,38 +0,0 @@
-# GNU Hurd kernel
-#
-ifeq ($(BR2_KERNEL_HURD),y)
-
-HURD_MODULE_SITE:= -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd
-MIG_MODULE_NAME:=mig
-MIG_MODULE_VERSION:=cvs
-HURD_MODULE_NAME:=hurd
-HURD_MODULE_VERSION:=cvs
-HURD_CMD_CO=cvs -z3 $(HURD_MODULE_SITE) co
-HURD_CMD_UP:=cvs up -PA -d
-HURD_SRC_DIR:=hurd-$(HURD_MODULE_VERSION)
-MIG_SRC_DIR:=mig-$(MIG_MODULE_VERSION)
-
-$(TOOL_BUILD_DIR)/$(HURD_SRC_DIR)/.unpacked:
- mkdir -p $(@D)
- (cd $(TOOL_BUILD_DIR) && \
- $(HURD_CMD_CO) -d $(HURD_SRC_DIR) $(HURD_MODULE_NAME); \
- )
- touch $@
-
-$(TOOL_BUILD_DIR)/$(MIG_SRC_DIR)/.unpacked:
- mkdir -p $(@D)
- (cd $(TOOL_BUILD_DIR) && \
- $(HURD_CMD_CO) -d $(MIG_SRC_DIR) $(MIG_MODULE_NAME); \
- )
- touch $@
-
-$(TOOL_BUILD_DIR)/$(HURD_SRC_DIR)/.updated: $(TOOL_BUILD_DIR)/$(HURD_SRC_DIR)/.unpacked
- (cd $(@D) && $(HURD_CMD_UP))
-
-$(TOOL_BUILD_DIR)/$(MIG_SRC_DIR)/.updated: $(TOOL_BUILD_DIR)/$(MIG_SRC_DIR)/.unpacked
- (cd $(@D) && $(HURD_CMD_UP))
-
-hurd-source: $(TOOL_BUILD_DIR)/$(HURD_SRC_DIR)/.updated \
- $(TOOL_BUILD_DIR)/$(MIG_SRC_DIR)/.updated
-
-endif
diff --git a/target/iso9660/Config.in b/target/iso9660/Config.in
index 6c580d80d..0b820630a 100644
--- a/target/iso9660/Config.in
+++ b/target/iso9660/Config.in
@@ -1,6 +1,7 @@
config BR2_TARGET_ROOTFS_ISO9660
bool "iso image"
depends on BR2_i386
+ depends on !BR2_KERNEL_none
select BR2_TARGET_ROOTFS_EXT2
select BR2_TARGET_GRUB
select BR2_HOST_FAKEROOT
@@ -16,3 +17,6 @@ config BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU
string "Boot menu.lst file"
depends on BR2_TARGET_ROOTFS_ISO9660
default "target/iso9660/menu.lst"
+
+comment "iso image requires a Linux kernel to be built"
+ depends on BR2_i386 && BR2_KERNEL_none
diff --git a/target/iso9660/iso9660.mk b/target/iso9660/iso9660.mk
index 151970ffd..2525286f6 100644
--- a/target/iso9660/iso9660.mk
+++ b/target/iso9660/iso9660.mk
@@ -7,7 +7,7 @@ MKISOFS_SOURCE:=cdrtools-2.01.tar.bz2
MKISOFS_CAT:=$(BZCAT)
MKISOFS_SITE:=ftp://ftp.berlios.de/pub/cdrecord/
MKISOFS_DIR:=$(BUILD_DIR)/cdrtools-2.01
-MKISOFS_TARGET:=$(MKISOFS_DIR)/mkisofs/OBJ/i686-linux-cc/mkisofs
+MKISOFS_TARGET=$(MKISOFS_DIR)/mkisofs/OBJ/$(HOST_ARCH)-linux-cc/mkisofs
$(DL_DIR)/$(MKISOFS_SOURCE):
$(call DOWNLOAD,$(MKISOFS_SITE),$(MKISOFS_SOURCE))
diff --git a/target/linux/Config.in.advanced b/target/linux/Config.in.advanced
index 3a171b560..a17e41aec 100644
--- a/target/linux/Config.in.advanced
+++ b/target/linux/Config.in.advanced
@@ -33,42 +33,35 @@ source "target/linux/Config.in.versions"
config BR2_KERNEL_PATCH_LEVEL
string
+ default $(BR2_KERNEL_LATEST_2_6_30) if BR2_LINUX_2_6_30 && BR2_KERNEL_ADD_LATEST_MINORPATCH
default $(BR2_KERNEL_LATEST_2_6_29) if BR2_LINUX_2_6_29 && BR2_KERNEL_ADD_LATEST_MINORPATCH
default $(BR2_KERNEL_LATEST_2_6_28) if BR2_LINUX_2_6_28 && BR2_KERNEL_ADD_LATEST_MINORPATCH
default $(BR2_KERNEL_LATEST_2_6_27) if BR2_LINUX_2_6_27 && BR2_KERNEL_ADD_LATEST_MINORPATCH
default $(BR2_KERNEL_LATEST_2_6_26) if BR2_LINUX_2_6_26 && BR2_KERNEL_ADD_LATEST_MINORPATCH
default $(BR2_KERNEL_LATEST_2_6_25) if BR2_LINUX_2_6_25 && BR2_KERNEL_ADD_LATEST_MINORPATCH
default $(BR2_KERNEL_LATEST_2_6_24) if BR2_LINUX_2_6_24 && BR2_KERNEL_ADD_LATEST_MINORPATCH
- default $(BR2_KERNEL_LATEST_2_6_23) if BR2_LINUX_2_6_23 && BR2_KERNEL_ADD_LATEST_MINORPATCH
- default $(BR2_KERNEL_LATEST_2_6_22) if BR2_LINUX_2_6_22 && BR2_KERNEL_ADD_LATEST_MINORPATCH
- default $(BR2_KERNEL_LATEST_2_6_21) if BR2_LINUX_2_6_21 && BR2_KERNEL_ADD_LATEST_MINORPATCH
- default $(BR2_KERNEL_LATEST_2_6_20) if BR2_LINUX_2_6_20 && BR2_KERNEL_ADD_LATEST_MINORPATCH
default "$(BR2_KERNEL_MINORLEVEL)" if BR2_KERNEL_ADD_MINORPATCH
config BR2_KERNEL_NEXT_VERSION
string
+ default "2.6.31" if BR2_LINUX_2_6_30
+ default "2.6.30" if BR2_LINUX_2_6_29
default "2.6.29" if BR2_LINUX_2_6_28
default "2.6.28" if BR2_LINUX_2_6_27
default "2.6.27" if BR2_LINUX_2_6_26
default "2.6.26" if BR2_LINUX_2_6_25
default "2.6.25" if BR2_LINUX_2_6_24
- default "2.6.24" if BR2_LINUX_2_6_23
- default "2.6.23" if BR2_LINUX_2_6_22
- default "2.6.22" if BR2_LINUX_2_6_21
- default "2.6.21" if BR2_LINUX_2_6_20
config BR2_KERNEL_THIS_VERSION
string
+ default "2.6.31" if BR2_LINUX_2_6_31
+ default "2.6.30" if BR2_LINUX_2_6_30
default "2.6.29" if BR2_LINUX_2_6_29
default "2.6.28" if BR2_LINUX_2_6_28
default "2.6.27" if BR2_LINUX_2_6_27
default "2.6.26" if BR2_LINUX_2_6_26
default "2.6.25" if BR2_LINUX_2_6_25
default "2.6.24" if BR2_LINUX_2_6_24
- default "2.6.23" if BR2_LINUX_2_6_23
- default "2.6.22" if BR2_LINUX_2_6_22
- default "2.6.21" if BR2_LINUX_2_6_21
- default "2.6.20" if BR2_LINUX_2_6_20
config BR2_KERNEL_SITE
string
@@ -128,7 +121,11 @@ choice
Select the specific Linux version you want to use
config BR2_LINUX_2_6_STABLE
- bool "The latest stable Linux kernel (2.6.29.4)"
+ bool "The latest stable Linux kernel (2.6.30.2)"
+
+config BR2_LINUX_2_6_30
+ bool "Linux 2.6.30"
+ select BR2_KERNEL_BASE
config BR2_LINUX_2_6_29
bool "Linux 2.6.29"
@@ -154,20 +151,8 @@ config BR2_LINUX_2_6_24
bool "Linux 2.6.24"
select BR2_KERNEL_BASE
-config BR2_LINUX_2_6_23
- bool "Linux 2.6.23"
- select BR2_KERNEL_BASE
-
-config BR2_LINUX_2_6_22
- bool "Linux 2.6.22"
- select BR2_KERNEL_BASE
-
-config BR2_LINUX_2_6_21
- bool "Linux 2.6.21"
- select BR2_KERNEL_BASE
-
-config BR2_LINUX_2_6_20
- bool "Linux 2.6.20"
+config BR2_LINUX_2_6_31
+ bool "Linux 2.6.31"
select BR2_KERNEL_BASE
config BR2_LINUX26_CUSTOM
@@ -178,19 +163,19 @@ endchoice
if BR2_LINUX26_CUSTOM
config BR2_CUSTOM_DOWNLOAD_LINUX26_VERSION
string "Linux Tarball version"
- default "2.6.30"
+ default "2.6.31"
help
Specify any .tar.bz2 file
config BR2_CUSTOM_LINUX26_VERSION
string "Linux Version"
- default "2.6.30"
+ default "2.6.31"
help
Specify what the linux version will be called
config BR2_CUSTOM_LINUX26_PATCH
string "patch name"
- default "patch-2.6.30-rc4.bz2"
+ default "patch-2.6.31-rc4.bz2"
help
Specify a patch to be downloaded
diff --git a/target/linux/Config.in.experimental b/target/linux/Config.in.experimental
deleted file mode 100644
index c75c69b0f..000000000
--- a/target/linux/Config.in.experimental
+++ /dev/null
@@ -1,345 +0,0 @@
-if BR2_KERNEL_LINUX_EXPERIMENTAL
-
-choice
- prompt "Linux Kernel Version"
- depends on BR2_PACKAGE_LINUX
- default BR2_LINUX_2_6_22_1 if !BR2_avr32
- default BR2_LINUX_2_6_22_10 if BR2_avr32
- help
- Select the specific Linux version you want to use
-
-config BR2_LINUX_2_6_SNAP
- bool "The latest snapshot for the stable Linux kernel"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.x-git#
-
-config BR2_LINUX_2_6_MM
- bool "With latest -mm patch for the stable Linux kernel"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.x-rc#-mm#
-
-config BR2_LINUX_2_6_STABLE
- bool "The latest stable Linux kernel (2.6.22.1)"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.22.1
-
-config BR2_LINUX_2_6_22_10
- bool "Linux 2.6.22.10"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.22.10
-
-config BR2_LINUX_2_6_22_1
- bool "Linux 2.6.22.1"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.22.1
-
-config BR2_LINUX_2_6_22
- bool "Linux 2.6.22"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.22
-
-config BR2_LINUX_2_6_21_6
- bool "Linux 2.6.21.6"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.21.6
-
-config BR2_LINUX_2_6_21_1
- bool "Linux 2.6.21.1"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.21.1
-
-config BR2_LINUX_2_6_21
- bool "Linux 2.6.21"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.21
-
-config BR2_LINUX_2_6_20_4
- bool "Linux 2.6.20.4"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.20.4
-
-config BR2_LINUX_2_6_20
- bool "Linux 2.6.20"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.20
-
-config BR2_LINUX_2_6_19_2
- bool "Linux 2.6.19.2"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.19.2
-
-config BR2_LINUX_2_6_19
- bool "Linux 2.6.19"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.19
-
-config BR2_LINUX_2_6_18
- bool "Linux 2.6.18"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.18
-
-config BR2_LINUX_2_6_17
- bool "Linux 2.6.17"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.17
-
-config BR2_LINUX_2_6_16
- bool "Linux 2.6.16"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.16
-
-config BR2_LINUX_2_6_15
- bool "Linux 2.6.15"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.15
-
-config BR2_LINUX_2_6_23
- bool "Linux 2.6.23"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.23
-
-config BR2_LINUX_CUSTOM
- bool "Linux <custom> version"
- depends on BR2_PACKAGE_LINUX
- help
- Linux <your selection>
-
-endchoice
-
-config BR2_CUSTOM_DOWNLOAD_LINUX26_VERSION
- string "Linux Tarball version"
- depends on BR2_LINUX_CUSTOM
- default "linux-2.6.22"
-
-config BR2_CUSTOM_LINUX26_VERSION
- string "Linux Version"
- depends on BR2_LINUX_CUSTOM
- default "linux-2.6.22-version"
-
-config BR2_CUSTOM_LINUX26_RC_PATCH
- string "RC patch (if needed)"
- depends on BR2_LINUX_CUSTOM
- default "patch-2.6.22-rc6-mm1.bz2"
-
-menu "Patches"
- depends on BR2_PACKAGE_LINUX
-
-config BR2_LINUX_BSP_PATCH
- string "Additional patch to apply (supply full path)"
- default ""
-
-endmenu
-
-config BR2_DOWNLOAD_LINUX26_VERSION
- string #"Selected Tarball:"
- default "2.6.15" if BR2_LINUX_2_6_15
- default "2.6.16" if BR2_LINUX_2_6_16
- default "2.6.17" if BR2_LINUX_2_6_17
- default "2.6.18" if BR2_LINUX_2_6_18
- default "2.6.19" if BR2_LINUX_2_6_19
- default "2.6.19.2" if BR2_LINUX_2_6_19_2
- default "2.6.20" if BR2_LINUX_2_6_20
- default "2.6.20.4" if BR2_LINUX_2_6_20_4
- default "2.6.21" if BR2_LINUX_2_6_21
- default "2.6.21.1" if BR2_LINUX_2_6_21_1
- default "2.6.21.6" if BR2_LINUX_2_6_21_6
- default "2.6.22" if BR2_LINUX_2_6_22
- default "2.6.22.1" if BR2_LINUX_2_6_22_1
- default "2.6.22.10" if BR2_LINUX_2_6_22_10
- default "2.6.22" if BR2_LINUX_2_6_23_RC1
- default "2.6.22" if BR2_LINUX_2_6_SNAP
- default "2.6.22" if BR2_LINUX_2_6_MM
- default $(BR2_CUSTOM_DOWNLOAD_LINUX26_VERSION) if BR2_LINUX_CUSTOM
-
-config BR2_LINUX26_VERSION
- string #"Selected Version:"
- default "2.6.15" if BR2_LINUX_2_6_15
- default "2.6.16" if BR2_LINUX_2_6_16
- default "2.6.17" if BR2_LINUX_2_6_17
- default "2.6.18" if BR2_LINUX_2_6_18
- default "2.6.19" if BR2_LINUX_2_6_19
- default "2.6.19.2" if BR2_LINUX_2_6_19_2
- default "2.6.20" if BR2_LINUX_2_6_20
- default "2.6.20.4" if BR2_LINUX_2_6_20_4
- default "2.6.21" if BR2_LINUX_2_6_21
- default "2.6.21.1" if BR2_LINUX_2_6_21_1
- default "2.6.21.6" if BR2_LINUX_2_6_21_6
- default "2.6.22" if BR2_LINUX_2_6_22
- default "2.6.22.1" if BR2_LINUX_2_6_22_1
- default "2.6.22.10" if BR2_LINUX_2_6_22_10
- default "2.6.22" if BR2_LINUX_2_6_23_RC1
- default "2.6.22" if BR2_LINUX_2_6_SNAP
- default "2.6.22" if BR2_LINUX_2_6_MM
- default $(BR2_CUSTOM_LINUX26_VERSION) if BR2_LINUX_CUSTOM
-
-config BR2_LINUX26_RC_PATCH
- string #"Selected Patch:"
- default "" if BR2_LINUX_2_6_15
- default "" if BR2_LINUX_2_6_16
- default "" if BR2_LINUX_2_6_17
- default "" if BR2_LINUX_2_6_18
- default "" if BR2_LINUX_2_6_19
- default "" if BR2_LINUX_2_6_19_2
- default "" if BR2_LINUX_2_6_20
- default "" if BR2_LINUX_2_6_20_4
- default "" if BR2_LINUX_2_6_21
- default "" if BR2_LINUX_2_6_21_1
- default "" if BR2_LINUX_2_6_21_6
- default "" if BR2_LINUX_2_6_22
- default "" if BR2_LINUX_2_6_22_1
- default "" if BR2_LINUX_2_6_22_10
- default "patch-2.6.23-rc1.bz2" if BR2_LINUX_2_6_23_RC1
- default $(BR2_CUSTOM_LINUX26_RC_PATCH) if BR2_LINUX_CUSTOM
-
-choice
- prompt "Linux Kernel Configuration"
- depends on BR2_PACKAGE_LINUX
- default BR2_PACKAGE_LINUX_USE_KCONFIG
- help
- Select the way to configure the Linux
-
-config BR2_PACKAGE_LINUX_USE_KCONFIG
- bool ".config file"
- depends on BR2_PACKAGE_LINUX
- help
- kernel's .config to use to build a kernel for the target.
-
- If the above setting is empty, you can change the default
- board-imposed value by passing LINUX26_KCONFIG=<path> to
- make.
-
-config BR2_LINUX26_DEFCONFIG
- bool "Run make <board>_defconfig "
- depends on BR2_PACKAGE_LINUX
- help
- Configure Linux by make <board>_defconfig
-
-config BR2_LINUX_CUSTOMIZE
- bool "Run make ARCH=$(ARCH) xconfig before build"
- depends on BR2_PACKAGE_LINUX
- help
- Configure Linux by make xconfig
-endchoice
-
-config BR2_PACKAGE_LINUX_KCONFIG
- string ".config file"
- depends on BR2_PACKAGE_LINUX_USE_KCONFIG
- default "$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-linux-$(LINUX26_VERSION).config"
- help
- kernel's .config to use to build a kernel for the target.
-
- If the above setting is empty, you can change the default
- board-imposed value by passing LINUX26_KCONFIG=<path> to
- make.
-
-choice
- prompt "kernel binary format"
- depends on BR2_PACKAGE_LINUX
- default BR2_LINUX_BIN_UIMAGE
- help
- Select the specific Linux binary type you want to use
-
-config BR2_LINUX_BIN_BZIMAGE
- bool "bzImage"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.19.2
-
-config BR2_LINUX_BIN_UIMAGE
- bool "uImage"
- depends on BR2_PACKAGE_LINUX
- help
- Build uImage binary
-
-config BR2_LINUX_BIN_VMLINUX
- bool "vmlinux"
- depends on BR2_PACKAGE_LINUX
- help
- Build vmlinux binary
-
-config BR2_LINUX_BIN_ZIMAGE
- bool "zImage"
- depends on BR2_PACKAGE_LINUX
- help
- Linux 2.6.19.2
-
-config BR2_LINUX_BIN_CUSTOM
- bool "<custom> Linux binary"
- depends on BR2_PACKAGE_LINUX
- help
- Build custom Linux binary format
-endchoice
-
-config BR2_LINUX_BIN_CUSTOM_BIN
- string "custom kernel binary format"
- depends on BR2_LINUX_BIN_CUSTOM
- default ""
- help
- Which Linux binary format?
-
-config BR2_PACKAGE_LINUX_FORMAT
- string #"kernel binary format"
- depends on BR2_PACKAGE_LINUX
- default "bzImage" if BR2_LINUX_BIN_BZIMAGE
- default "uImage" if BR2_LINUX_BIN_UIMAGE
- default "vmlinux" if BR2_LINUX_BIN_VMLINUX
- default "zImage" if BR2_LINUX_BIN_ZIMAGE
- default $(BR2_LINUX_BIN_CUSTOM_BIN) if BR2_LINUX_BIN_CUSTOM
- help
- kernel binary format.
- Popular values include:
- - bzImage
- - zImage
- - vmlinux
- - zImage
- - xipImage
- and other, architecture dependant formats.
-
- Note that the default format is supposed to be set by your
- board-description, if any.
- i386 and compatible default to bzImage if nothing was given
- above.
- If the above setting is empty, you can change the default
- board-imposed value by passing LINUX26_FORMAT=<string> to
- make.
-
-comment "Destinations for linux kernel binaries"
- depends on BR2_PACKAGE_LINUX
-
-config BR2_LINUX_IN_ROOTFS
- bool "Copy kernel to root file system"
- depends on BR2_PACKAGE_LINUX
- help
- Copy kernel to <root>/boot directory
-
-menuconfig BR2_LINUX_COPY
- bool "Secondary Copy"
- depends on BR2_PACKAGE_LINUX
- default y
-
-config BR2_LINUX_COPYTO
- string "also copy the image to..."
- depends on BR2_LINUX_COPY
- default "/tftpboot"
- help
- Copy kernel to secondary location
-
-endif
diff --git a/target/linux/Config.in.versions b/target/linux/Config.in.versions
index a37a5ad93..d71504d46 100644
--- a/target/linux/Config.in.versions
+++ b/target/linux/Config.in.versions
@@ -1,11 +1,11 @@
# This file defines the latest version of
# You also have to edit BR2_LINUX_2_6_STABLE
# in target/linux/Config.in.advanced
-# which is approximately at line 132
+# which is approximately at line 136
config LINUX26_LATEST_RC_VERSION
string
- default "2.6.30-rc4" if BR2_KERNEL_ADD_LATEST_RC_PATCH
+ default "2.6.31-rc4" if BR2_KERNEL_ADD_LATEST_RC_PATCH
help
Not really available as of 20090103
@@ -19,21 +19,25 @@ config LINUX26_LATEST_MM_VERSION
config BR2_KERNEL_CURRENT_VERSION
string
- default "2.6.29.4"
+ default "2.6.30.2"
help
This is the latest stable kernel (including minor version)
+config BR2_KERNEL_LATEST_2_6_30
+ string
+ default "2"
+
config BR2_KERNEL_LATEST_2_6_29
string
- default "4"
+ default "6"
config BR2_KERNEL_LATEST_2_6_28
string
- default "7"
+ default "10"
config BR2_KERNEL_LATEST_2_6_27
string
- default "13"
+ default "27"
config BR2_KERNEL_LATEST_2_6_26
string
@@ -46,19 +50,3 @@ config BR2_KERNEL_LATEST_2_6_25
config BR2_KERNEL_LATEST_2_6_24
string
default "7"
-
-config BR2_KERNEL_LATEST_2_6_23
- string
- default "17"
-
-config BR2_KERNEL_LATEST_2_6_22
- string
- default "19"
-
-config BR2_KERNEL_LATEST_2_6_21
- string
- default "7"
-
-config BR2_KERNEL_LATEST_2_6_20
- string
- default "21"
diff --git a/target/linux/Makefile.in b/target/linux/Makefile.in
index ff0b88e34..3e8bc7b30 100644
--- a/target/linux/Makefile.in
+++ b/target/linux/Makefile.in
@@ -89,11 +89,8 @@ LINUX26_PATCH_DIR:=$(BOARD_PATH)/kernel-patches/
#"))
endif
endif
-__LINUX26_NO_PIC=-fPIC -fpic -DPIC -fwrapv -ftrapv
-__LINUX26_ZERO_OPTIMIZATION=-O0
LINUX26_MAKE_FLAGS = HOSTCC="$(HOSTCC)" HOSTCFLAGS="$(HOSTCFLAGS)" \
ARCH=$(KERNEL_ARCH) \
- CFLAGS_KERNEL="$(filter-out $(__LINUX26_NO_PIC) $(__LINUX26_ZERO_OPTIMIZATION),$(TARGET_CFLAGS))" \
INSTALL_MOD_PATH=$(TARGET_DIR) \
CROSS_COMPILE=$(KERNEL_CROSS) \
LDFLAGS="$(TARGET_LDFLAGS)" \
diff --git a/target/linux/Makefile.in.advanced b/target/linux/Makefile.in.advanced
index 9d878f2b0..47a1f4ebb 100644
--- a/target/linux/Makefile.in.advanced
+++ b/target/linux/Makefile.in.advanced
@@ -190,10 +190,8 @@ LINUX_KERNEL:=$(LINUX26_KERNEL)
# -----------------------------------------------------------------------------
LINUX26_BZCAT:=$(BZCAT)
-__LINUX26_NO_PIC=-fPIC -fpic -DPIC -fwrapv -ftrapv
LINUX26_MAKE_FLAGS = HOSTCC="$(HOSTCC)" HOSTCFLAGS="$(HOSTCFLAGS)" \
ARCH=$(KERNEL_ARCH) \
- CFLAGS_KERNEL="$(filter-out $(__LINUX26_NO_PIC),$(TARGET_CFLAGS))" \
INSTALL_MOD_PATH=$(TARGET_DIR) \
CROSS_COMPILE=$(KERNEL_CROSS) \
LDFLAGS="$(TARGET_LDFLAGS)" \
@@ -549,6 +547,7 @@ linux-status:
@echo LINUX26_SOURCE=$(LINUX26_SOURCE)
@echo LINUX26_TARGETS=$(LINUX26_TARGETS)
@echo LINUX26_VERSION=$(LINUX26_VERSION)
+ @echo LINUX26_MAKE_FLAGS=$(LINUX26_MAKE_FLAGS)
@echo PROJECT_BUILD_DIR=$(PROJECT_BUILD_DIR)
@echo TARGETS=$(TARGETS)
diff --git a/target/xtensa/.gitignore b/target/xtensa/.gitignore
new file mode 100644
index 000000000..cff61bf9e
--- /dev/null
+++ b/target/xtensa/.gitignore
@@ -0,0 +1 @@
+/busybox-config
diff --git a/target/xtensa/Makefile.in b/target/xtensa/Makefile.in
new file mode 100644
index 000000000..8a654b998
--- /dev/null
+++ b/target/xtensa/Makefile.in
@@ -0,0 +1 @@
+-include target/xtensa/*/*.mk
diff --git a/target/xtensa/defconfig b/target/xtensa/defconfig
new file mode 100644
index 000000000..4127f5308
--- /dev/null
+++ b/target/xtensa/defconfig
@@ -0,0 +1,133 @@
+# Default buildroot configuration for running Linux on an Xtensa processor
+# on an LX60 board.
+
+#
+# Project Options
+#
+BR2_BANNER="Welcome to your custom Xtensa processor based uClibc environment."
+BR2_HAVE_DOT_CONFIG=y
+BR2_xtensa=y
+BR2_xtensa_dc232b=y
+BR2_xtensa_core_name="dc232b"
+BR2_ARCH="xtensa"
+
+#
+# Build options
+#
+BR2_WGET="wget --passive-ftp"
+# BR2_STRIP_strip is not set
+# BR2_STRIP_none=y
+
+## Added by Maxim
+BR2_UPDATE_CONFIG=y
+
+#
+# Kernel Header Options
+#
+BR2_KERNEL_none=y
+BR2_KERNEL_HEADERS_2_6_22_1=y
+BR2_DEFAULT_KERNEL_HEADERS="2.6.22.1"
+
+#
+# uClibc Options
+#
+BR2_UCLIBC_VERSION_0_9_30=y
+# BR2_UCLIBC_VERSION_SNAPSHOT is not set
+BR2_UCLIBC_CONFIG="target/xtensa/uClibc-0.9.30.config"
+BR2_PTHREADS_OLD=y
+# BR2_PTHREADS_NATIVE is not set
+BR2_PTHREAD_DEBUG=y
+
+#
+# Binutils Options
+#
+BR2_BINUTILS_VERSION_2_19=y
+BR2_BINUTILS_VERSION="2.19"
+BR2_EXTRA_BINUTILS_CONFIG_OPTIONS=""
+
+#
+# Gcc Options
+#
+BR2_GCC_VERSION_4_3_2=y
+# BR2_GCC_IS_SNAP is not set
+BR2_GCC_VERSION="4.3.2"
+BR2_TOOLCHAIN_SYSROOT=y
+BR2_EXTRA_GCC_CONFIG_OPTIONS=""
+BR2_GCC_CROSS_CXX=y
+BR2_INSTALL_LIBSTDCPP=y
+BR2_GCC_SHARED_LIBGCC=y
+
+#
+# Gdb Options
+#
+BR2_PACKAGE_GDB=y
+BR2_PACKAGE_GDB_SERVER=y
+BR2_PACKAGE_GDB_HOST=y
+# BR2_GDB_VERSION_6_2_1 is not set
+# BR2_GDB_VERSION_6_3 is not set
+# BR2_GDB_VERSION_6_4 is not set
+# BR2_GDB_VERSION_6_5 is not set
+# BR2_GDB_VERSION_6_6 is not set
+# BR2_GDB_VERSION_6_7_1 is not set
+BR2_GDB_VERSION_6_8=y
+# BR2_GDB_VERSION_SNAPSHOT is not set
+BR2_GDB_VERSION="6.8"
+
+#
+# Common Toolchain Options
+#
+# BR2_PACKAGE_SSTRIP_TARGET is not set
+# BR2_PACKAGE_SSTRIP_HOST is not set
+# BR2_ENABLE_MULTILIB is not set
+BR2_LARGEFILE=y
+BR2_INET_RPC=y
+BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
+
+
+## These two added by Maxim
+BR2_TOOLCHAIN_BUILDROOT=y
+BR2_TOOLCHAIN_SOURCE=y
+
+
+BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
+
+#
+# Other development stuff
+#
+BR2_HOST_FAKEROOT=y
+# BR2_PACKAGE_LIBINTL is not set
+# For NFS mount:
+BR2_PACKAGE_PORTMAP=y
+
+#
+# Other stuff
+#
+
+#
+# filesystem for target device
+#
+BR2_TARGET_ROOTFS_CPIO=y
+BR2_TARGET_ROOTFS_CPIO_GZIP=y
+BR2_TARGET_ROOTFS_INITRAMFS=y
+
+#
+# Linux Options
+#
+# BR2_PACKAGE_LINUX is not set
+
+#
+# Board Support Options
+#
+BR2_TARGET_XTENSA=y
+
+#
+# Tensilica Xtensa/Diamond based Device Support
+#
+BR2_TARGET_XTENSA_XTAV60=y
+
+#
+# Compressors / decompressors
+#
+
+BR2_PACKAGE_ZLIB=y
diff --git a/target/xtensa/patch.in b/target/xtensa/patch.in
new file mode 100644
index 000000000..5b723a8b4
--- /dev/null
+++ b/target/xtensa/patch.in
@@ -0,0 +1,33 @@
+ifneq ($(filter xtensa%,$(ARCH)),)
+#############################################################
+#
+# Xtensa processor architecture (including Diamond Standard cores)
+#
+#############################################################
+
+# The following defines a function to be used like this:
+# $(call XTENSA_PATCH, <module>, <patchdir>, <relative dir list...>)
+# which returns the first overlay patch file for <module> found
+# in the list of directories <relative dir list...> which are
+# relative to <patchdir> (itself either absolute or relative to the
+# current directory). The returned filename is relative to <patchdir>.
+# For example:
+# $(call XTENSA_PATCH, binutils, some/dir/path, . ..)
+# (no commas between directory paths in the list).
+#
+# A selected overlay patch must exist ("fsf" means no specific
+# overlay is selected). So the function emits a Makefile error
+# if a selected patch file is not found.
+
+XTENSA_CORENAME:=$(strip $(subst ",,$(BR2_xtensa_core_name)))
+ifeq ($(XTENSA_CORENAME),fsf)
+XTENSA_PATCH =
+else
+XTENSA_PATCH_SUFFIX = $(1)-xtensa_$(XTENSA_CORENAME).tgz
+XTENSA_PATCH_FILE = $(firstword $(wildcard $(patsubst %,$(2)/%/*$(XTENSA_PATCH_SUFFIX),$(3))))
+# FULLPATH = $(if $(filter /%,$(1)),$(1),$(PWD)/$(1))
+XTENSA_PATCH = $(if $(XTENSA_PATCH_FILE),$(patsubst $(2)/%,%,$(XTENSA_PATCH_FILE)),\
+ $(error Missing $(1) patch for Xtensa $(XTENSA_CORENAME) processor (*$(XTENSA_PATCH_SUFFIX) in $(addprefix $(2)/,$(3)))))
+endif
+
+endif
diff --git a/target/xtensa/setup-config b/target/xtensa/setup-config
new file mode 100644
index 000000000..7ef8fe86e
--- /dev/null
+++ b/target/xtensa/setup-config
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+# Convenience script for setting up a default buildroot config
+# for Xtensa processor targets..
+
+usage() {
+ echo "Usage (invoke from top of buildroot tree):"
+ echo " ./target/xtensa/setup-config <corename>"
+ #echo " ./target/xtensa/setup-config <corename> [<overlaypath>]"
+ echo "where:"
+ echo " <corename> is the Xtensa core overlay name, as specified in the -c option"
+ echo " of the ./target/xtensa/xt-buildroot-overlay-install script."
+ echo ""
+ echo "For example:"
+ echo " ./target/xtensa/setup-config dc232b"
+ echo ""
+ echo "Currently installed (available) core overlay names are:"
+ echo " " `ls toolchain/binutils/binutils-xtensa_*.tgz | sed -e 's,toolchain\/binutils\/binutils-xtensa_\(.*\)\.tgz,\1,g'`
+ exit 1
+}
+
+if [ $# -ne 1 ]; then
+ usage
+fi
+
+core=$1 ; shift
+
+if [ ! -f toolchain/binutils/binutils-xtensa_${core}.tgz \
+ -o ! -f toolchain/gcc/gcc-xtensa_${core}.tgz \
+ -o ! -f toolchain/gdb/gdb-xtensa_${core}.tgz ]; then
+ echo "ERROR: Did not find an installed Xtensa core overlay named '${core}'."
+ echo "ERROR: Please install it first with ./target/xtensa/xt-buildroot-overlay-install"
+ echo ""
+ usage
+fi
+
+# Use preset buildroot config:
+cp target/xtensa/defconfig .defconfig-xtensa
+# Set core name:
+sed -i -e 's,^BR2_xtensa_\(.*\)=y,BR2_xtensa_custom=y\nBR2_xtensa_custom_name="'${core}'",' .defconfig-xtensa
+## sed -i -e 's,^.*BR2_xtensa_core_name.*,BR_xtensa_core_name="'${core}'",' .defconfig-xtensa
+# Create full .config with defaults:
+make clean defconfig CONFIG_DEFCONFIG=.defconfig-xtensa || exit 1
+
+# Busybox adjustments: turn off 'ar' (can't create archives yet overrides real one)
+# and turn on NFS mounting (Xtensa defconfig turns on RPC so this can work):
+#
+bborig=`grep '^BR2_PACKAGE_BUSYBOX_CONFIG=' .config | sed -e 's,.*"\(.*\)".*,\1,'`
+bbconf=target/xtensa/busybox-config
+cp $bborig $bbconf
+sed -i -e 's,^CONFIG_AR=y,# CONFIG_AR is not set,' $bbconf
+sed -i -e 's,^.*CONFIG_FEATURE_MOUNT_NFS.*,CONFIG_FEATURE_MOUNT_NFS=y,' $bbconf
+# Make use of above busybox adjustments:
+sed -i -e 's,.*\(BR2_PACKAGE_BUSYBOX_CONFIG\).*,\1="'$bbconf'",' .config
+
+echo "Done."
+
diff --git a/target/xtensa/uClibc-0.9.30.config b/target/xtensa/uClibc-0.9.30.config
new file mode 100644
index 000000000..cc6815d07
--- /dev/null
+++ b/target/xtensa/uClibc-0.9.30.config
@@ -0,0 +1,245 @@
+#
+# Automatically generated make config: don't edit
+# Thu Jan 23 14:50:00 2009
+#
+# TARGET_alpha is not set
+# TARGET_arm is not set
+# TARGET_avr32 is not set
+# TARGET_bfin is not set
+# TARGET_cris is not set
+# TARGET_e1 is not set
+# TARGET_frv is not set
+# TARGET_h8300 is not set
+# TARGET_hppa is not set
+# TARGET_i386 is not set
+# TARGET_i960 is not set
+# TARGET_ia64 is not set
+# TARGET_m68k is not set
+# TARGET_microblaze is not set
+# TARGET_mips is not set
+# TARGET_nios is not set
+# TARGET_nios2 is not set
+# TARGET_powerpc is not set
+# TARGET_sh is not set
+# TARGET_sh64 is not set
+# TARGET_sparc is not set
+# TARGET_v850 is not set
+# TARGET_vax is not set
+# TARGET_x86_64 is not set
+TARGET_xtensa=y
+
+#
+# Target Architecture Features and Options
+#
+TARGET_ARCH="xtensa"
+FORCE_OPTIONS_FOR_ARCH=y
+# ARCH_LITTLE_ENDIAN is not set
+# ARCH_BIG_ENDIAN is not set
+# ARCH_WANTS_LITTLE_ENDIAN is not set
+# ARCH_WANTS_BIG_ENDIAN is not set
+
+#
+# Using ELF file format
+#
+ARCH_HAS_MMU=y
+ARCH_USE_MMU=y
+UCLIBC_HAS_FLOATS=y
+UCLIBC_HAS_FPU=y
+DO_C99_MATH=y
+# UCLIBC_HAS_FENV is not set
+UCLIBC_HAS_LONG_DOUBLE_MATH=y
+KERNEL_HEADERS="/usr/src/linux/include"
+HAVE_DOT_CONFIG=y
+
+#
+# General Library Settings
+#
+# HAVE_NO_PIC is not set
+DOPIC=y
+# ARCH_HAS_NO_SHARED is not set
+# ARCH_HAS_NO_LDSO is not set
+HAVE_SHARED=y
+# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
+LDSO_LDD_SUPPORT=y
+LDSO_CACHE_SUPPORT=y
+# LDSO_PRELOAD_FILE_SUPPORT is not set
+LDSO_BASE_FILENAME="ld.so"
+# UCLIBC_STATIC_LDCONFIG is not set
+# LDSO_RUNPATH is not set
+UCLIBC_CTOR_DTOR=y
+# LDSO_GNU_HASH_SUPPORT is not set
+# HAS_NO_THREADS is not set
+UCLIBC_HAS_THREADS=y
+PTHREADS_DEBUG_SUPPORT=y
+LINUXTHREADS_OLD=y
+UCLIBC_HAS_SYSLOG=y
+UCLIBC_HAS_LFS=y
+# MALLOC is not set
+# MALLOC_SIMPLE is not set
+MALLOC_STANDARD=y
+MALLOC_GLIBC_COMPAT=y
+UCLIBC_DYNAMIC_ATEXIT=y
+# COMPAT_ATEXIT is not set
+UCLIBC_SUSV3_LEGACY=y
+UCLIBC_SUSV3_LEGACY_MACROS=y
+# UCLIBC_HAS_STUBS is not set
+UCLIBC_HAS_SHADOW=y
+# UCLIBC_HAS_PROGRAM_INVOCATION_NAME is not set
+UCLIBC_HAS___PROGNAME=y
+UCLIBC_HAS_PTY=y
+UNIX98PTY_ONLY=y
+# UCLIBC_HAS_GETPT is not set
+ASSUME_DEVPTS=y
+UCLIBC_HAS_TM_EXTENSIONS=y
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
+
+#
+# Advanced Library Settings
+#
+UCLIBC_PWD_BUFFER_SIZE=256
+UCLIBC_GRP_BUFFER_SIZE=256
+UCLIBC_HAS_NONREENTRANT=y
+
+#
+# Networking Support
+#
+
+UCLIBC_LINUX_MODULE_24=y
+UCLIBC_LINUX_SPECIFIC=y
+UCLIBC_HAS_GNU_ERROR=y
+UCLIBC_BSD_SPECIFIC=y
+UCLIBC_HAS_BSD_ERR=y
+UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL=y
+# UCLIBC_NTP_LEGACY is not set
+# UCLIBC_SV4_DEPRECATED is not set
+UCLIBC_HAS_REALTIME=y
+UCLIBC_HAS_ADVANCED_REALTIME=y
+UCLIBC_HAS_EPOLL=y
+UCLIBC_HAS_XATTR=y
+UCLIBC_HAS_PROFILING=y
+UCLIBC_HAS_CRYPT_IMPL=y
+UCLIBC_HAS_CRYPT=y
+UCLIBC_HAS_NETWORK_SUPPORT=y
+UCLIBC_HAS_SOCKET=y
+UCLIBC_HAS_IPV4=y
+UCLIBC_HAS_IPV6=y
+UCLIBC_HAS_RPC=y
+UCLIBC_HAS_FULL_RPC=y
+UCLIBC_HAS_REENTRANT_RPC=y
+UCLIBC_USE_NETLINK=y
+# UCLIBC_SUPPORT_AI_ADDRCONFIG is not set
+# UCLIBC_HAS_BSD_RES_CLOSE is not set
+
+
+#
+# String and Stdio Support
+#
+# UCLIBC_HAS_STRING_GENERIC_OPT is not set
+# UCLIBC_HAS_STRING_ARCH_OPT is not set
+UCLIBC_HAS_CTYPE_TABLES=y
+UCLIBC_HAS_CTYPE_SIGNED=y
+# UCLIBC_HAS_CTYPE_UNSAFE is not set
+# UCLIBC_HAS_CTYPE_CHECKED is not set
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
+# UCLIBC_HAS_WCHAR is not set
+# UCLIBC_HAS_LOCALE is not set
+UCLIBC_HAS_HEXADECIMAL_FLOATS=y
+UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
+# USE_OLD_VFPRINTF is not set
+UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
+UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
+# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
+UCLIBC_HAS_STDIO_BUFSIZ_4096=y
+# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
+UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
+# UCLIBC_HAS_STDIO_GETC_MACRO is not set
+# UCLIBC_HAS_STDIO_PUTC_MACRO is not set
+UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
+# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
+UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
+UCLIBC_HAS_PRINTF_M_SPEC=y
+UCLIBC_HAS_ERRNO_MESSAGES=y
+# UCLIBC_HAS_SYS_ERRLIST is not set
+UCLIBC_HAS_SIGNUM_MESSAGES=y
+# UCLIBC_HAS_SYS_SIGLIST is not set
+UCLIBC_HAS_GNU_GETOPT=y
+# UCLIBC_HAS_GNU_GETSUBOPT is not set
+
+#
+# Big and Tall
+#
+UCLIBC_HAS_REGEX=y
+# UCLIBC_HAS_REGEX_OLD is not set
+UCLIBC_HAS_FNMATCH=y
+# UCLIBC_HAS_FNMATCH_OLD is not set
+# UCLIBC_HAS_WORDEXP is not set
+UCLIBC_HAS_FTW=y
+UCLIBC_HAS_GLOB=y
+UCLIBC_HAS_GNU_GLOB=y
+
+#
+# Library Installation Options
+#
+SHARED_LIB_LOADER_PREFIX="/lib"
+RUNTIME_PREFIX="/"
+DEVEL_PREFIX="/usr/"
+
+#
+# Security options
+#
+# UCLIBC_BUILD_PIE is not set
+UCLIBC_HAS_ARC4RANDOM=y
+# HAVE_NO_SSP is not set
+# UCLIBC_HAS_SSP is not set
+UCLIBC_BUILD_RELRO=y
+UCLIBC_BUILD_NOW=y
+# UCLIBC_BUILD_NOEXECSTACK is not set
+
+#
+# uClibc development/debugging options
+#
+CROSS_COMPILER_PREFIX=""
+UCLIBC_EXTRA_CFLAGS=""
+# DODEBUG is not set
+# DODEBUG_PT is not set
+DOSTRIP=y
+# DOASSERTS is not set
+# SUPPORT_LD_DEBUG is not set
+# SUPPORT_LD_DEBUG_EARLY is not set
+# UCLIBC_MALLOC_DEBUGGING is not set
+WARNINGS="-Wall"
+# EXTRA_WARNINGS is not set
+# DOMULTI is not set
+# UCLIBC_MJN3_ONLY is not set
+
+# USE_BX is not set
+# CONFIG_GENERIC_ARM is not set
+# CONFIG_ARM610 is not set
+# CONFIG_ARM710 is not set
+# CONFIG_ARM7TDMI is not set
+# CONFIG_ARM720T is not set
+# CONFIG_ARM920T is not set
+# CONFIG_ARM922T is not set
+# CONFIG_ARM926T is not set
+# CONFIG_ARM10T is not set
+# CONFIG_ARM1136JF_S is not set
+# CONFIG_ARM1176JZ_S is not set
+# CONFIG_ARM1176JZF_S is not set
+# CONFIG_ARM_CORTEX_M3 is not set
+# CONFIG_ARM_CORTEX_M1 is not set
+# CONFIG_ARM_SA110 is not set
+# CONFIG_ARM_SA1100 is not set
+# CONFIG_ARM_XSCALE is not set
+# CONFIG_ARM_IWMMXT is not set
diff --git a/target/xtensa/uClibc.config b/target/xtensa/uClibc.config
new file mode 100644
index 000000000..546a04534
--- /dev/null
+++ b/target/xtensa/uClibc.config
@@ -0,0 +1,190 @@
+#
+# Automatically generated make config: don't edit
+# Thu Jan 10 00:46:51 2008
+#
+# TARGET_alpha is not set
+# TARGET_arm is not set
+# TARGET_avr32 is not set
+# TARGET_bfin is not set
+# TARGET_cris is not set
+# TARGET_e1 is not set
+# TARGET_frv is not set
+# TARGET_h8300 is not set
+# TARGET_hppa is not set
+# TARGET_i386 is not set
+# TARGET_i960 is not set
+# TARGET_ia64 is not set
+# TARGET_m68k is not set
+# TARGET_microblaze is not set
+# TARGET_mips is not set
+# TARGET_nios is not set
+# TARGET_nios2 is not set
+# TARGET_powerpc is not set
+# TARGET_sh is not set
+# TARGET_sh64 is not set
+# TARGET_sparc is not set
+# TARGET_v850 is not set
+# TARGET_vax is not set
+# TARGET_x86_64 is not set
+TARGET_xtensa=y
+
+#
+# Target Architecture Features and Options
+#
+TARGET_ARCH="xtensa"
+TARGET_SUBARCH=""
+
+#
+# Using ELF file format
+#
+ARCH_HAS_MMU=y
+ARCH_USE_MMU=y
+UCLIBC_HAS_FLOATS=y
+UCLIBC_HAS_FPU=y
+DO_C99_MATH=y
+KERNEL_HEADERS="/usr/src/linux/include"
+HAVE_DOT_CONFIG=y
+
+#
+# General Library Settings
+#
+# HAVE_NO_PIC is not set
+DOPIC=y
+# HAVE_NO_SHARED is not set
+# ARCH_HAS_NO_LDSO is not set
+HAVE_SHARED=y
+# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
+LDSO_LDD_SUPPORT=y
+LDSO_CACHE_SUPPORT=y
+# LDSO_PRELOAD_FILE_SUPPORT is not set
+LDSO_BASE_FILENAME="ld.so"
+# UCLIBC_STATIC_LDCONFIG is not set
+# LDSO_RUNPATH is not set
+UCLIBC_CTOR_DTOR=y
+# HAS_NO_THREADS is not set
+UCLIBC_HAS_THREADS=y
+PTHREADS_DEBUG_SUPPORT=y
+LINUXTHREADS_OLD=y
+UCLIBC_HAS_LFS=y
+# MALLOC is not set
+# MALLOC_SIMPLE is not set
+MALLOC_STANDARD=y
+MALLOC_GLIBC_COMPAT=y
+UCLIBC_DYNAMIC_ATEXIT=y
+# COMPAT_ATEXIT is not set
+# UCLIBC_SUSV3_LEGACY is not set
+UCLIBC_SUSV3_LEGACY_MACROS=y
+UCLIBC_HAS_SHADOW=y
+# UCLIBC_HAS_PROGRAM_INVOCATION_NAME is not set
+UCLIBC_HAS___PROGNAME=y
+# UNIX98PTY_ONLY is not set
+ASSUME_DEVPTS=y
+UCLIBC_HAS_TM_EXTENSIONS=y
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
+
+#
+# Advanced Library Settings
+#
+UCLIBC_PWD_BUFFER_SIZE=256
+UCLIBC_GRP_BUFFER_SIZE=256
+
+#
+# Networking Support
+#
+UCLIBC_HAS_IPV6=y
+UCLIBC_HAS_RPC=y
+UCLIBC_HAS_FULL_RPC=y
+UCLIBC_HAS_REENTRANT_RPC=y
+# UCLIBC_USE_NETLINK is not set
+# UCLIBC_HAS_BSD_RES_CLOSE is not set
+
+#
+# String and Stdio Support
+#
+UCLIBC_HAS_STRING_GENERIC_OPT=y
+UCLIBC_HAS_STRING_ARCH_OPT=y
+UCLIBC_HAS_CTYPE_TABLES=y
+UCLIBC_HAS_CTYPE_SIGNED=y
+# UCLIBC_HAS_CTYPE_UNSAFE is not set
+UCLIBC_HAS_CTYPE_CHECKED=y
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
+# UCLIBC_HAS_WCHAR is not set
+# UCLIBC_HAS_LOCALE is not set
+UCLIBC_HAS_HEXADECIMAL_FLOATS=y
+UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
+# USE_OLD_VFPRINTF is not set
+UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
+UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
+# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
+UCLIBC_HAS_STDIO_BUFSIZ_4096=y
+# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
+UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
+UCLIBC_HAS_STDIO_GETC_MACRO=y
+UCLIBC_HAS_STDIO_PUTC_MACRO=y
+UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
+# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
+UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
+UCLIBC_HAS_PRINTF_M_SPEC=y
+UCLIBC_HAS_ERRNO_MESSAGES=y
+# UCLIBC_HAS_SYS_ERRLIST is not set
+UCLIBC_HAS_SIGNUM_MESSAGES=y
+# UCLIBC_HAS_SYS_SIGLIST is not set
+UCLIBC_HAS_GNU_GETOPT=y
+UCLIBC_HAS_GNU_GETSUBOPT=y
+
+#
+# Big and Tall
+#
+UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_REGEX_OLD=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_FNMATCH_OLD=y
+# UCLIBC_HAS_WORDEXP is not set
+UCLIBC_HAS_FTW=y
+UCLIBC_HAS_GLOB=y
+UCLIBC_HAS_GNU_GLOB=y
+
+#
+# Library Installation Options
+#
+SHARED_LIB_LOADER_PREFIX="/lib"
+RUNTIME_PREFIX="/"
+DEVEL_PREFIX="/usr/"
+
+#
+# Security options
+#
+# UCLIBC_HAS_ARC4RANDOM is not set
+# HAVE_NO_SSP is not set
+# UCLIBC_HAS_SSP is not set
+UCLIBC_BUILD_RELRO=y
+UCLIBC_BUILD_NOW=y
+# UCLIBC_BUILD_NOEXECSTACK is not set
+
+#
+# uClibc development/debugging options
+#
+CROSS_COMPILER_PREFIX=""
+UCLIBC_EXTRA_CFLAGS=""
+# DODEBUG is not set
+# DOSTRIP is not set
+# DODEBUG_PT is not set
+# DOASSERTS is not set
+SUPPORT_LD_DEBUG=y
+# SUPPORT_LD_DEBUG_EARLY is not set
+# UCLIBC_MALLOC_DEBUGGING is not set
+WARNINGS="-Wall"
+EXTRA_WARNINGS=y
+# DOMULTI is not set
+# UCLIBC_MJN3_ONLY is not set
diff --git a/target/xtensa/xt-buildroot-overlay-install b/target/xtensa/xt-buildroot-overlay-install
new file mode 100644
index 000000000..d2afce124
--- /dev/null
+++ b/target/xtensa/xt-buildroot-overlay-install
@@ -0,0 +1,488 @@
+#!/bin/sh
+# Not every host installs perl at the same location, handle many locations:
+PATH=/usr/bin:/usr/local/bin:$PATH
+exec perl -x -S $0 ${1+"$@"}
+exit $?
+#!perl -w
+#line 8
+
+# xt-buildroot-overlay-install [-t overlay_tarball] [-b buildroot_dir] \
+# [-k kernel_dir] \
+# [-c config_name] [-l long_name] [-f] [--help]
+#
+# Creates individual overlay tarballs for gcc, binutils, gdb, and
+# the Linux kernel, out of the Xtensa Configuration Overlay tarball from
+# a Tensilica Core Package. And installs these individual tarballs
+# at the appropriate locations within a buildroot source tree.
+#
+# The Xtensa configuration overlay tarball is located in:
+# <xtensa_root>/src/xtensa-config-overlay.tar.gz
+# where <xtensa_root> is the path to the Tensilica Core Package.
+#
+# Copyright (c) 2003-2009 by Tensilica Inc.
+# History:
+# 2007-NOV-08 1.0 meg Initial version
+# 2007-NOV-21 1.1 meg Add -k parameter
+# 2007-DEC-06 1.2 meg Make -k and -b optional, check overlay sw vers.
+# 2008-FEB-27 1.3 meg Accept Xtensa Tools RB-2008.3 overlays
+
+$progvers = "1.3";
+$progname = $0;
+$progname =~ s|.*[/\\:]||;
+
+
+######################################################################
+#
+# Parse cmdline
+#
+
+my $overlay_tarball = undef;
+my $buildroot_dir = undef;
+my $kernel_dir = undef;
+my $config_name = undef;
+my $config_long_name = undef;
+my $force_clobber = 0;
+my $prompt = 1; # undocumented option
+
+sub usage {
+ print "$progname version $progvers\n"
+ ."Usage: $progname <parameters> [<options>]\n"
+ ."Where <parameters> are:\n"
+ ." -t file.tgz Specify path to the Xtensa Linux overlay tarball, typically\n"
+ ." <xtensa_root>/src/xtensa-config-overlay.tar.gz\n"
+ ." -b dir Path to the base of the buildroot source tree, in which\n"
+ ." package specific overlay tarballs get installed.\n"
+ ." -k dir Path to the base of the Linux kernel source tree, in which\n"
+ ." the Linux kernel specific overlay gets installed.\n"
+ ." -c config_name Name for the Xtensa processor configuration as it will be\n"
+ ." known to the open source community. Must be a lowercase\n"
+ ." identifier, starting with a letter, consisting of letters\n"
+ ." and numbers and underscores, not ending with underscore\n"
+ ." and not containing consecutive underscores. For examples:\n"
+ ." dc232b , dc232b_be , mmubasele , fsf , s5000 .\n"
+ ." -l long_name Long name for the Xtensa processor configuration, human-\n"
+ ." readable with spaces etc allowed (must be quoted).\n"
+ ." For example: 'Diamond 232L Standard Core Rev.B (LE)'\n"
+ ." Try to keep it within approximately 40 characters.\n"
+ ."And <options> are:\n"
+ ." -f If package specific overlay tarballs already exist in\n"
+ ." the destination source tree, overwrite them without asking.\n"
+ ." --help Show this usage message.\n";
+}
+
+# Get arguments:
+if (!@ARGV) {
+ usage();
+ exit 0;
+}
+while( defined($_ = shift) ) {
+ if( /^-[tbclk]$/ ) { # option taking an argument
+ my $arg = shift;
+ if( !defined($arg) ) {
+ print STDERR "$progname: ERROR: missing parameter after '$_' option\n\n";
+ usage();
+ exit 1;
+ }
+ $overlay_tarball = $arg if $_ eq "-t";
+ $buildroot_dir = $arg if $_ eq "-b";
+ $kernel_dir = $arg if $_ eq "-k";
+ $config_name = $arg if $_ eq "-c";
+ $config_long_name = $arg if $_ eq "-l";
+ next;
+ }
+ if( /^-f$/ ) {
+ $force_clobber = 1;
+ next;
+ }
+ if( /^--[m-t]{8}$/ && /[new]([wow])([pup])[fur]\1[maze]\2[tuff]/ ) {
+ $prompt = 0;
+ next;
+ }
+ if( /^-(h|help|\-h|\-help|\?)$/i ) {
+ usage();
+ exit 0;
+ }
+ print STDERR "$progname: ERROR: unrecognized option or argument '$_'\n\n";
+ usage();
+ exit 1;
+}
+
+
+######################################################################
+#
+# Validate cmdline arguments
+#
+
+ErrorU("missing -c argument (core name)")
+ unless defined($config_name);
+# Try to enforce reasonable names:
+ErrorU("-c: malformed core name '$config_name' (must be lowercase, letter followed by letters/digits, may contain underscore separators)")
+ unless $config_name =~ /^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;
+ErrorU("-c: core name too short '$config_name'")
+ unless length($config_name) >= 2;
+ErrorU("-c: core name too long '$config_name'")
+ unless length($config_name) <= 16;
+
+
+ErrorU("missing -l argument (core long name)")
+ unless defined($config_long_name);
+$config_long_name =~ s/^\s+//; # trim extra whitespace...
+$config_long_name =~ s/\s+$//;
+$config_long_name =~ s/\s+/ /g;
+# Try to enforce reasonable names:
+ErrorU("-l: invalid (non-ASCII-printable) characters in core long name '$config_long_name'")
+ unless $config_long_name =~ /^[\x20-\x7E]+$/;
+ErrorU("-l: disallowed characters (\"\'\\) in core long name '$config_long_name'")
+ if $config_long_name =~ /[\'\"\\]/;
+ErrorU("-l: core long name too short '$config_long_name'")
+ unless length($config_long_name) >= 5;
+ErrorU("-l: core long name too long '$config_long_name'")
+ unless length($config_long_name) <= 60;
+
+
+#ErrorU("missing -b argument (buildroot source tree directory)")
+# unless defined($buildroot_dir);
+if (defined($buildroot_dir)) {
+ ErrorU("-b: not a directory: $buildroot_dir")
+ unless -d $buildroot_dir;
+ foreach my $p ("toolchain/gcc", "toolchain/binutils", "toolchain/gdb", "target/xtensa") {
+ ErrorU("-b: not a buildroot directory: missing $buildroot_dir/$p")
+ unless -d $buildroot_dir . "/" . $p;
+ }
+}
+
+
+#ErrorU("missing -k argument (Linux kernel source tree directory)")
+# unless defined($kernel_dir);
+if (defined($kernel_dir)) {
+ ErrorU("-k: not a directory: $kernel_dir")
+ unless -d $kernel_dir;
+ foreach my $p ("kernel", "arch/xtensa/kernel", "include/asm-xtensa") {
+ ErrorU("-k: not a Linux kernel directory: missing $kernel_dir/$p")
+ unless -d $kernel_dir . "/" . $p;
+ }
+}
+
+
+if (!defined($buildroot_dir) and !defined($kernel_dir)) {
+ print STDERR "$progname: WARNING:\n";
+ print STDERR "$progname: WARNING: Test run only, NOTHING WILL BE INSTALLED\n";
+ print STDERR "$progname: WARNING: (use -b and -k to specify install destination)\n";
+ print STDERR "$progname: WARNING:\n";
+}
+
+
+my @ovpaths = ( "/src/xtensa-config-overlay.tar.gz",
+ "/xtensa-elf/src/linux/misc/linux-overlay.tar.gz" );
+if (!defined($overlay_tarball)) {
+ # Try to locate the overlay tarball based on XTENSA_SYSTEM and XTENSA_CORE
+ # settings:
+ my $xtensa_root = `xt-xcc --show-config=config 2>/dev/null`;
+ $xtensa_root = "" unless defined($xtensa_root);
+ chomp($xtensa_root);
+ if ($xtensa_root ne "") {
+ ($overlay_tarball) = grep(-f $xtensa_root.$_, @ovpaths);
+ if (!defined($overlay_tarball)) {
+ ErrorU("Xtensa configuration overlay tarball not found: ".$xtensa_root.$ovpaths[0])
+ }
+ } else {
+ ErrorU("missing -t argument (Xtensa configuration overlay tarball filename)\n"
+ ."and no default Xtensa Core Package defined in the environment");
+ }
+} else {
+ foreach my $p ("", @ovpaths) {
+ if (-f $overlay_tarball.$p) {
+ $overlay_tarball .= $p;
+ last;
+ }
+ }
+ ErrorU("-t: file not found: $overlay_tarball") unless -f $overlay_tarball;
+}
+
+
+######################################################################
+#
+# Misc
+#
+
+my $overlay_unpacked = 0;
+my $ovdir;
+
+sub cleanup {
+ if ($overlay_unpacked) {
+ system("rm -rf '$ovdir' 2>/dev/null");
+ }
+}
+
+sub ErrorEmit {
+ my ($msg,$usage) = @_;
+ $msg =~ s|\n|"\n${progname}: ERROR: "|ge;
+ print STDERR "$progname: ERROR: $msg\n";
+ if ($usage) {
+ print "\n";
+ usage();
+ }
+ cleanup();
+ exit 1;
+}
+sub ErrorU { ErrorEmit(shift,1); }
+sub Error { ErrorEmit(shift); }
+
+
+# Read specified file (as binary), returning contents.
+#
+sub readfile {
+ my ($filename) = @_;
+ # Read the file:
+ open(INFILE,"<$filename") or Error("error reading from '$filename': $!");
+ my $savesep = $/;
+ undef $/;
+ my $file = <INFILE>;
+ $/ = $savesep;
+ close(INFILE);
+ $file;
+}
+
+# Write specified file (as binary) with first argument (string).
+#
+sub writefile {
+ my ($filename, $file) = @_;
+ # Read the file:
+ open(INFILE,">$filename") or Error("error writing to '$filename': $!");
+ print INFILE $file;
+ close(INFILE) or Error("error closing file '$filename': $!");
+}
+
+
+######################################################################
+#
+# Determine a temporary directory.
+#
+
+my $tmpdir = "/tmp";
+if (defined($ENV{"TMP"}) and -d $ENV{"TMP"}) {
+ $tmpdir = $ENV{"TMP"};
+} elsif (defined($ENV{"TEMP"}) and -d $ENV{"TEMP"}) {
+ $tmpdir = $ENV{"TEMP"};
+}
+
+
+######################################################################
+#
+# Unpack the general overlay tarball
+#
+
+my $user = defined($ENV{"USER"}) ? $ENV{"USER"} : "xtensa";
+$ovdir = $tmpdir."/tmp-overlay-${user}-$$";
+mkdir $ovdir or Error("cannot create directory $ovdir");
+$overlay_unpacked = 1;
+system("tar xfz '$overlay_tarball' -C '$ovdir'")
+ and Error("tar failed...");
+
+
+######################################################################
+#
+# Define and sanity check contents of overlay
+#
+
+my $oldpack = -f $ovdir."/xtensa-elf/src/linux/misc/core.h";
+my $pf1 = ($oldpack ? "src/" : "");
+my $pf2 = ($oldpack ? "xtensa-elf/src/linux/misc/" : "config/");
+
+my @packages = (
+ ["binutils", "toolchain/binutils",
+ ["${pf1}/binutils/xtensa-modules.c", "bfd/"],
+ ["${pf1}/binutils/xtensa-config.h", "include/"],
+ #["${pf1}/binutils/xtensa-config.sh", "ld/emulparams/"],
+ ],
+ ["gcc", "toolchain/gcc",
+ ["${pf1}/gcc/xtensa-config.h", "include/"],
+ ],
+ ["gdb", "toolchain/gdb",
+ ["${pf1}/gdb/xtensa-modules.c", "bfd/"],
+ ["${pf1}/gdb/xtensa-config.h", "include/"],
+ ["${pf1}/gdb/xtensa-config.c", "gdb/"],
+ ["${pf1}/gdb/xtensa-regmap.c", "gdb/gdbserver/"],
+ ["${pf1}/gdb/xtensa-regmap.c", "gdb/gdbserver/xtensa-xtregs.c"], # for GDB 6.8
+ ["${pf1}/gdb/xtensa-regmap.c", "gdb/xtensa-xtregs.c"], # for GDB 6.8
+ ["${pf1}/gdb/reg-xtensa.dat", "gdb/regformats/"],
+ ],
+ ["kernel", "target/xtensa", # ???
+ ["${pf2}core.h", "include/asm-xtensa/variant-${config_name}/"],
+ ["${pf2}tie.h", "include/asm-xtensa/variant-${config_name}/"],
+ ["${pf2}tie-asm.h", "include/asm-xtensa/variant-${config_name}/"],
+ ],
+);
+
+# Check that all files are present ...
+foreach my $pack (@packages) {
+ my ($pname, $buildroot_subdir, @files) = @$pack;
+ print "Checking files for $pname ...\n";
+ foreach my $f (@files) {
+ my ($src, $dst) = @$f;
+ -f $ovdir."/".$src or Error("missing '$src' in overlay tarball");
+ }
+}
+
+
+######################################################################
+#
+# Extract some useful information
+#
+
+# Extract core name as specified in the build.
+my $coreh = readfile($ovdir."/".$pf2."core.h");
+
+$coreh =~ /^\s*\#\s*define\s+XCHAL_SW_VERSION\s+(\w+)/m;
+my $swversion = $1;
+defined($swversion) or Error("missing XCHAL_SW_VERSION in overlay core.h file;\n"
+ ."overlay is too old, need RB-2008.3 (SW version 7.1.1) or later");
+
+$coreh =~ /^\s*\#\s*define\s+XCHAL_CORE_ID\s+"([^"]+)"/m;
+my $coreid = $1;
+defined($coreid) or Error("missing XCHAL_CORE_ID in overlay core.h file");
+
+$coreh =~ /^\s*\#\s*define\s+XCHAL_HW_VERSION_NAME\s+"([^"]+)"/m;
+my $hwversion = $1;
+defined($hwversion) or Error("missing XCHAL_HW_VERSION_NAME in overlay core.h file");
+
+
+$swvers_human = sprintf("%u.%u.%u",
+ $swversion/100000, (($swversion/1000) % 100), ($swversion % 1000));
+my $release = "software version $swvers_human";
+if (-f $ovdir."/release") {
+ $release = readfile($ovdir."/release");
+ chomp($release);
+}
+
+
+######################################################################
+#
+# Prompt user to be sure this is what he wants to do
+#
+
+# Catch Ctrl-C so we can do a proper cleanup:
+sub catch_term {
+ my $signame = shift;
+ #print STDERR "whoa!\n";
+ cleanup();
+ print STDERR "\n$progname: Cleaned up.\n";
+ exit 3;
+}
+$SIG{TERM} = \&catch_term;
+$SIG{HUP} = \&catch_term;
+$SIG{INT} = \&catch_term;
+
+$| = 1;
+print "\n",
+ "About to generate package-specific overlay tarballs for the following:\n",
+ "\n",
+ " Xtensa processor short name: $config_name\n";
+print " This short name overrides the name specified in the XPG: $coreid\n" if $coreid ne $config_name;
+#print " Please ensure that's the name you want. If submitted to the open source\n",
+# " community, it can be a hassle to change later on.\n";
+print " Xtensa processor description: $config_long_name\n",
+ " Targeting Xtensa HW version: $hwversion\n",
+ " Xtensa configuration overlay: $overlay_tarball\n",
+ " (release of overlay): $release\n",
+ " Destination buildroot dir: ".(defined($buildroot_dir)?$buildroot_dir:"(none, not installed)")."\n",
+ " Destination Linux kernel dir: ".(defined($kernel_dir)?$kernel_dir:"(none, not installed)")."\n",
+ "\n",
+ "Are you sure? (y/n) ";
+if ($prompt) {
+ my $line = <STDIN>;
+ chomp($line);
+ if ($line !~ /^y(es)?$/i) {
+ print "\nInstallation aborted.\n";
+ cleanup();
+ exit 2;
+ }
+} else {
+ print "YES [no prompt]\n";
+}
+print "\n";
+
+
+######################################################################
+#
+# Now generate the tarballs
+#
+
+# Now generate each tarball ...
+foreach my $pack (@packages) {
+ my ($pname, $buildroot_subdir, @files) = @$pack;
+ my $tarname = "${pname}-xtensa_${config_name}.tgz";
+ my $fulltarname;
+ if (defined($buildroot_dir)) {
+ my $tarsubname = $buildroot_subdir . "/" . $tarname;
+ print "Generating and installing $tarsubname ...\n";
+ $fulltarname = $buildroot_dir . "/" . $tarsubname;
+ } else {
+ print "Generating $tarname ...\n";
+ $fulltarname = $ovdir . "/" . $tarname;
+ }
+ if (-e $fulltarname) {
+ if ($force_clobber or !defined($buildroot_dir)) {
+ unlink($fulltarname) or Error("could not delete '$fulltarname': $!");
+ } else {
+ Error("destination tarball already exists: '$fulltarname'");
+ }
+ }
+ my $pdir = $ovdir."/tmp-".$pname;
+ system("rm -fr '${pdir}' 2>/dev/null");
+ mkdir $pdir or Error("cannot create directory $pdir");
+ foreach my $f (@files) {
+ my ($src, $dst) = @$f;
+ # If $dst ends in / , take filename from $src :
+ if ($dst =~ m|/$|) {
+ my $fname = $src;
+ $fname =~ s|^.*/||;
+ $dst .= $fname;
+ }
+ # Ensure destination directory exists:
+ my $dstdir = $pdir;
+ while ($dst =~ s|^([^/]+)/+||) {
+ $dstdir .= "/" . $1;
+ mkdir($dstdir);
+ }
+ # Read file:
+ my $content = readfile($ovdir."/".$src);
+
+ # Adjust contents of file.
+ # Fix-up typo:
+ $content =~ s/XCHAL_SA_(NCP|CP\d+)_/XCHAL_$1_SA_/g;
+ # Update core name info:
+ my $iscore = ($content =~ s/^(\s*\#\s*define\s+XCHAL_CORE_ID\s+)"[^"]+"/$1"$config_name"/mg);
+ $iscore or $content =~ s{^(\s*\#\s*define\s+XCHAL_INST_FETCH_WIDTH\s+\S+\s*(/\*[^\*]*\*/)?\s*$)}
+ {$1\n\#undef XCHAL_CORE_ID\n\#define XCHAL_CORE_ID\t\t\t"$config_name"\n}smg;
+ # Update core description info:
+ $content =~ s/^(\s*\#\s*define\s+XCHAL_CORE_DESCRIPTION\s+)"[^"]+"/$1"$config_long_name"/mg
+ or $content =~ s{^(\s*\#\s*define\s+XCHAL_CORE_ID\s+\S+\s*(/\*[^\*]*\*/)?\s*$)}
+ {"$1\n" . ($iscore ? "" : "\n\#undef XCHAL_CORE_DESCRIPTION\n")
+ . "\#define XCHAL_CORE_DESCRIPTION\t\t\"${config_long_name}\""}smge;
+
+ # Write (possibly modified) file:
+ writefile($dstdir."/".$dst, $content);
+ }
+ my $tarcmd = "tar cfz '${fulltarname}' -C '${pdir}' .";
+ system($tarcmd) and Error("failed executing: $tarcmd");
+
+ # Install Linux kernel overlay:
+ if ($pname eq "kernel" and defined($kernel_dir)) {
+ print "Installing Linux kernel overlay from $tarname ...\n";
+ my $untarcmd = "tar xfz '${fulltarname}' -C '${kernel_dir}' .";
+ system($untarcmd) and Error("failed executing: $tarcmd");
+ }
+ # Possible TODO: update arch/xtensa/{Kconfig,Makefile} to add this config?
+}
+
+
+######################################################################
+#
+# The End
+#
+
+cleanup();
+print "Done.\n";
+exit 0;
+
diff --git a/toolchain/Config.in.2 b/toolchain/Config.in.2
index e9fe8521c..5df04e01b 100644
--- a/toolchain/Config.in.2
+++ b/toolchain/Config.in.2
@@ -27,12 +27,13 @@ config BR2_INET_RPC
built with RPC support then enable this option.
config BR2_ENABLE_LOCALE
- bool "Enable locale/gettext/i18n support?"
+ bool "Enable toolchain locale/i18n support?"
+ select BR2_USE_WCHAR
help
If you are building your own toolchain and you want to
- enable locale/gettext/i18n support then enable this option.
+ enable locale/i18n support then enable this option.
If you have an external binary toolchain that has been
- built with locale/gettext/i18n support then enable this option.
+ built with locale/i18n support then enable this option.
config BR2_ENABLE_LOCALE_PREGENERATED
bool "Use pregenerated locale data?"
@@ -46,7 +47,6 @@ config BR2_ENABLE_LOCALE_PREGENERATED
config BR2_ENABLE_LOCALE_PURGE
bool "Purge unwanted locales"
- depends on BR2_ENABLE_LOCALE
help
Explicitly specify what locales to install on target. If N
then all locales supported by packages are installed.
diff --git a/toolchain/binutils/binutils.mk b/toolchain/binutils/binutils.mk
index 66f393efd..bcfbe7451 100644
--- a/toolchain/binutils/binutils.mk
+++ b/toolchain/binutils/binutils.mk
@@ -55,6 +55,11 @@ BINUTILS_SITE:=$(VENDOR_SITE)
BINUTILS_PATCH_DIR:=toolchain/binutils/ext_source/$(VENDOR_PATCH_DIR)/$(BINUTILS_OFFICIAL_VERSION)
endif
+ifneq ($(filter xtensa%,$(ARCH)),)
+include target/xtensa/patch.in
+BINUTILS_PATCH_EXTRA:=$(call XTENSA_PATCH,binutils,$(BINUTILS_PATCH_DIR),. ..)
+endif
+
BINUTILS_SOURCE:=binutils-$(BINUTILS_OFFICIAL_VERSION).tar.bz2
BINUTILS_DIR:=$(TOOL_BUILD_DIR)/binutils-$(BINUTILS_OFFICIAL_VERSION)
BINUTILS_CAT:=$(BZCAT)
@@ -76,7 +81,7 @@ $(BINUTILS_DIR)/.unpacked: $(DL_DIR)/$(BINUTILS_SOURCE)
binutils-patched: $(BINUTILS_DIR)/.patched
$(BINUTILS_DIR)/.patched: $(BINUTILS_DIR)/.unpacked
# Apply appropriate binutils patches.
- toolchain/patch-kernel.sh $(BINUTILS_DIR) $(BINUTILS_PATCH_DIR) \*.patch
+ toolchain/patch-kernel.sh $(BINUTILS_DIR) $(BINUTILS_PATCH_DIR) \*.patch $(BINUTILS_PATCH_EXTRA)
touch $@
$(BINUTILS_DIR1)/.configured: $(BINUTILS_DIR)/.patched
diff --git a/toolchain/external-toolchain/ext-tool.mk b/toolchain/external-toolchain/ext-tool.mk
index b904775f4..d441a9252 100644
--- a/toolchain/external-toolchain/ext-tool.mk
+++ b/toolchain/external-toolchain/ext-tool.mk
@@ -1,24 +1,52 @@
#
-# copy_toolchain_lib_root
+# This file implements the support for external toolchains, i.e
+# toolchains that have not been produced by Buildroot itself and that
+# are already available on the system on which Buildroot runs.
#
-# $1: source
-# $2: destination
-# $3: strip (y|n) default is to strip
+# The basic principle is the following
+#
+# 1. Perform some checks on the conformity between the toolchain
+# configuration described in the Buildroot menuconfig system, and the
+# real configuration of the external toolchain. This is for example
+# important to make sure that the Buildroot configuration system
+# knows whether the toolchain supports RPC, IPv6, locales, large
+# files, etc. Unfortunately, these things cannot be detected
+# automatically, since the value of these options (such as
+# BR2_INET_RPC) are needed at configuration time because these
+# options are used as dependencies for other options. And at
+# configuration time, we are not able to retrieve the external
+# toolchain configuration.
+#
+# 2. Copy the libraries needed at runtime to the target directory,
+# $(TARGET_DIR). Obviously, things such as the C library, the dynamic
+# loader and a few other utility libraries are needed if dynamic
+# applications are to be executed on the target system.
+#
+# 3. Copy the libraries and headers to the staging directory. This
+# will allow all further calls to gcc to be made using --sysroot
+# $(STAGING_DIR), which greatly simplifies the compilation of the
+# packages when using external toolchains. So in the end, only the
+# cross-compiler binaries remains external, all libraries and headers
+# are imported into the Buildroot tree.
+
+#
+# Copy a toolchain library and its symbolic links from the sysroot
+# directory to the target directory. Also optionaly strips the
+# library.
+#
+# $1: sysroot directory
+# $2: library name
+# $3: destination directory
+# $4: strip (y|n), default is to strip
#
copy_toolchain_lib_root = \
- LIB="$(strip $1)"; \
- DST="$(strip $2)"; \
- STRIP="$(strip $3)"; \
- \
- LIB_DIR=`$(TARGET_CC) -print-file-name=$${LIB} | sed -e "s,$${LIB}\$$,,"`; \
- \
- if test -z "$${LIB_DIR}"; then \
- echo "copy_toolchain_lib_root: lib=$${LIB} not found"; \
- exit -1; \
- fi; \
+ SYSROOT_DIR="$(strip $1)"; \
+ LIB="$(strip $2)"; \
+ DST="$(strip $3)"; \
+ STRIP="$(strip $4)"; \
\
- LIB="$(strip $1)"; \
- for FILE in `find $${LIB_DIR} -maxdepth 1 -type l -name "$${LIB}*"`; do \
+ LIB_DIR="$${SYSROOT_DIR}/lib" ; \
+ for FILE in `find $${LIB_DIR} -maxdepth 1 -name "$${LIB}.*"`; do \
LIB=`basename $${FILE}`; \
while test \! -z "$${LIB}"; do \
rm -fr $(TARGET_DIR)$${DST}/$${LIB}; \
@@ -43,44 +71,62 @@ copy_toolchain_lib_root = \
\
echo -n
+#
+# Copy the full external toolchain sysroot directory to the staging
+# dir
+#
+# $1: sysroot directory
+#
copy_toolchain_sysroot = \
- SYSROOT_DIR=`$(TARGET_CC) -v 2>&1 | grep ^Configured | tr " " "\n" | grep -- "--with-sysroot" | cut -f2 -d=`; \
- if [ -n "$${SYSROOT_DIR}" ]; then cp -a $${SYSROOT_DIR}/* $(STAGING_DIR)/ ; \
- find $(STAGING_DIR) -type d | xargs chmod 755; fi
+ SYSROOT_DIR="$(strip $1)"; \
+ cp -a $${SYSROOT_DIR}/* $(STAGING_DIR)/ ; \
+ find $(STAGING_DIR) -type d | xargs chmod 755
-ifeq ($(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y)
-EXTERNAL_LIBC=libc.so.0
-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
-else
-EXTERNAL_LIBC=libc.so.6
-EXTERNAL_LIBS=ld-linux.so.3 libcrypt.so.1 libdl.so.2 libgcc_s.so.1 libm.so.6 libnsl.so.1 libpthread.so.0 libresolv.so.2 librt.so.1 libutil.so.1 libnss_files.so.2
-endif
-
-check_clibrary = \
- if ! test -f `$(TARGET_CC) -print-file-name=$(EXTERNAL_LIBC)` ; then \
- echo "Incorrect selection of the C library"; \
- exit -1; \
- fi
-
-# 1: Buildroot option name
-# 2: message
+#
+# Check the availability of a particular glibc feature. We assume that
+# all Buildroot toolchain options are supported by glibc, so we just
+# check that they are enabled.
+#
+# $1: Buildroot option name
+# $2: feature description
+#
check_glibc_feature = \
if [ x$($(1)) != x"y" ] ; then \
echo "$(2) available in C library, please enable $(1)" ; \
exit 1 ; \
fi
+#
+# Check the correctness of a glibc external toolchain configuration.
+# 1. Check that the C library selected in Buildroot matches the one
+# of the external toolchain
+# 2. Check that all the C library-related features are enabled in the
+# config, since glibc always supports all of them
+#
+# $1: sysroot directory
+#
check_glibc = \
+ SYSROOT_DIR="$(strip $1)"; \
+ if ! test -f $${SYSROOT_DIR}/lib/ld-linux.so.* ; then \
+ echo "Incorrect selection of the C library"; \
+ exit -1; \
+ fi; \
$(call check_glibc_feature,BR2_LARGEFILE,Large file support) ;\
$(call check_glibc_feature,BR2_INET_IPV6,IPv6 support) ;\
$(call check_glibc_feature,BR2_INET_RPC,RPC support) ;\
$(call check_glibc_feature,BR2_ENABLE_LOCALE,Locale support) ;\
$(call check_glibc_feature,BR2_USE_WCHAR,Wide char support)
-# 1: uClibc macro name
-# 2: Buildroot option name
-# 3: uClibc config file
-# 4: message
+#
+# Check the conformity of Buildroot configuration with regard to the
+# uClibc configuration of the external toolchain, for a particular
+# feature.
+#
+# $1: uClibc macro name
+# $2: Buildroot option name
+# $3: uClibc config file
+# $4: feature description
+#
check_uclibc_feature = \
IS_IN_LIBC=`grep -q "\#define $(1) 1" $(3) && echo y` ; \
if [ x$($(2)) != x"y" -a x$${IS_IN_LIBC} == x"y" ] ; then \
@@ -92,8 +138,22 @@ check_uclibc_feature = \
exit 1 ; \
fi
+#
+# Check the correctness of a uclibc external toolchain configuration
+# 1. Check that the C library selected in Buildroot matches the one
+# of the external toolchain
+# 2. Check that the features enabled in the Buildroot configuration
+# match the features available in the uClibc of the external
+# toolchain
+#
+# $1: sysroot directory
+#
check_uclibc = \
- SYSROOT_DIR=`$(TARGET_CC) -v 2>&1 | grep ^Configured | tr " " "\n" | grep -- "--with-sysroot" | cut -f2 -d=`; \
+ SYSROOT_DIR="$(strip $1)"; \
+ if ! test -f $${SYSROOT_DIR}/lib/ld-uClibc.so.* ; then \
+ echo "Incorrect selection of the C library"; \
+ exit -1; \
+ fi; \
UCLIBC_CONFIG_FILE=$${SYSROOT_DIR}/usr/include/bits/uClibc_config.h ; \
$(call check_uclibc_feature,__UCLIBC_HAS_LFS__,BR2_LARGEFILE,$${UCLIBC_CONFIG_FILE},Large file support) ;\
$(call check_uclibc_feature,__UCLIBC_HAS_IPV6__,BR2_INET_IPV6,$${UCLIBC_CONFIG_FILE},IPv6 support) ;\
@@ -101,21 +161,70 @@ check_uclibc = \
$(call check_uclibc_feature,__UCLIBC_HAS_LOCALE__,BR2_ENABLE_LOCALE,$${UCLIBC_CONFIG_FILE},Locale support) ;\
$(call check_uclibc_feature,__UCLIBC_HAS_WCHAR__,BR2_USE_WCHAR,$${UCLIBC_CONFIG_FILE},Wide char support) ;\
-uclibc: dependencies $(TARGET_DIR)/lib/$(EXTERNAL_LIBC)
+#
+# Check that the Buildroot configuration of the ABI matches the
+# configuration of the external toolchain.
+#
+check_arm_abi = \
+ EXT_TOOLCHAIN_TARGET=$(shell LANG=C $(TARGET_CC) -v 2>&1 | grep ^Target | cut -f2 -d ' ') ; \
+ if echo $${EXT_TOOLCHAIN_TARGET} | grep -q 'eabi$$' ; then \
+ EXT_TOOLCHAIN_ABI="eabi" ; \
+ else \
+ EXT_TOOLCHAIN_ABI="oabi" ; \
+ fi ; \
+ if [ x$(BR2_ARM_OABI) == x"y" -a $${EXT_TOOLCHAIN_ABI} == "eabi" ] ; then \
+ echo "Incorrect ABI setting" ; \
+ exit 1 ; \
+ fi ; \
+ if [ x$(BR2_ARM_EABI) == x"y" -a $${EXT_TOOLCHAIN_ABI} == "oabi" ] ; then \
+ echo "Incorrect ABI setting" ; \
+ exit 1 ; \
+ fi ; \
+
+#
+# Check that the cross-compiler given in the configuration exists
+#
+check_cross_compiler_exists = \
+ if ! test -x $(TARGET_CC) ; then \
+ echo "Cannot find cross-compiler $(TARGET_CC)" ; \
+ exit 1 ; \
+ fi ; \
+
+uclibc: dependencies $(STAMP_DIR)/ext-toolchain-installed
-$(TARGET_DIR)/lib/$(EXTERNAL_LIBC):
+EXTERNAL_LIBS=libc.so libcrypt.so libdl.so libgcc_s.so libm.so libnsl.so libpthread.so libresolv.so librt.so libutil.so
+ifeq ($(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y)
+EXTERNAL_LIBS+=ld-uClibc.so
+else
+EXTERNAL_LIBS+=ld-linux.so libnss_files.so
+endif
+
+ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
+EXTERNAL_LIBS+=libstdc++.so
+endif
+
+SYSROOT_DIR=$(shell LANG=C $(TARGET_CC) -v 2>&1 | grep ^Configured | tr " " "\n" | grep -- "--with-sysroot" | cut -f2 -d=)
+
+$(STAMP_DIR)/ext-toolchain-installed:
@echo "Checking external toolchain settings"
- @$(call check_clibrary)
+ $(Q)$(call check_cross_compiler_exists)
+ifeq ($(strip $(SYSROOT_DIR)),)
+ @echo "External toolchain doesn't support --sysroot. Cannot use."
+ exit 1
+endif
+ifeq ($(BR2_arm),y)
+ $(Q)$(call check_arm_abi)
+endif
ifeq ($(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y)
- @$(call check_uclibc)
+ $(Q)$(call check_uclibc,$(SYSROOT_DIR))
else
- @$(call check_glibc)
+ $(Q)$(call check_glibc,$(SYSROOT_DIR))
endif
mkdir -p $(TARGET_DIR)/lib
@echo "Copy external toolchain libraries to target..."
- @$(call copy_toolchain_lib_root, $(EXTERNAL_LIBC), /lib, $(BR2_TOOLCHAIN_EXTERNAL_STRIP))
- @for libs in $(EXTERNAL_LIBS); do \
- $(call copy_toolchain_lib_root, $$libs, /lib, $(BR2_TOOLCHAIN_EXTERNAL_STRIP)); \
+ $(Q)for libs in $(EXTERNAL_LIBS); do \
+ $(call copy_toolchain_lib_root,$(SYSROOT_DIR),$$libs,/lib,$(BR2_TOOLCHAIN_EXTERNAL_STRIP)); \
done
@echo "Copy external toolchain sysroot to staging..."
- @$(call copy_toolchain_sysroot)
+ $(Q)$(call copy_toolchain_sysroot,$(SYSROOT_DIR))
+ @touch $@
diff --git a/toolchain/gcc/4.4.0/100-uclibc-conf.patch b/toolchain/gcc/4.4.1/100-uclibc-conf.patch
index cca8c8229..cca8c8229 100644
--- a/toolchain/gcc/4.4.0/100-uclibc-conf.patch
+++ b/toolchain/gcc/4.4.1/100-uclibc-conf.patch
diff --git a/toolchain/gcc/4.4.0/301-missing-execinfo_h.patch b/toolchain/gcc/4.4.1/301-missing-execinfo_h.patch
index 0e2092f3f..0e2092f3f 100644
--- a/toolchain/gcc/4.4.0/301-missing-execinfo_h.patch
+++ b/toolchain/gcc/4.4.1/301-missing-execinfo_h.patch
diff --git a/toolchain/gcc/4.4.0/302-c99-snprintf.patch b/toolchain/gcc/4.4.1/302-c99-snprintf.patch
index ba51a0e1d..ba51a0e1d 100644
--- a/toolchain/gcc/4.4.0/302-c99-snprintf.patch
+++ b/toolchain/gcc/4.4.1/302-c99-snprintf.patch
diff --git a/toolchain/gcc/4.4.0/305-libmudflap-susv3-legacy.patch b/toolchain/gcc/4.4.1/305-libmudflap-susv3-legacy.patch
index 374b1f865..374b1f865 100644
--- a/toolchain/gcc/4.4.0/305-libmudflap-susv3-legacy.patch
+++ b/toolchain/gcc/4.4.1/305-libmudflap-susv3-legacy.patch
diff --git a/toolchain/gcc/4.4.0/810-arm-softfloat-libgcc.patch b/toolchain/gcc/4.4.1/810-arm-softfloat-libgcc.patch
index e6a30a3f0..e6a30a3f0 100644
--- a/toolchain/gcc/4.4.0/810-arm-softfloat-libgcc.patch
+++ b/toolchain/gcc/4.4.1/810-arm-softfloat-libgcc.patch
diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in
index 9aba2f7d3..76e7f78db 100644
--- a/toolchain/gcc/Config.in
+++ b/toolchain/gcc/Config.in
@@ -105,7 +105,7 @@ config BR2_GCC_VERSION
default "4.3.1" if BR2_GCC_VERSION_4_3_1
default "4.3.2" if BR2_GCC_VERSION_4_3_2
default "4.3.3" if BR2_GCC_VERSION_4_3_3
- default "4.4.0" if BR2_GCC_VERSION_4_4_X
+ default "4.4.1" if BR2_GCC_VERSION_4_4_X
default "4.3" if BR2_GCC_VERSION_4_3
config BR2_TOOLCHAIN_SYSROOT
diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk
index 5770081b3..e9249c1c5 100644
--- a/toolchain/gcc/gcc-uclibc-4.x.mk
+++ b/toolchain/gcc/gcc-uclibc-4.x.mk
@@ -50,6 +50,11 @@ endif # Snapshot patch
endif # Not a snapshot
endif # BR2_TOOLCHAIN_BUILDROOT
+ifneq ($(filter xtensa%,$(ARCH)),)
+include target/xtensa/patch.in
+GCC_PATCH_EXTRA:=$(call XTENSA_PATCH,gcc,$(GCC_PATCH_DIR),. ..)
+endif
+
GCC_SOURCE:=gcc-$(GCC_OFFICIAL_VERSION).tar.bz2
GCC_DIR:=$(TOOL_BUILD_DIR)/gcc-$(GCC_OFFICIAL_VERSION)
GCC_CAT:=$(BZCAT)
@@ -164,7 +169,7 @@ $(GCC_DIR)/.unpacked: $(DL_DIR)/$(GCC_SOURCE)
gcc-patched: $(GCC_DIR)/.patched
$(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked
# Apply any files named gcc-*.patch from the source directory to gcc
- toolchain/patch-kernel.sh $(GCC_DIR) $(GCC_PATCH_DIR) \*.patch
+ toolchain/patch-kernel.sh $(GCC_DIR) $(GCC_PATCH_DIR) \*.patch $(GCC_PATCH_EXTRA)
# Note: The soft float situation has improved considerably with gcc 3.4.x.
# We can dispense with the custom spec files, as well as libfloat for the arm case.
diff --git a/toolchain/gdb/gdb.mk b/toolchain/gdb/gdb.mk
index ba8a1f273..29c4c9c0b 100644
--- a/toolchain/gdb/gdb.mk
+++ b/toolchain/gdb/gdb.mk
@@ -19,6 +19,11 @@ GDB_SITE:=$(BR2_GNU_MIRROR)/gdb
GDB_PATCH_DIR:=toolchain/gdb/$(GDB_OFFICIAL_VERSION)
endif
+ifneq ($(filter xtensa%,$(ARCH)),)
+include target/xtensa/patch.in
+GDB_PATCH_EXTRA:=$(call XTENSA_PATCH,gdb,$(GDB_PATCH_DIR),. ..)
+endif
+
GDB_DIR:=$(TOOL_BUILD_DIR)/gdb-$(GDB_OFFICIAL_VERSION)
$(DL_DIR)/$(GDB_SOURCE):
@@ -33,7 +38,7 @@ ifeq ($(GDB_VERSION),snapshot)
tar jtf $(DL_DIR)/$(GDB_SOURCE) | head -1 | cut -d"/" -f1)
ln -sf $(TOOL_BUILD_DIR)/$(shell tar jtf $(DL_DIR)/$(GDB_SOURCE) | head -1 | cut -d"/" -f1) $(GDB_DIR)
endif
- toolchain/patch-kernel.sh $(GDB_DIR) $(GDB_PATCH_DIR) \*.patch
+ toolchain/patch-kernel.sh $(GDB_DIR) $(GDB_PATCH_DIR) \*.patch $(GDB_PATCH_EXTRA)
$(CONFIG_UPDATE) $(@D)
touch $@
diff --git a/toolchain/kernel-headers/Config.in b/toolchain/kernel-headers/Config.in
index 13acecc94..689c85dd5 100644
--- a/toolchain/kernel-headers/Config.in
+++ b/toolchain/kernel-headers/Config.in
@@ -49,9 +49,9 @@ config BR2_KERNEL_HEADERS_RT
config BR2_DEFAULT_KERNEL_HEADERS
string
default "2.6.26.8" if BR2_KERNEL_HEADERS_2_6_26
- default "2.6.27.26" if BR2_KERNEL_HEADERS_2_6_27
+ default "2.6.27.28" if BR2_KERNEL_HEADERS_2_6_27
default "2.6.28.10" if BR2_KERNEL_HEADERS_2_6_28
default "2.6.29.6" if BR2_KERNEL_HEADERS_2_6_29
- default "2.6.30.1" if BR2_KERNEL_HEADERS_2_6_30
+ default "2.6.30.3" if BR2_KERNEL_HEADERS_2_6_30
default "2.6" if BR2_KERNEL_HEADERS_SNAP
diff --git a/toolchain/patch-kernel.sh b/toolchain/patch-kernel.sh
index e2e89486d..76cb9f753 100755
--- a/toolchain/patch-kernel.sh
+++ b/toolchain/patch-kernel.sh
@@ -21,7 +21,14 @@ if [ ! -d "${patchdir}" ] ; then
fi
for i in `cd ${patchdir}; ls -d ${patchpattern} 2> /dev/null` ; do
- case "$i" in
+ apply="patch -p1 -E -d"
+ uncomp_parm=""
+ if [ -d "${patchdir}/$i" ] ; then
+ type="directory overlay"
+ uncomp="tar cf - --exclude=.svn --no-anchored -C"
+ uncomp_parm="."
+ apply="tar xvf - -C"
+ else case "$i" in
*.gz)
type="gzip"; uncomp="gunzip -dc"; ;;
*.bz)
@@ -32,13 +39,17 @@ for i in `cd ${patchdir}; ls -d ${patchpattern} 2> /dev/null` ; do
type="zip"; uncomp="unzip -d"; ;;
*.Z)
type="compress"; uncomp="uncompress -c"; ;;
+ *.tgz)
+ type="tar gzip"; uncomp="gunzip -dc"; apply="tar xvf - -C"; ;;
+ *.tar)
+ type="tar"; uncomp="cat"; apply="tar xvf - -C"; ;;
*)
type="plaintext"; uncomp="cat"; ;;
- esac
+ esac fi
echo ""
echo "Applying ${i} using ${type}: "
echo ${i} | cat >> ${targetdir}/.applied_patches_list
- ${uncomp} ${patchdir}/${i} | patch -p1 -E -d ${targetdir}
+ ${uncomp} ${patchdir}/${i} ${uncomp_parm} | ${apply} ${targetdir}
if [ $? != 0 ] ; then
echo "Patch failed! Please fix $i!"
exit 1
diff --git a/toolchain/uClibc/uClibc-0.9.30-unifdef-getline.patch b/toolchain/uClibc/uClibc-0.9.30-unifdef-getline.patch
new file mode 100644
index 000000000..eb8888470
--- /dev/null
+++ b/toolchain/uClibc/uClibc-0.9.30-unifdef-getline.patch
@@ -0,0 +1,29 @@
+--- uClibc-0.9.30.1.orig/extra/scripts/unifdef.c
++++ uClibc-0.9.30.1/extra/scripts/unifdef.c
+@@ -206,7 +206,7 @@ static void done(void);
+ static void error(const char *);
+ static int findsym(const char *);
+ static void flushline(bool);
+-static Linetype getline(void);
++static Linetype get_line(void);
+ static Linetype ifeval(const char **);
+ static void ignoreoff(void);
+ static void ignoreon(void);
+@@ -512,7 +512,7 @@ process(void)
+
+ for (;;) {
+ linenum++;
+- lineval = getline();
++ lineval = get_line();
+ trans_table[ifstate[depth]][lineval]();
+ debug("process %s -> %s depth %d",
+ linetype_name[lineval],
+@@ -526,7 +526,7 @@ process(void)
+ * help from skipcomment().
+ */
+ static Linetype
+-getline(void)
++get_line(void)
+ {
+ const char *cp;
+ int cursym;
diff --git a/toolchain/uClibc/uClibc-0.9.30-xtensa-000p-fix-procfs.patch b/toolchain/uClibc/uClibc-0.9.30-xtensa-000p-fix-procfs.patch
new file mode 100644
index 000000000..8e62d205f
--- /dev/null
+++ b/toolchain/uClibc/uClibc-0.9.30-xtensa-000p-fix-procfs.patch
@@ -0,0 +1,24 @@
+--- uClibc-0.9.29-orig/libc/sysdeps/linux/xtensa/sys/procfs.h 2007-11-16 23:21:00.000000000 -0800
++++ uClibc-0.9.29/libc/sysdeps/linux/xtensa/sys/procfs.h 2007-11-16 23:26:59.000000000 -0800
+@@ -32,19 +32,11 @@
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <sys/user.h>
++#include <asm/elf.h>
+
+ __BEGIN_DECLS
+
+-/* Type for a general-purpose register. */
+-typedef unsigned long elf_greg_t;
+-
+-#define ELF_NGREG 128
+-typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+-
+-/* Register set for the floating-point registers. */
+-#define ELF_NFPREG 18
+-typedef unsigned long elf_fpreg_t;
+-typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
++/* Note: we get elf_gregset_t and elf_fpregset_t from <asm/elf.h>. */
+
+ /* Signal info. */
+ struct elf_siginfo
diff --git a/toolchain/uClibc/uClibc-0.9.30-xtensa-005-sigcontext.patch b/toolchain/uClibc/uClibc-0.9.30-xtensa-005-sigcontext.patch
new file mode 100644
index 000000000..7d7d684b1
--- /dev/null
+++ b/toolchain/uClibc/uClibc-0.9.30-xtensa-005-sigcontext.patch
@@ -0,0 +1,45 @@
+diff -u /dev/null uClibc-0.9.30/libc/sysdeps/linux/xtensa/bits/sigcontext.h
+--- /dev/null
++++ uClibc-0.9.30/libc/sysdeps/linux/xtensa/bits/sigcontext.h
+@@ -0,0 +1,41 @@
++/* Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
++ Boston, MA 02110-1301, USA. */
++
++#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
++# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
++#endif
++
++#ifndef _BITS_SIGCONTEXT_H
++#define _BITS_SIGCONTEXT_H 1
++
++struct sigcontext
++{
++ unsigned long sc_pc;
++ unsigned long sc_ps;
++ unsigned long sc_lbeg;
++ unsigned long sc_lend;
++ unsigned long sc_lcount;
++ unsigned long sc_sar;
++ unsigned long sc_acclo;
++ unsigned long sc_acchi;
++ void *sc_xtregs;
++ unsigned long sc_a[16];
++};
++
++#endif /* _BITS_SIGCONTEXT_H */
++
diff --git a/toolchain/uClibc/uClibc-0.9.30-xtensa-009-testandset.patch b/toolchain/uClibc/uClibc-0.9.30-xtensa-009-testandset.patch
new file mode 100644
index 000000000..f0e4eb272
--- /dev/null
+++ b/toolchain/uClibc/uClibc-0.9.30-xtensa-009-testandset.patch
@@ -0,0 +1,59 @@
+--- uClibc-0.9.29/libpthread/linuxthreads.old/sysdeps/xtensa/pt-machine.h.orig 2008-09-12 09:51:50.000000000 -0700
++++ uClibc-0.9.29/libpthread/linuxthreads.old/sysdeps/xtensa/pt-machine.h 2008-10-04 12:14:57.000000000 -0700
+@@ -26,19 +26,51 @@
+ #include <asm/unistd.h>
+
+ #ifndef PT_EI
+-# define PT_EI __extern_always_inline
++# define PT_EI extern inline __attribute__ ((gnu_inline))
+ #endif
+
+-/* Memory barrier. */
+ #define MEMORY_BARRIER() __asm__ ("memw" : : : "memory")
++#define HAS_COMPARE_AND_SWAP
++
++extern long int testandset (int *spinlock);
++extern int __compare_and_swap (long int *p, long int oldval, long int newval);
+
+ /* Spinlock implementation; required. */
+ PT_EI long int
+ testandset (int *spinlock)
+ {
+- int unused = 0;
+- return INTERNAL_SYSCALL (xtensa, , 4, SYS_XTENSA_ATOMIC_SET,
+- spinlock, 1, unused);
++ unsigned long tmp;
++ __asm__ volatile (
++" movi %0, 0 \n"
++" wsr %0, SCOMPARE1 \n"
++" movi %0, 1 \n"
++" s32c1i %0, %1, 0 \n"
++ : "=&a" (tmp)
++ : "a" (spinlock)
++ : "memory"
++ );
++ return tmp;
++}
++
++PT_EI int
++__compare_and_swap (long int *p, long int oldval, long int newval)
++{
++ unsigned long tmp;
++ unsigned long value;
++ __asm__ volatile (
++"1: l32i %0, %2, 0 \n"
++" bne %0, %4, 2f \n"
++" wsr %0, SCOMPARE1 \n"
++" mov %1, %0 \n"
++" mov %0, %3 \n"
++" s32c1i %0, %2, 0 \n"
++" bne %1, %0, 1b \n"
++"2: \n"
++ : "=&a" (tmp), "=&a" (value)
++ : "a" (p), "a" (newval), "a" (oldval)
++ : "memory" );
++
++ return tmp == oldval;
+ }
+
+ /* Get some notion of the current stack. Need not be exactly the top
diff --git a/toolchain/uClibc/uClibc-0.9.30-xtensa-010-sigaction.c.patch b/toolchain/uClibc/uClibc-0.9.30-xtensa-010-sigaction.c.patch
new file mode 100644
index 000000000..5717c2582
--- /dev/null
+++ b/toolchain/uClibc/uClibc-0.9.30-xtensa-010-sigaction.c.patch
@@ -0,0 +1,11 @@
+--- a/libc/sysdeps/linux/xtensa/sigaction.c 2008-09-23 21:11:02.000000000 -0700
++++ b/libc/sysdeps/linux/xtensa/sigaction.c 2008-09-23 21:12:31.000000000 -0700
+@@ -17,6 +17,8 @@
+
+ #define SA_RESTORER 0x04000000
+
++extern __typeof(sigaction) __libc_sigaction;
++
+ extern void __default_sa_restorer (void);
+
+ libc_hidden_proto(memcpy)
diff --git a/toolchain/uClibc/uClibc-0.9.30-xtensa-011-sysdep.h.patch b/toolchain/uClibc/uClibc-0.9.30-xtensa-011-sysdep.h.patch
new file mode 100644
index 000000000..692b0a722
--- /dev/null
+++ b/toolchain/uClibc/uClibc-0.9.30-xtensa-011-sysdep.h.patch
@@ -0,0 +1,19 @@
+--- a/libc/sysdeps/linux/xtensa/sysdep.h 2008-09-23 21:17:42.000000000 -0700
++++ b/libc/sysdeps/linux/xtensa/sysdep.h 2008-09-23 21:17:59.000000000 -0700
+@@ -114,15 +114,7 @@
+
+ #define ret_ERRVAL retw
+
+-#if RTLD_PRIVATE_ERRNO
+-# define SYSCALL_ERROR_HANDLER \
+-0: movi a4, rtld_errno; \
+- neg a2, a2; \
+- s32i a2, a4, 0; \
+- movi a2, -1; \
+- j .Lpseudo_end;
+-
+-#elif defined _LIBC_REENTRANT
++#if defined _LIBC_REENTRANT
+
+ # if USE___THREAD
+ # ifndef NOT_IN_libc
diff --git a/toolchain/uClibc/uClibc-0.9.30-xtensa-012-fnmatch_old.c.patch b/toolchain/uClibc/uClibc-0.9.30-xtensa-012-fnmatch_old.c.patch
new file mode 100644
index 000000000..66cb1f609
--- /dev/null
+++ b/toolchain/uClibc/uClibc-0.9.30-xtensa-012-fnmatch_old.c.patch
@@ -0,0 +1,11 @@
+--- a/libc/misc/fnmatch/fnmatch_old.c 2008-09-23 21:23:13.000000000 -0700
++++ b/libc/misc/fnmatch/fnmatch_old.c 2008-09-23 21:23:33.000000000 -0700
+@@ -15,7 +15,7 @@
+ not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+ Cambridge, MA 02139, USA. */
+
+-#if HAVE_CONFIG_H
++#ifdef HAVE_CONFIG_H
+ # include <config.h>
+ #endif
+
diff --git a/toolchain/uClibc/uClibc-0.9.30-xtensa-013-atomic.h.patch b/toolchain/uClibc/uClibc-0.9.30-xtensa-013-atomic.h.patch
new file mode 100644
index 000000000..fd2037111
--- /dev/null
+++ b/toolchain/uClibc/uClibc-0.9.30-xtensa-013-atomic.h.patch
@@ -0,0 +1,165 @@
+--- /dev/null 2008-09-18 06:50:54.356228028 -0700
++++ uClibc-0.9.29/libc/sysdeps/linux/xtensa/bits/atomic.h 2008-10-04 11:40:21.000000000 -0700
+@@ -0,0 +1,162 @@
++/*
++ * Copyright (C) 2008 Tensilica, Inc.
++ * Contributed by Joe Taylor <joe@tensilica.com> 2008
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++
++#ifndef _XTENSA_BITS_ATOMIC_H
++#define _XTENSA_BITS_ATOMIC_H 1
++
++/* Xtensa has only a 32-bit form of a store-conditional instruction,
++ so just stub out the rest. */
++
++/* Atomically store NEWVAL in *MEM if *MEM is equal to OLDVAL.
++ Return the old *MEM value. */
++
++#define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
++ ({__typeof__(*(mem)) __tmp, __value; \
++ __asm__ __volatile__( \
++ "1: l32i %1, %2, 0 \n" \
++ " bne %1, %4, 2f \n" \
++ " wsr %1, SCOMPARE1 \n" \
++ " mov %0, %1 \n" \
++ " mov %1, %3 \n" \
++ " s32c1i %1, %2, 0 \n" \
++ " bne %0, %1, 1b \n" \
++ "2: \n" \
++ : "=&a" (__value), "=&a" (__tmp) \
++ : "a" (mem), "a" (newval), "a" (oldval) \
++ : "memory" ); \
++ __tmp; \
++ })
++
++/* Atomically store NEWVAL in *MEM if *MEM is equal to OLDVAL.
++ Return zero if *MEM was changed or non-zero if no exchange happened. */
++
++#define __arch_compare_and_exchange_bool_32_acq(mem, newval, oldval) \
++ ({__typeof__(*(mem)) __tmp, __value; \
++ __asm__ __volatile__( \
++ "1: l32i %0, %2, 0 \n" \
++ " sub %1, %4, %0 \n" \
++ " bnez %1, 2f \n" \
++ " wsr %0, SCOMPARE1 \n" \
++ " mov %1, %3 \n" \
++ " s32c1i %1, %2, 0 \n" \
++ " bne %0, %1, 1b \n" \
++ " movi %1, 0 \n" \
++ "2: \n" \
++ : "=&a" (__value), "=&a" (__tmp) \
++ : "a" (mem), "a" (newval), "a" (oldval) \
++ : "memory" ); \
++ __tmp != 0; \
++ })
++
++/* Store NEWVALUE in *MEM and return the old value. */
++
++#define __arch_exchange_32_acq(mem, newval) \
++ ({__typeof__(*(mem)) __tmp, __value; \
++ __asm__ __volatile__( \
++ "1: l32i %0, %2, 0 \n" \
++ " wsr %0, SCOMPARE1 \n" \
++ " mov %1, %3 \n" \
++ " s32c1i %1, %2, 0 \n" \
++ " bne %0, %1, 1b \n" \
++ : "=&a" (__value), "=&a" (__tmp) \
++ : "a" (mem), "a" (newval) \
++ : "memory" ); \
++ __tmp; \
++ })
++
++/* Add VALUE to *MEM and return the old value of *MEM. */
++
++#define __arch_atomic_exchange_and_add_32(mem, value) \
++ ({__typeof__(*(mem)) __tmp, __value; \
++ __asm__ __volatile__( \
++ "1: l32i %0, %2, 0 \n" \
++ " wsr %0, SCOMPARE1 \n" \
++ " add %1, %0, %3 \n" \
++ " s32c1i %1, %2, 0 \n" \
++ " bne %0, %1, 1b \n" \
++ : "=&a" (__value), "=&a" (__tmp) \
++ : "a" (mem), "a" (value) \
++ : "memory" ); \
++ __tmp; \
++ })
++
++/* Subtract VALUE from *MEM and return the old value of *MEM. */
++
++#define __arch_atomic_exchange_and_sub_32(mem, value) \
++ ({__typeof__(*(mem)) __tmp, __value; \
++ __asm__ __volatile__( \
++ "1: l32i %0, %2, 0 \n" \
++ " wsr %0, SCOMPARE1 \n" \
++ " sub %1, %0, %3 \n" \
++ " s32c1i %1, %2, 0 \n" \
++ " bne %0, %1, 1b \n" \
++ : "=&a" (__value), "=&a" (__tmp) \
++ : "a" (mem), "a" (value) \
++ : "memory" ); \
++ __tmp; \
++ })
++
++/* Decrement *MEM if it is > 0, and return the old value. */
++
++#define __arch_atomic_decrement_if_positive_32(mem) \
++ ({__typeof__(*(mem)) __tmp, __value; \
++ __asm__ __volatile__( \
++ "1: l32i %0, %2, 0 \n" \
++ " blti %0, 1, 2f \n" \
++ " wsr %0, SCOMPARE1 \n" \
++ " addi %1, %0, -1 \n" \
++ " s32c1i %1, %2, 0 \n" \
++ " bne %0, %1, 1b \n" \
++ "2: \n" \
++ : "=&a" (__value), "=&a" (__tmp) \
++ : "a" (mem) \
++ : "memory" ); \
++ __tmp; \
++ })
++
++
++/* These are the preferred public interfaces: */
++
++#define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \
++ ({ \
++ if (sizeof (*mem) != 4) \
++ abort(); \
++ __arch_compare_and_exchange_val_32_acq(mem, newval, oldval); \
++ })
++
++#define atomic_exchange_acq(mem, newval) \
++ ({ \
++ if (sizeof(*(mem)) != 4) \
++ abort(); \
++ __arch_exchange_32_acq(mem, newval); \
++ })
++
++#define atomic_exchange_and_add(mem, newval) \
++ ({ \
++ if (sizeof(*(mem)) != 4) \
++ abort(); \
++ __arch_atomic_exchange_and_add_32(mem, newval); \
++ })
++
++#define atomic_exchange_and_sub(mem, newval) \
++ ({ \
++ if (sizeof(*(mem)) != 4) \
++ abort(); \
++ __arch_atomic_exchange_and_sub_32(mem, newval); \
++ })
++
++#define atomic_decrement_if_positive(mem) \
++ ({ \
++ if (sizeof(*(mem)) != 4) \
++ abort(); \
++ __arch_atomic_decrement_if_positive_32(mem); \
++ })
++
++#endif /* _XTENSA_BITS_ATOMIC_H */
++
diff --git a/toolchain/uClibc/uClibc-0.9.30-xtensa-014-setjump.S.patch b/toolchain/uClibc/uClibc-0.9.30-xtensa-014-setjump.S.patch
new file mode 100644
index 000000000..720b44b58
--- /dev/null
+++ b/toolchain/uClibc/uClibc-0.9.30-xtensa-014-setjump.S.patch
@@ -0,0 +1,11 @@
+--- uClibc-0.9.30/libc/sysdeps/linux/xtensa/setjmp.S.orig 2009-05-01 16:57:16.195893000 -0700
++++ uClibc-0.9.30/libc/sysdeps/linux/xtensa/setjmp.S 2009-05-01 16:58:03.885160000 -0700
+@@ -86,7 +86,7 @@ ENTRY (__sigsetjmp)
+ /* Copy 0-8 words from the register overflow area. */
+ extui a3, a0, 30, 2
+ blti a3, 2, .Lendsj
+- l32i a7, a1, 4
++ l32i a7, a5, 4
+ slli a4, a3, 4
+ sub a5, a7, a4
+ addi a6, a2, 16
diff --git a/toolchain/uClibc/uClibc-0.9.30.1-unifdef-getline.patch b/toolchain/uClibc/uClibc-0.9.30.1-unifdef-getline.patch
new file mode 100644
index 000000000..eb8888470
--- /dev/null
+++ b/toolchain/uClibc/uClibc-0.9.30.1-unifdef-getline.patch
@@ -0,0 +1,29 @@
+--- uClibc-0.9.30.1.orig/extra/scripts/unifdef.c
++++ uClibc-0.9.30.1/extra/scripts/unifdef.c
+@@ -206,7 +206,7 @@ static void done(void);
+ static void error(const char *);
+ static int findsym(const char *);
+ static void flushline(bool);
+-static Linetype getline(void);
++static Linetype get_line(void);
+ static Linetype ifeval(const char **);
+ static void ignoreoff(void);
+ static void ignoreon(void);
+@@ -512,7 +512,7 @@ process(void)
+
+ for (;;) {
+ linenum++;
+- lineval = getline();
++ lineval = get_line();
+ trans_table[ifstate[depth]][lineval]();
+ debug("process %s -> %s depth %d",
+ linetype_name[lineval],
+@@ -526,7 +526,7 @@ process(void)
+ * help from skipcomment().
+ */
+ static Linetype
+-getline(void)
++get_line(void)
+ {
+ const char *cp;
+ int cursym;
diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk
index b39b9399b..80d7d9861 100644
--- a/toolchain/uClibc/uclibc.mk
+++ b/toolchain/uClibc/uclibc.mk
@@ -52,6 +52,7 @@ UCLIBC_TARGET_ARCH:=$(shell $(SHELL) -c "echo $(ARCH) | sed \
-e 's/mipsel.*/mips/' \
-e 's/cris.*/cris/' \
-e 's/nios2.*/nios2/' \
+ -e 's/xtensa.*/xtensa/' \
")
# just handle the ones that can be big or little
UCLIBC_TARGET_ENDIAN:=$(shell $(SHELL) -c "echo $(ARCH) | sed \