summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES59
-rw-r--r--Config.in4
-rw-r--r--Makefile18
-rw-r--r--configs/beaglebone_defconfig2
-rw-r--r--docs/README2
-rw-r--r--docs/copyright.txt2
-rw-r--r--docs/download.html24
-rw-r--r--docs/footer.html2
-rw-r--r--docs/header.html4
-rw-r--r--docs/manual/adding-packages-directory.txt11
-rw-r--r--docs/manual/adding-packages-generic.txt2
-rw-r--r--docs/manual/advanced.txt2
-rw-r--r--docs/manual/common-usage.txt115
-rw-r--r--docs/manual/configure.txt77
-rw-r--r--docs/manual/contribute.txt2
-rw-r--r--docs/manual/customize-outside-br.txt10
-rw-r--r--docs/manual/faq-troubleshooting.txt100
-rw-r--r--docs/manual/make-tips.txt6
-rw-r--r--docs/manual/package-make-target.txt5
-rw-r--r--docs/manual/rebuilding-packages.txt132
-rw-r--r--docs/manual/using-buildroot-development.txt84
-rw-r--r--docs/news.html37
-rw-r--r--linux/Config.in4
-rw-r--r--package/Config.in3
-rw-r--r--package/aiccu/Config.in4
-rw-r--r--package/alsa-lib/alsa-lib-0001-avr32-bad-inline.patch (renamed from package/alsa-lib/alsa-lib-avr32-bad-inline.patch)0
-rw-r--r--package/alsa-lib/alsa-lib-0002-no-mmu.patch (renamed from package/alsa-lib/alsa-lib-no-mmu.patch)0
-rw-r--r--package/alsa-lib/alsa-lib-0003-dlmisc.patch57
-rw-r--r--package/alsa-lib/alsa-lib-0004-conditional-enabling-of-libdl-in-m4.patch35
-rw-r--r--package/alsa-utils/Config.in8
-rw-r--r--package/beecrypt/Config.in3
-rw-r--r--package/binutils/2.24/001-fix-enable-install-libiberty-flag.patch46
-rw-r--r--package/binutils/8351467c933d277ebea0c8d99ad2b65b5f7b6bc2/001-fix-enable-install-libiberty-flag.patch46
-rw-r--r--package/binutils/binutils.mk1
-rw-r--r--package/boost/Config.in1
-rw-r--r--package/busybox/busybox.mk12
-rw-r--r--package/cairo/cairo-001-blackfin-build-fix.patch19
-rw-r--r--package/cairo/cairo-003-fix-nofork-build.patch29
-rw-r--r--package/cegui06/Config.in5
-rw-r--r--package/collectd/collectd.mk11
-rw-r--r--package/coreutils/coreutils-01-spawn-uclibc.patch43
-rw-r--r--package/coreutils/coreutils-02-fix-timer-time-m4.patch36
-rw-r--r--package/coreutils/coreutils.mk3
-rw-r--r--package/cppcms/Config.in1
-rw-r--r--package/cppdb/Config.in7
-rw-r--r--package/cryptsetup/Config.in7
-rw-r--r--package/dhcpcd/Config.in6
-rw-r--r--package/distcc/Config.in1
-rw-r--r--package/dmraid/Config.in5
-rw-r--r--package/dropbear/dropbear-fix-missing-TIMEVAL_TO_TIMESPEC.patch11
-rw-r--r--package/dropbear/dropbear.mk2
-rw-r--r--package/e2fsprogs/Config.in3
-rw-r--r--package/e2fsprogs/e2fsprogs.mk4
-rw-r--r--package/efl/Config.in2
-rw-r--r--package/efl/expedite/Config.in4
-rw-r--r--package/efl/libecore/Config.in5
-rw-r--r--package/efl/libedje/Config.in5
-rw-r--r--package/efl/libelementary/Config.in5
-rw-r--r--package/efl/libethumb/Config.in5
-rw-r--r--package/efl/libevas/Config.in10
-rw-r--r--package/efl/libevas/libevas.mk5
-rw-r--r--package/elfutils/Config.in3
-rw-r--r--package/enlightenment/Config.in4
-rw-r--r--package/feh/Config.in1
-rw-r--r--package/gcc/4.7.3/850-xtensa-libgcc-linker-script.patch29
-rw-r--r--package/gcc/4.8.2/850-xtensa-libgcc-linker-script.patch29
-rw-r--r--package/gcc/gcc-final/gcc-final.mk2
-rw-r--r--package/gcc/gcc-initial/gcc-initial.mk2
-rw-r--r--package/gcc/gcc-intermediate/gcc-intermediate.mk2
-rw-r--r--package/gdb/Config.in.host6
-rw-r--r--package/gpm/Config.in1
-rw-r--r--package/gpsd/Config.in3
-rw-r--r--package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0004-Fix-libgstfsl-linkage-add-lrt-for-shared-memory-func.patch46
-rw-r--r--package/gstreamer/gst-plugins-base/Config.in1
-rw-r--r--package/gstreamer/gstreamer/gstreamer.mk2
-rw-r--r--package/gstreamer1/gst1-libav/gst1-libav.mk8
-rw-r--r--package/gstreamer1/gst1-plugins-bad/Config.in11
-rw-r--r--package/gstreamer1/gst1-plugins-base/Config.in1
-rw-r--r--package/gstreamer1/gstreamer1/gstreamer1.mk2
-rw-r--r--package/haserl/Config.in1
-rw-r--r--package/icu/Config.in5
-rw-r--r--package/imagemagick/Config.in1
-rw-r--r--package/imagemagick/imagemagick.mk2
-rw-r--r--package/iozone/Config.in1
-rw-r--r--package/iputils/Config.in4
-rw-r--r--package/jimtcl/jimtcl.mk2
-rw-r--r--package/kexec/kexec-0003-kernel-image-probe-function-return-value-checking-fi.patch41
-rw-r--r--package/libcec/Config.in5
-rw-r--r--package/libcgi/libcgi.mk3
-rw-r--r--package/libcgi/libcgi.patch39
-rw-r--r--package/libgail/Config.in1
-rw-r--r--package/libplayer/Config.in5
-rw-r--r--package/libpng/libpng.mk2
-rw-r--r--package/libsecret/Config.in3
-rw-r--r--package/libsepol/libsepol-01-support-static-only.patch44
-rw-r--r--package/libsepol/libsepol.mk12
-rw-r--r--package/libsigsegv/libsigsegv-0004-fix-bfin-build.patch19
-rw-r--r--package/libtool/libtool-mips64-n64-linking.post-install-patch (renamed from package/libtool/libtool-0001-mips64-n64-linking.patch)0
-rw-r--r--package/libtool/libtool.mk13
-rw-r--r--package/libv4l/libv4l-01-largefile.patch (renamed from package/libv4l/libv4l-largefile.patch)0
-rw-r--r--package/libv4l/libv4l-02-use-openat-when-available.patch34
-rw-r--r--package/libvncserver/Config.in1
-rw-r--r--package/libxml2/libxml2.mk8
-rw-r--r--package/linux-headers/3.3.8/linux-fix-umode_t.patch22
-rw-r--r--package/linux-headers/Config.in.host10
-rw-r--r--package/linux-headers/linux-headers.mk6
-rw-r--r--package/lua/5.1.5/lua-02-shared-libs-for-lua.patch39
-rw-r--r--package/lua/5.2.3/lua-02-shared-libs-for-lua.patch39
-rw-r--r--package/lua/lua.mk60
-rw-r--r--package/luajit/luajit.mk4
-rw-r--r--package/luarocks/luarocks.mk1
-rw-r--r--package/lvm2/Config.in5
-rw-r--r--package/lxc/Config.in2
-rw-r--r--package/matchbox/matchbox-lib/matchbox-lib-0001-index-is-legacy.patch (renamed from package/matchbox/matchbox-lib/matchbox-lib-1.9-index-is-legacy.patch)0
-rw-r--r--package/matchbox/matchbox-lib/matchbox-lib-0002-libpng15.patch (renamed from package/matchbox/matchbox-lib/matchbox-lib-1.9-libpng15.patch)0
-rw-r--r--package/matchbox/matchbox-lib/matchbox-lib-0003-include-setjmp-h.patch17
-rw-r--r--package/midori/Config.in6
-rw-r--r--package/mpg123/Config.in1
-rw-r--r--package/mplayer/Config.in6
-rw-r--r--package/ncftp/ncftp.mk11
-rw-r--r--package/netsnmp/netsnmp.mk4
-rw-r--r--package/nut/nut.mk6
-rw-r--r--package/opencv/Config.in10
-rw-r--r--package/opencv/opencv.mk2
-rw-r--r--package/openpowerlink/Config.in2
-rw-r--r--package/openswan/openswan-wno-error-cpp.patch29
-rw-r--r--package/openswan/openswan.mk2
-rw-r--r--package/pcmanfm/Config.in1
-rw-r--r--package/pcsc-lite/pcsc-lite-0001-pthread-needed-for-libusb.patch29
-rw-r--r--package/pcsc-lite/pcsc-lite.mk1
-rw-r--r--package/php/Config.ext2
-rw-r--r--package/pixman/pixman-01-loongson-cflags.patch (renamed from package/pixman/pixman-loongson-cflags.patch)0
-rw-r--r--package/pixman/pixman-02-check-fe-divbyzero.patch41
-rw-r--r--package/pkg-generic.mk2
-rw-r--r--package/pv/pv.mk8
-rw-r--r--package/python/python.mk1
-rw-r--r--package/python3/python3.mk1
-rw-r--r--package/qt/Config.in2
-rw-r--r--package/qt5/qt5base/Config.in1
-rw-r--r--package/qt5/qt5connectivity/qt5connectivity-0001-don_t-build-scanner-example-without-qtquick.patch30
-rw-r--r--package/qtuio/qtuio.mk13
-rw-r--r--package/ramsmp/Config.in1
-rw-r--r--package/rt-tests/Config.in8
-rw-r--r--package/sawman/sawman.mk1
-rw-r--r--package/sconeserver/Config.in1
-rw-r--r--package/sdl/sdl.mk2
-rw-r--r--package/spice/Config.in4
-rw-r--r--package/strongswan/Config.in4
-rw-r--r--package/systemd/systemd-01-fix-getty-unit.patch (renamed from package/systemd/systemd-fix-getty-unit.patch)0
-rw-r--r--package/systemd/systemd.mk2
-rw-r--r--package/thrift/thrift-04-failed-to-build-on-OSX-10.9-GM.patch88
-rw-r--r--package/thrift/thrift-05-stdlib-and-boost-both-define-uint64_t.patch112
-rw-r--r--package/thrift/thrift.mk2
-rw-r--r--package/transmission/transmission-02-fix-cxx-check-with-ccache.patch44
-rw-r--r--package/transmission/transmission.mk1
-rw-r--r--package/tvheadend/tvheadend.mk2
-rw-r--r--package/uclibc/uclibc.mk3
-rw-r--r--package/udisks/Config.in6
-rw-r--r--package/util-linux/Config.in2
-rw-r--r--package/vlc/Config.in10
-rw-r--r--package/vlc/vlc-0003-automake-add-subdir-objects-option.patch22
-rw-r--r--package/vlc/vlc.mk82
-rw-r--r--package/webkit/Config.in18
-rw-r--r--package/x11r7/xserver_xorg-server/xserver_xorg-server.mk2
-rw-r--r--package/xscreensaver/Config.in5
-rw-r--r--system/Config.in2
-rw-r--r--system/skeleton/etc/fstab2
167 files changed, 2002 insertions, 393 deletions
diff --git a/CHANGES b/CHANGES
index 8a73cc1be3..45a31c40d9 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,62 @@
+2014.02, Released February 27th, 2014
+
+ Minor fixes.
+
+ Updated/fixed packages: cegui06, cppdb, e2fsprogs, gcc, gdb,
+ gst1-plugins-bad, gstreamer, gstreamer1, haserl, imagemagick,
+ libpng, libxml2, lua, luajit, luarock, ncftp, openswan,
+ pcsc-lite, qt5connectivity, ramsmp, strongswan, vlc
+
+ Issues resolved (http://bugs.uclibc.org):
+
+ #6938: mkuser script generates wrong password for new user in..
+
+2014.02-rc3, Released February 25th, 2014
+
+ Minor fixes.
+
+ Updated/fixed packages: aiccu, ala-lib, alsa-utils, binutils,
+ cairo, coreutils, dhcpcd, distcc, efl, evas, iputils, gdb,
+ gpsd, gst-fsl-plugins, icu, libcec, libcgi, libplayer,
+ libsecret, libsepol, libsigsegv, libtool, libv4l,
+ linux-headers, matchbox-lib, mpg123, ncftp, opencv, pcmanfm,
+ pixman, pv, qt, rt-tests, sawman, sconeserver, sdl, thrift,
+ tvheadend, util-linux, webkit, xscreensaver
+
+ Issues resolved (http://bugs.uclibc.org):
+
+ #4706: Removing .stamp_target_installed does not trigger...
+ #5030: busybox built fails if we use an override src dir...
+ #5420: Dbus and /var/run management
+ #5768: Not able to build ALSA-Lib for static build
+ #5774: Not able to build ALSA-Utils for static build
+ #6542: external python modules fail to compile to pyc if...
+ #6764: Support for kernel signed modules
+ #6794: Busybox compiled from buildroot hangs on pass from...
+
+2014.02-rc2, Released February 20th, 2014
+
+ Fixes all over the tree. Static linking / nommu fixes and
+ annotations for several packages.
+
+ Updated/fixed packages: boost, busybox, collectd, coreutils,
+ dropbear, elfutils, feh, gcc, gst1-libav, imagemagick, iozone,
+ jimtcl, kexec, libvncserver, lvm2, lxc, mplayer, netsnmp, nut,
+ opencv, python, python3, qtuio, systemd, thrift, transmission,
+ uclibc, vlc, webkit
+
+ Issues resolved (http://bugs.uclibc.org):
+
+ #5450: AT91SAM9260 Bootstrap compilation problem
+ #5582: libiconv 1.14 failed to build
+ #5624: When building directfb, BR2_TARGET_LDFLAGS not used by..
+ #5852: [2012.11] usb_modeswitch should depends of "BR2_PACK..
+ #6218: binutils-2.23.2/gas fails with undefined reference to..
+ #6236: binutils-2.23.2/bfd fails with undefined reference to..
+ #6470: If the build directory is a child of /usr, the build..
+ #6776: systemd error: static declaration of 'execvpe' follows..
+ #6818: toolchainfile.cmake has absolut path references
+
2014.02-rc1, Released February 11th, 2014
Fixes all over the tree and new features.
diff --git a/Config.in b/Config.in
index 5a2a09813e..b904195e9f 100644
--- a/Config.in
+++ b/Config.in
@@ -178,7 +178,7 @@ if !BR2_PRIMARY_SITE_ONLY
config BR2_BACKUP_SITE
string "Backup download site"
- default "http://sources.buildroot.net/"
+ default "http://sources.buildroot.net"
help
Backup site to download from. If this option is set then buildroot
will fall back to download package sources from here if the
@@ -186,7 +186,7 @@ config BR2_BACKUP_SITE
config BR2_KERNEL_MIRROR
string "Kernel.org mirror"
- default "http://www.kernel.org/pub/"
+ default "http://www.kernel.org/pub"
help
kernel.org is mirrored on a number of servers around the world.
The following allows you to select your preferred mirror.
diff --git a/Makefile b/Makefile
index de568e31e0..2e5d11ef9d 100644
--- a/Makefile
+++ b/Makefile
@@ -2,6 +2,7 @@
#
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 2006-2014 by the Buildroot developers <buildroot@uclibc.org>
+# Copyright (C) 2014 by the Buildroot developers <buildroot@buildroot.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -131,6 +132,11 @@ ifeq ($(BR2_EXTERNAL),)
override BR2_EXTERNAL = support/dummy-external
$(shell rm -f $(BR2_EXTERNAL_FILE))
else
+ _BR2_EXTERNAL = $(shell cd $(BR2_EXTERNAL) >/dev/null 2>&1 && pwd)
+ ifeq ($(_BR2_EXTERNAL),)
+ $(error BR2_EXTERNAL='$(BR2_EXTERNAL)' does not exist, relative to $(TOPDIR))
+ endif
+ override BR2_EXTERNAL := $(_BR2_EXTERNAL)
$(shell echo BR2_EXTERNAL ?= $(BR2_EXTERNAL) > $(BR2_EXTERNAL_FILE))
endif
@@ -143,7 +149,7 @@ endif
# Need that early, before we scan packages
# Avoids doing the $(or...) everytime
-BR2_GRAPH_OUT := $(or $(GRAPH_OUT),pdf)
+_BR2_GRAPH_OUT := $(or $(BR2_GRAPH_OUT),pdf)
BUILD_DIR:=$(BASE_DIR)/build
STAMP_DIR:=$(BASE_DIR)/stamps
@@ -657,18 +663,18 @@ graph-build: $(O)/build/build-time.log
@install -d $(O)/graphs
$(foreach o,name build duration,./support/scripts/graph-build-time \
--type=histogram --order=$(o) --input=$(<) \
- --output=$(O)/graphs/build.hist-$(o).$(BR2_GRAPH_OUT) \
- $(if $(GRAPH_ALT),--alternate-colors)$(sep))
+ --output=$(O)/graphs/build.hist-$(o).$(_BR2_GRAPH_OUT) \
+ $(if $(BR2_GRAPH_ALT),--alternate-colors)$(sep))
$(foreach t,packages steps,./support/scripts/graph-build-time \
--type=pie-$(t) --input=$(<) \
- --output=$(O)/graphs/build.pie-$(t).$(BR2_GRAPH_OUT) \
- $(if $(GRAPH_ALT),--alternate-colors)$(sep))
+ --output=$(O)/graphs/build.pie-$(t).$(_BR2_GRAPH_OUT) \
+ $(if $(BR2_GRAPH_ALT),--alternate-colors)$(sep))
graph-depends:
@$(INSTALL) -d $(O)/graphs
@cd "$(CONFIG_DIR)"; \
$(TOPDIR)/support/scripts/graph-depends \
- |dot -T$(BR2_GRAPH_OUT) -o $(O)/graphs/$(@).$(BR2_GRAPH_OUT)
+ |dot -T$(_BR2_GRAPH_OUT) -o $(O)/graphs/$(@).$(_BR2_GRAPH_OUT)
else # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
diff --git a/configs/beaglebone_defconfig b/configs/beaglebone_defconfig
index 2996336839..15220ed2c0 100644
--- a/configs/beaglebone_defconfig
+++ b/configs/beaglebone_defconfig
@@ -36,4 +36,4 @@ BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/beaglebone/linux-3.12.config"
BR2_LINUX_KERNEL_ZIMAGE=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
-BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-bone"
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-bone am335x-boneblack"
diff --git a/docs/README b/docs/README
index 974adeb56e..944347dd61 100644
--- a/docs/README
+++ b/docs/README
@@ -56,4 +56,4 @@ $ make HOSTCC=gcc-4.3 uclibc-menuconfig
$ make HOSTCC=gcc-4.3 busybox-menuconfig
Please feed suggestions, bug reports, insults, and bribes back to the
-buildroot mailing list: buildroot@uclibc.org
+buildroot mailing list: buildroot@buildroot.org
diff --git a/docs/copyright.txt b/docs/copyright.txt
index 4617d8ee00..0939b748d2 100644
--- a/docs/copyright.txt
+++ b/docs/copyright.txt
@@ -25,6 +25,6 @@ HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
You have been warned.
-You can contact the webmaster at <buildroot@uclibc.org> if you have some sort
+You can contact the webmaster at <buildroot@buildroot.org> if you have some sort
of problem with this.
diff --git a/docs/download.html b/docs/download.html
index 1d2a8af6bb..bae86df1f0 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -6,27 +6,27 @@
<p>
-The latest stable release is <b>2013.11</b>, which can be downloaded
+The latest stable release is <b>2014.02</b>, which can be downloaded
here:<p>
-<a href="/downloads/buildroot-2013.11.tar.gz">buildroot-2013.11.tar.gz</a>
-(<a href="/downloads/buildroot-2013.11.tar.gz.sign">PGP signature</a>)
+<a href="/downloads/buildroot-2014.02.tar.gz">buildroot-2014.02.tar.gz</a>
+(<a href="/downloads/buildroot-2014.02.tar.gz.sign">PGP signature</a>)
or
-<a href="/downloads/buildroot-2013.11.tar.bz2">buildroot-2013.11.tar.bz2</a>
-(<a href="/downloads/buildroot-2013.11.tar.bz2.sign">PGP signature</a>).
+<a href="/downloads/buildroot-2014.02.tar.bz2">buildroot-2014.02.tar.bz2</a>
+(<a href="/downloads/buildroot-2014.02.tar.bz2.sign">PGP signature</a>).
<p>
-
-The latest release candidate is <b>2014.02-rc1</b>, which can be
+<!--
+The latest release candidate is <b>2014.02-rc3</b>, which can be
downloaded here:<p>
-<a href="/downloads/buildroot-2014.02-rc1.tar.gz">buildroot-2014.02-rc1.tar.gz</a>
-(<a href="/downloads/buildroot-2014.02-rc1.tar.gz.sign">PGP signature</a>)
+<a href="/downloads/buildroot-2014.02-rc3.tar.gz">buildroot-2014.02-rc3.tar.gz</a>
+(<a href="/downloads/buildroot-2014.02-rc3.tar.gz.sign">PGP signature</a>)
or
-<a href="/downloads/buildroot-2014.02-rc1.tar.bz2">buildroot-2014.02-rc1.tar.bz2</a>
-(<a href="/downloads/buildroot-2014.02-rc1.tar.bz2.sign">PGP signature</a>).
+<a href="/downloads/buildroot-2014.02-rc3.tar.bz2">buildroot-2014.02-rc3.tar.bz2</a>
+(<a href="/downloads/buildroot-2014.02-rc3.tar.bz2.sign">PGP signature</a>).
<p>
-
+-->
This and earlier releases (and their PGP signatures) can always be downloaded from
<a href="/downloads/">http://buildroot.net/downloads/</a>.
diff --git a/docs/footer.html b/docs/footer.html
index 9cc1e199d5..d3b239b644 100644
--- a/docs/footer.html
+++ b/docs/footer.html
@@ -14,7 +14,7 @@
<br>
Mail all comments, insults, suggestions and bribes to
<br>
- The Buildroot developers <A HREF="mailto:buildroot@uclibc.org">buildroot@uclibc.org</A><BR>
+ The Buildroot developers <A HREF="mailto:buildroot@buildroot.org">buildroot@buildroot.org</A><BR>
</font>
</body>
diff --git a/docs/header.html b/docs/header.html
index b987d85e95..625c0790ae 100644
--- a/docs/header.html
+++ b/docs/header.html
@@ -57,7 +57,9 @@
<br><a href="http://autobuild.buildroot.org">Autobuilder</a>
<br><a href="http://patchwork.buildroot.org">Patchwork</a>
<br><a href="/sponsors.html">Sponsors</a>
-
+ <br><a href="https://plus.google.com/100084591154899263420?prsrc=3" rel="publisher" target="_top" style="text-decoration:none;">
+ <img src="https://ssl.gstatic.com/images/icons/gplus-32.png" alt="Google+" style="border:0;width:32px;height:32px;"/>
+ </a>
</td>
diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt
index 3dc5395937..6145f54479 100644
--- a/docs/manual/adding-packages-directory.txt
+++ b/docs/manual/adding-packages-directory.txt
@@ -327,5 +327,16 @@ different way, using different infrastructures:
CMake. We cover them through a xref:cmake-package-tutorial[tutorial]
and xref:cmake-package-reference[reference].
+* *Makefiles for Python modules*: We have a dedicated infrastructure
+ for Python modules that use either the +distutils+ or the
+ +setuptools+ mechanism. We cover them through a
+ xref:python-package-tutorial[tutorial] and a
+ xref:python-package-reference[reference].
+
+* *Makefiles for Lua modules*: We have a dedicated infrastructure for
+ Lua modules available through the LuaRocks web site. We cover them
+ through a xref:luarocks-package-tutorial[tutorial] and a
+ xref:luarocks-package-reference[reference].
+
Further formatting details: see xref:writing-rules-mk[the writing
rules].
diff --git a/docs/manual/adding-packages-generic.txt b/docs/manual/adding-packages-generic.txt
index 14971b502b..04e589f9af 100644
--- a/docs/manual/adding-packages-generic.txt
+++ b/docs/manual/adding-packages-generic.txt
@@ -253,7 +253,7 @@ information is (assuming the package name is +libfoo+) :
Buildroot should download from +LIBFOO_SITE+ in addition to the main
+LIBFOO_SOURCE+ (which usually is a tarball). Buildroot will not do
anything with those additional files, except download files: it will
- be up to the package recipe to use them from +$(DL_DIR)+.
+ be up to the package recipe to use them from +$(BR2_DL_DIR)+.
* +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the
package source code. In many cases, Buildroot guesses the method
diff --git a/docs/manual/advanced.txt b/docs/manual/advanced.txt
index 764b71a5c7..fb337f5f71 100644
--- a/docs/manual/advanced.txt
+++ b/docs/manual/advanced.txt
@@ -11,3 +11,5 @@ include::ccache-support.txt[]
include::download-location.txt[]
include::package-make-target.txt[]
+
+include::using-buildroot-development.txt[]
diff --git a/docs/manual/common-usage.txt b/docs/manual/common-usage.txt
index 127060dc35..a16b887fb6 100644
--- a/docs/manual/common-usage.txt
+++ b/docs/manual/common-usage.txt
@@ -40,7 +40,13 @@ Or:
$ cd /tmp/build; make O=$PWD -C path/to/buildroot
--------------------
-All the output files will be located under +/tmp/build+.
+All the output files will be located under +/tmp/build+. If the +O+
+path does not exist, Buildroot will create it.
+
+*Note:* the +O+ path can be either an absolute or a relative path, but if it's
+passed as a relative path, it is important to note that it is interpreted
+relative to the main Buildroot source directory, *not* the current working
+directory.
When using out-of-tree builds, the Buildroot +.config+ and temporary
files are also stored in the output directory. This means that you can
@@ -48,8 +54,8 @@ safely run multiple builds in parallel using the same source tree as
long as they use unique output directories.
For ease of use, Buildroot generates a Makefile wrapper in the output
-directory - so after the first run, you no longer need to pass +O=..+
-and +-C ..+, simply run (in the output directory):
+directory - so after the first run, you no longer need to pass +O=<...>+
+and +-C <...>+, simply run (in the output directory):
--------------------
$ make <target>
@@ -86,9 +92,9 @@ to +make+ or set in the environment:
Note that the Buildroot download directory can also be set from the
configuration interface, so through the Buildroot +.config+ file; this
is the recommended way of setting it.
-* +GRAPH_ALT+, if set and non-empty, to use an alternate color-scheme in
+* +BR2_GRAPH_ALT+, if set and non-empty, to use an alternate color-scheme in
build-time graphs
-* +GRAPH_OUT+ to set the filetype of generated graphs, either +pdf+ (the
+* +BR2_GRAPH_OUT+ to set the filetype of generated graphs, either +pdf+ (the
default), or +png+.
An example that uses config files located in the toplevel directory and
@@ -143,3 +149,102 @@ of an ext2 filesystem may be corrupted; or, if you have sparse files in
your filesystem, those parts may not be all-zeroes when read back). You
should only use sparse files when handling files on the build machine, not
when transferring them to an actual device that will be used on the target.
+
+Graphing the dependencies between packages
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+[[graph-depends]]
+
+One of Buildroot's jobs is to know the dependencies between packages,
+and make sure they are built in the right order. These dependencies
+can sometimes be quite complicated, and for a given system, it is
+often not easy to understand why such or such package was brought into
+the build by Buildroot.
+
+In order to help understanding the dependencies, and therefore better
+understand what is the role of the different components in your
+embedded Linux system, Buildroot is capable of generating dependency
+graphs.
+
+To generate a dependency graph of the full system you have compiled,
+simply run:
+
+------------------------
+make graph-depends
+------------------------
+
+You will find the generated graph in
++output/graphs/graph-depends.pdf+.
+
+If your system is quite large, the dependency graph may be too complex
+and difficult to read. It is therefore possible to generate the
+dependency graph just for a given package:
+
+------------------------
+make <pkg>-graph-depends
+------------------------
+
+You will find the generated graph in
++output/graph/<pkg>-graph-depends.pdf+.
+
+Note that the dependency graphs are generated using the +dot+ tool
+from the _Graphviz_ project, which you must have installed on your
+system to use this feature. In most distributions, it is available as
+the +graphviz+ package.
+
+By default, the dependency graphs are generated in the PDF
+format. However, by passing the +BR2_GRAPH_OUT+ environment variable, you
+can switch to other output formats, such as PNG, PostScript or
+SVG. All formats supported by the +-T+ option of the +dot+ tool are
+supported.
+
+--------------------------------
+BR2_GRAPH_OUT=svg make graph-depends
+--------------------------------
+
+Graphing the build duration
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+[[graph-duration]]
+
+When the build of a system takes a long time, it is sometimes useful
+to be able to understand which packages are the longest to build, to
+see if anything can be done to speed up the build. In order to help
+such build time analysis, Buildroot collects the build time of each
+step of each package, and allows to generate graphs from this data.
+
+To generate the build time graph after a build, run:
+
+----------------
+make graph-build
+----------------
+
+This will generate a set of files in +output/graphs+ :
+
+* +build.hist-build.pdf+, a histogram of the build time for each
+ package, ordered in the build order.
+
+* +build.hist-duration.pdf+, a histogram of the build time for each
+ package, ordered by duration (longest first)
+
+* +build.hist-name.pdf+, a histogram of the build time for each
+ package, order by package name.
+
+* +build.pie-packages.pdf+, a pie chart of the build time per package
+
+* +build.pie-steps.pdf+, a pie chart of the global time spent in each
+ step of the packages build process.
+
+This +graph-build+ target requires the Python Matplotlib and Numpy
+libraries to be installed (+python-matplotlib+ and +python-numpy+ on
+most distributions), and also the +argparse+ module if you're using a
+Python version older than 2.7 (+python-argparse+ on most
+distributions).
+
+By default, the output format for the graph is PDF, but a different
+format can be selected using the +BR2_GRAPH_OUT+ environment variable. The
+only other format supported is PNG:
+
+----------------
+BR2_GRAPH_OUT=png make graph-build
+----------------
diff --git a/docs/manual/configure.txt b/docs/manual/configure.txt
index 9b8135a6a4..badb6e473c 100644
--- a/docs/manual/configure.txt
+++ b/docs/manual/configure.txt
@@ -68,12 +68,10 @@ The _internal toolchain backend_ is the backend where Buildroot builds
by itself a cross-compilation toolchain, before building the userspace
applications and libraries for your target embedded system.
-This backend is the historical backend of Buildroot, and has been
-limited for a long time to the usage of the
-http://www.uclibc.org[uClibc C library]. Support for the _eglibc_ C
-library has been added in 2013 and is at this point considered
-experimental. See the _External toolchain backend_ for another
-solution to use _glibc_ or _eglibc_.
+This backend supports several C libraries:
+http://www.uclibc.org[uClibc], the
+http://www.gnu.org/software/libc/libc.html[glibc] and
+http://www.eglibc.org[eglibc].
Once you have selected this backend, a number of options appear. The
most important ones allow to:
@@ -96,18 +94,7 @@ most important ones allow to:
the C library might be using interfaces that are not provided by
your Linux kernel.
- * Change the version and the configuration of the uClibc C library
- (if uClibc is selected). The default options are usually
- fine. However, if you really need to specifically customize the
- configuration of your uClibc C library, you can pass a specific
- configuration file here. Or alternatively, you can run the +make
- uclibc-menuconfig+ command to get access to uClibc's configuration
- interface. Note that all packages in Buildroot are tested against
- the default uClibc configuration bundled in Buildroot: if you
- deviate from this configuration by removing features from uClibc,
- some packages may no longer build.
-
- * Change the version of the GCC compiler and binutils.
+ * Change the version of the GCC compiler, binutils and the C library.
* Select a number of toolchain options (uClibc only): whether the
toolchain should have largefile support (i.e support for files
@@ -118,7 +105,12 @@ most important ones allow to:
libraries visible in Buildroot menus will change: many applications
and libraries require certain toolchain options to be enabled. Most
packages show a comment when a certain toolchain option is required
- to be able to enable those packages.
+ to be able to enable those packages. If needed, you can further
+ refine the uClibc configuration by running +make
+ uclibc-menuconfig+. Note however that all packages in Buildroot are
+ tested against the default uClibc configuration bundled in
+ Buildroot: if you deviate from this configuration by removing
+ features from uClibc, some packages may no longer build.
It is worth noting that whenever one of those options is modified,
then the entire toolchain and system must be rebuilt. See
@@ -146,10 +138,9 @@ http://www.linaro.org[Linaro] for ARM,
http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/[Sourcery
CodeBench] for ARM, x86, x86-64, PowerPC, MIPS and SuperH,
https://blackfin.uclinux.org/gf/project/toolchain[Blackfin toolchains
-from ADI], http://git.xilinx.com/[Xilinx toolchains for Microblaze],
-etc.) and is capable of downloading them automatically, or it can be
-pointed to a custom toolchain, either available for download or
-installed locally.
+from Analog Devices], etc.) and is capable of downloading them
+automatically, or it can be pointed to a custom toolchain, either
+available for download or installed locally.
Then, you have three solutions to use an external toolchain:
@@ -168,14 +159,14 @@ Then, you have three solutions to use an external toolchain:
toolchain.
* Use a completely custom external toolchain. This is particularly
- useful for toolchains generated using crosstool-NG. To do this,
- select the +Custom toolchain+ solution in the +Toolchain+ list. You
- need to fill the +Toolchain path+, +Toolchain prefix+ and +External
- toolchain C library+ options. Then, you have to tell Buildroot what
- your external toolchain supports. If your external toolchain uses
- the 'glibc' library, you only have to tell whether your toolchain
- supports C\+\+ or not and whether it has built-in RPC support. If
- your external toolchain uses the 'uClibc'
+ useful for toolchains generated using crosstool-NG or with Buildroot
+ itself. To do this, select the +Custom toolchain+ solution in the
+ +Toolchain+ list. You need to fill the +Toolchain path+, +Toolchain
+ prefix+ and +External toolchain C library+ options. Then, you have
+ to tell Buildroot what your external toolchain supports. If your
+ external toolchain uses the 'glibc' library, you only have to tell
+ whether your toolchain supports C\+\+ or not and whether it has
+ built-in RPC support. If your external toolchain uses the 'uClibc'
library, then you have to tell Buildroot if it supports largefile,
IPv6, RPC, wide-char, locale, program invocation, threads and
C++. At the beginning of the execution, Buildroot will tell you if
@@ -188,23 +179,13 @@ Buildroot itself. In general, all toolchains that support the
'sysroot' feature should work. If not, do not hesitate to contact the
developers.
-We do not support toolchains from the
-http://www.denx.de/wiki/DULG/ELDK[ELDK] of Denx, for two reasons:
-
-* The ELDK does not contain a pure toolchain (i.e just the compiler,
- binutils, the C and C++ libraries), but a toolchain that comes with
- a very large set of pre-compiled libraries and programs. Therefore,
- Buildroot cannot import the 'sysroot' of the toolchain, as it would
- contain hundreds of megabytes of pre-compiled libraries that are
- normally built by Buildroot.
-
-* The ELDK toolchains have a completely non-standard custom mechanism
- to handle multiple library variants. Instead of using the standard
- GCC 'multilib' mechanism, the ARM ELDK uses different symbolic links
- to the compiler to differentiate between library variants (for ARM
- soft-float and ARM VFP), and the PowerPC ELDK compiler uses a
- +CROSS_COMPILE+ environment variable. This non-standard behaviour
- makes it difficult to support ELDK in Buildroot.
+We do not support toolchains or SDK generated by OpenEmbedded or
+Yocto, because these toolchains are not pure toolchains (i.e just the
+compiler, binutils, the C and C++ libraries). Instead these toolchains
+come with a very large set of pre-compiled libraries and
+programs. Therefore, Buildroot cannot import the 'sysroot' of the
+toolchain, as it would contain hundreds of megabytes of pre-compiled
+libraries that are normally built by Buildroot.
We also do not support using the distribution toolchain (i.e the
gcc/binutils/C library installed by your distribution) as the
diff --git a/docs/manual/contribute.txt b/docs/manual/contribute.txt
index 201685cc78..5602335044 100644
--- a/docs/manual/contribute.txt
+++ b/docs/manual/contribute.txt
@@ -48,7 +48,7 @@ before submitting them using your favorite text editor.
Lastly, send/submit your patch set to the Buildroot mailing list:
---------------------
-$ git send-email --to buildroot@busybox.net outgoing/*
+$ git send-email --to buildroot@buildroot.org outgoing/*
---------------------
Note that +git+ should be configured to use your mail account.
diff --git a/docs/manual/customize-outside-br.txt b/docs/manual/customize-outside-br.txt
index 585eedffef..7498940948 100644
--- a/docs/manual/customize-outside-br.txt
+++ b/docs/manual/customize-outside-br.txt
@@ -30,18 +30,18 @@ there is no need to pass +BR2_EXTERNAL+ at every +make+ invocation. It
can however be changed at any time by passing a new value, and can be
removed by passing an empty value.
-The +BR2_EXTERNAL+ path can be either an absolute or a relative path,
+*Note:* the +BR2_EXTERNAL+ path can be either an absolute or a relative path,
but if it's passed as a relative path, it is important to note that it
-is interpreted relatively to the main Buildroot source directory, not
+is interpreted relative to the main Buildroot source directory, *not*
the Buildroot output directory.
Some examples:
-----
- buildroot/ $ make BR2_EXTERNAL=../foobar menuconfig
+ buildroot/ $ make BR2_EXTERNAL=/path/to/foobar menuconfig
-----
-Starting from now on, external definitions from the +../foobar+
+Starting from now on, external definitions from the +/path/to/foobar+
directory will be used:
-----
@@ -52,7 +52,7 @@ directory will be used:
We can switch to another external definitions directory at any time:
-----
- buildroot/ $ make BR2_EXTERNAL=../barfoo xconfig
+ buildroot/ $ make BR2_EXTERNAL=/where/we/have/barfoo xconfig
-----
Or disable the usage of external definitions:
diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt
index 4e0612b8d7..4026e18ebd 100644
--- a/docs/manual/faq-troubleshooting.txt
+++ b/docs/manual/faq-troubleshooting.txt
@@ -111,3 +111,103 @@ directory as the new root, will most likely fail.
If you want to run the target filesystem inside a chroot, or as an NFS
root, then use the tarball image generated in +images/+ and extract it
as root.
+
+[[faq-no-binary-packages]]
+Why doesn't Buildroot generate binary packages (.deb, .ipkg...)?
+----------------------------------------------------------------
+
+One feature that is often discussed on the Buildroot list is the
+the general topic of "package management". To summarize, the idea
+would be to add some tracking of which Buildroot package installs
+what files, with the goals of:
+
+ * being able to remove files installed by a package when this package
+ gets unselected from the menuconfig;
+
+ * being able to generate binary packages (ipk or other format) that
+ can be installed on the target without re-generating a new root
+ filesystem image.
+
+In general, most people think it is easy to do: just track which package
+installed what and remove it when the package is unselected. However, it
+is much more complicated than that:
+
+ * It is not only about the +target/+ directory, but also the sysroot in
+ +host/usr/<tuple>/sysroot+ and the +host/+ directory itself. All files
+ installed in those directories by various packages must be tracked.
+
+ * When a package is unselected from the configuration, it is not
+ sufficient to remove just the files it installed. One must also
+ remove all its reverse dependencies (i.e packages relying on it)
+ and rebuild all those packages. For example, package A depends
+ optionally on the OpenSSL library. Both are selected, and Buildroot
+ is built. Package A is built with crypto support using OpenSSL.
+ Later on, OpenSSL gets unselected from the configuration, but
+ package A remains (since OpenSSL is an optional dependency, this
+ is possible.) If only OpenSSL files are removed, then the files
+ installed by package A are broken: they use a library that is no
+ longer present on the target. Although this is technically doable,
+ it adds a lot of complexity to Buildroot, which goes against the
+ simplicity we try to stick to.
+
+ * In addition to the previous problem, there is the case where the
+ optional dependency is not even known to Buildroot. For example,
+ package A in version 1.0 never used OpenSSL, but in version 2.0 it
+ automatically uses OpenSSL if available. If the Buildroot .mk file
+ hasn't been updated to take this into account, then package A will
+ not be part of the reverse dependencies of OpenSSL and will not be
+ removed and rebuilt when OpenSSL is removed. For sure, the .mk file
+ of package A should be fixed to mention this optional dependency,
+ but in the mean time, you can have non-reproducible behaviors.
+
+ * The request is to also allow changes in the menuconfig to be
+ applied on the output directory without having to rebuild
+ everything from scratch. However, this is very difficult to achieve
+ in a reliable way: what happens when the suboptions of a package
+ are changed (we would have to detect this, and rebuild the package
+ from scratch and potentially all its reverse dependencies), what
+ happens if toolchain options are changed, etc. At the moment, what
+ Buildroot does is clear and simple so its behaviour is very
+ reliable and it is easy to support users. If configuration changes
+ done in menuconfig are applied after the next make, then it has to
+ work correctly and properly in all situations, and not have some
+ bizarre corner cases. The risk is to get bug reports like "I have
+ enabled package A, B and C, then ran make, then disabled package
+ C and enabled package D and ran make, then re-enabled package C
+ and enabled package E and then there is a build failure". Or worse
+ "I did some configuration, then built, then did some changes,
+ built, some more changes, built, some more changes, built, and now
+ it fails, but I don't remember all the changes I did and in which
+ order". This will be impossible to support.
+
+For all these reasons, the conclusion is that adding tracking of
+installed files to remove them when the package is unselected, or to
+generate a repository of binary packages, is something that is very
+hard to achieve reliably and will add a lot of complexity.
+
+On this matter, the Buildroot developers make this position statement:
+
+ * Buildroot strives to make it easy to generate a root filesystem (hence
+ the name, by the way.) That is what we want to make Buildroot good at:
+ building root filesystems.
+
+ * Buildroot is not meant to be a distribution (or rather, a distribution
+ generator.) It is the opinion of most Buildroot developers that this
+ is not a goal we should pursue. We believe that there are other tools
+ better suited to generate a distro than Buildroot is. For example,
+ http://openembedded.org/[Open Embedded], or https://openwrt.org/[openWRT],
+ are such tools.
+
+ * We prefer to push Buildroot in a direction that makes it easy (or even
+ easier) to generate complete root filesystems. This is what makes
+ Buildroot stands out in the crowd (among other things, of course!)
+
+ * We believe that for most embedded Linux systems, binary packages are
+ not necessary, and potentially harmful. When binary packages are
+ used, it means that the system can be partially upgraded, which
+ creates an enormous number of possible combinations of package
+ versions that should be tested before doing the upgrade on the
+ embedded device. On the other hand, by doing complete system
+ upgrades by upgrading the entire root filesystem image at once,
+ the image deployed to the embedded system is guaranteed to really
+ be the one that has been tested and validated.
diff --git a/docs/manual/make-tips.txt b/docs/manual/make-tips.txt
index 0159ffe7ce..faf59f2c62 100644
--- a/docs/manual/make-tips.txt
+++ b/docs/manual/make-tips.txt
@@ -32,10 +32,12 @@ The result of the search shows the help message of the matching items.
Not all targets are always available,
some settings in the +.config+ file may hide some targets:
+* +busybox-menuconfig+ and +busybox-savedefconfig+ ony work when
+ +busybox+ is enabled;
* +linux-menuconfig+ and +linux-savedefconfig+ only work when
+linux+ is enabled;
-* +uclibc-menuconfig+ is only available when the
- Buildroot internal toolchain backend is used;
+* +uclibc-menuconfig+ is only available when the uClibc C library is
+ selected in the internal toolchain backend;
* +barebox-menuconfig+ and +barebox-savedefconfig+ only work when the
+barebox+ bootloader is enabled.
diff --git a/docs/manual/package-make-target.txt b/docs/manual/package-make-target.txt
index 9eefe680b0..bd514f40e8 100644
--- a/docs/manual/package-make-target.txt
+++ b/docs/manual/package-make-target.txt
@@ -63,6 +63,11 @@ Additionally, there are some other useful make targets:
| +show-depends+ | Displays the dependencies required to build the
package
+| +graph-depends+ | Generate a dependency graph of the package, in the
+context of the current Buildroot configuration. See
+xref:graph-depends[this section] for more details about dependency
+graphs.
+
| +dirclean+ | Remove the whole package build directory
| +rebuild+ | Re-run the compilation commands - this only makes
diff --git a/docs/manual/rebuilding-packages.txt b/docs/manual/rebuilding-packages.txt
index 88d667015d..b2d10decc7 100644
--- a/docs/manual/rebuilding-packages.txt
+++ b/docs/manual/rebuilding-packages.txt
@@ -5,33 +5,82 @@
Understanding when a full rebuild is necessary
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-A full rebuild is achieved by running:
+Buildroot does not attempt to detect what parts of the system should
+be rebuilt when the system configuration is changed through +make
+menuconfig+, +make xconfig+ or one of the other configuration
+tools. In some cases, Buildroot should rebuild the entire system, in
+some cases, only a specific subset of packages. But detecting this in
+a completely reliable manner is very difficult, and therefore the
+Buildroot developers have decided to simply not attempt to do this.
+
+Instead, it is the responsibility of the user to know when a full
+rebuild is necessary. As a hint, here are a few rules of thumb that
+can help you understand how to work with Buildroot:
+
+ * When the target architecture configuration is changed, a complete
+ rebuild is needed. Changing the architecture variant, the binary
+ format or the floating point strategy for example has an impact on
+ the entire system.
+
+ * When the toolchain configuration is changed, a complete rebuild
+ generally is needed. Changing the toolchain configuration often
+ involves changing the compiler version, the type of C library or
+ its configuration, or some other fundamental configuration item,
+ and these changes have an impact on the entire system.
+
+ * When an additional package is added to the configuration, a full
+ rebuild is not necessarily needed. Buildroot will detect that this
+ package has never been built, and will build it. However, if this
+ package is a library that can optionally be used by packages that
+ have already been built, Buildroot will not automatically rebuild
+ those. Either you know which packages should be rebuilt, and you
+ can rebuild them manually, or you should do a full rebuild. For
+ example, let's suppose you have built a system with the +ctorrent+
+ package, but without +openssl+. Your system works, but you realize
+ you would like to have SSL support in +ctorrent+, so you enable the
+ +openssl+ package in Buildroot configuration and restart the
+ build. Buildroot will detect that +openssl+ should be built and
+ will be build it, but it will not detect that +ctorrent+ should be
+ rebuilt to benefit from +openssl+ to add OpenSSL support. You will
+ either have to do a full rebuild, or rebuild +ctorrent+ itself.
+
+ * When a package is removed from the configuration, Buildroot does
+ not do anything special. It does not remove the files installed by
+ this package from the target root filesystem or from the toolchain
+ _sysroot_. A full rebuild is needed to get rid of this
+ package. However, generally you don't necessarily need this package
+ to be removed right now: you can wait for the next lunch break to
+ restart the build from scratch.
+
+ * When the sub-options of a package are changed, the package is not
+ automatically rebuilt. After making such changes, rebuilding only
+ this package is often sufficient, unless enabling the package
+ sub-option adds some features to the package that are useful for
+ another package which has already been built. Again, Buildroot does
+ not track when a package should be rebuilt: once a package has been
+ built, it is never rebuilt unless explicitly told to do so.
+
+ * When a change to the root filesystem skeleton is made, a full
+ rebuild is needed. However, when changes to the root filesystem
+ overlay, a post-build script or a post-image script are made,
+ there is no need for a full rebuild: a simple +make+ invocation
+ will take the changes into account.
+
+Generally speaking, when you're facing a build error and you're unsure
+of the potential consequences of the configuration changes you've
+made, do a full rebuild. If you get the same build error, then you are
+sure that the error is not related to partial rebuilds of packages,
+and if this error occurs with packages from the official Buildroot, do
+not hesitate to report the problem! As your experience with Buildroot
+progresses, you will progressively learn when a full rebuild is really
+necessary, and you will save more and more time.
+
+For reference, a full rebuild is achieved by running:
---------------
$ make clean all
---------------
-In some cases, a full rebuild is mandatory:
-
-* each time the toolchain properties are changed, this includes:
-
-** after changing any toolchain option under the _Toolchain_ menu (if
- the internal Buildroot backend is used);
-** after running +make uclibc-menuconfig+.
-
-* after removing some libraries from the package selection.
-
-In some cases, a full rebuild is recommended:
-
-* after adding some libraries to the package selection (otherwise,
- packages that can be optionally linked against those libraries
- won't be rebuilt, so they won't support those new available
- features).
-
-In other cases, it is up to you to decide if you should run a
-full rebuild, but you should know what is impacted and understand what
-you are doing anyway.
-
[[rebuild-pkg]]
Understanding how to rebuild packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -51,26 +100,25 @@ its build directory in +output/build+. Buildroot will then re-extract,
re-configure, re-compile and re-install this package from scratch. You
can ask buildroot to do this with the +make <package>-dirclean+ command.
-For convenience, the special make targets
-<package>-reconfigure and <package>-rebuild repeat the configure
-resp. build steps.
-
-However, if you don't want to rebuild the package completely from
-scratch, a better understanding of the Buildroot internals is
-needed. Internally, to keep track of which steps have been done and
-which steps remain to be done, Buildroot maintains stamp files (empty
-files that just tell whether this or that action has been done):
-
-* +output/build/<package>-<version>/.stamp_configured+. If removed,
- Buildroot will trigger the recompilation of the package from the
- configuration step (execution of +./configure+).
-
-* +output/build/<package>-<version>/.stamp_built+. If removed,
- Buildroot will trigger the recompilation of the package from the
- compilation step (execution of +make+).
-
-Note: toolchain packages use custom makefiles. Their stamp files are named
-differently.
+On the other hand, if you only want to restart the build process of a
+package from its compilation step, you can run +make
+<package>-rebuild+, followed by +make+ or +make <package>+. It will
+restart the compilation and installation of the package, but not from
+scratch: it basically re-executes +make+ and +make install+
+inside the package, so it will only rebuild files that changed.
+
+If you want to restart the build process of a package from its
+configuration step, you can run +make <package>-reconfigure+, followed
+by +make+ or +make <package>+. It will restart the configuration,
+compilation and installation of the package.
+
+Internally, Buildroot creates so-called _stamp files_ to keep track of
+which build steps have been completed for each package. They are
+stored in the package build directory,
++output/build/<package>-<version>/+ and are named
++.stamp_<step-name>+. The commands detailed above simply manipulate
+these stamp files to force Buildroot to restart a specific set of
+steps of a package build process.
Further details about package special make targets are explained in
xref:pkg-build-steps[].
diff --git a/docs/manual/using-buildroot-development.txt b/docs/manual/using-buildroot-development.txt
new file mode 100644
index 0000000000..eaebeaf9fe
--- /dev/null
+++ b/docs/manual/using-buildroot-development.txt
@@ -0,0 +1,84 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Using Buildroot during development
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The normal operation of Buildroot is to download a tarball, extract
+it, configure, compile and install the software component found inside
+this tarball. The source code is extracted in
++output/build/<package>-<version>+, which is a temporary directory:
+whenever +make clean+ is used, this directory is entirely removed, and
+re-recreated at the next +make+ invocation. Even when a Git or
+Subversion repository is used as the input for the package source
+code, Buildroot creates a tarball out of it, and then behaves as it
+normally does with tarballs.
+
+This behavior is well-suited when Buildroot is used mainly as an
+integration tool, to build and integrate all the components of an
+embedded Linux system. However, if one uses Buildroot during the
+development of certain components of the system, this behavior is not
+very convenient: one would instead like to make a small change to the
+source code of one package, and be able to quickly rebuild the system
+with Buildroot.
+
+Making changes directly in +output/build/<package>-<version>+ is not
+an appropriate solution, because this directory is removed on +make
+clean+.
+
+Therefore, Buildroot provides a specific mechanism for this use case:
+the +<pkg>_OVERRIDE_SRCDIR+ mechanism. Buildroot reads an _override_
+file, which allows the user to tell Buildroot the location of the
+source for certain packages. By default this _override_ file is named
++local.mk+ and located in the top directory of the Buildroot source
+tree, but a different location can be specified through the
++BR2_PACKAGE_OVERRIDE_FILE+ configuration option.
+
+In this _override_ file, Buildroot expects to find lines of the form:
+
+------------------
+<pkg1>_OVERRIDE_SRCDIR = /path/to/pkg1/sources
+<pkg2>_OVERRIDE_SRCDIR = /path/to/pkg2/sources
+------------------
+
+For example:
+
+------------------
+LINUX_OVERRIDE_SRCDIR = /home/bob/linux/
+BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/
+------------------
+
+When Buildroot finds that for a given package, an
++<pkg>_OVERRIDE_SRCDIR+ has been defined, it will no longer attempt to
+download, extract and patch the package. Instead, it will directly use
+the source code available in in the specified directory and +make
+clean+ will not touch this directory. This allows to point Buildroot
+to your own directories, that can be managed by Git, Subversion, or
+any other version control system. To achieve this, Buildroot will use
+_rsync_ to copy the source code of the component from the specified
++<pkg>_OVERRIDE_SRCDIR+ to +output/build/<package>-custom/+.
+
+This mechanism is best used in conjuction with the +make
+<pkg>-rebuild+ and +make <pkg>-reconfigure+ targets. A +make
+<pkg>-rebuild all+ sequence will _rsync_ the source code from
++<pkg>_OVERRIDE_SRCDIR+ to +output/build/<package>-custom+ (thanks to
+_rsync_, only the modified files are copied), and restart the build
+process of just this package.
+
+In the example of the +linux+ package above, the developer can then
+make a source code change in +/home/bob/linux+ and then run:
+
+-----------------------
+make linux-rebuild all
+-----------------------
+
+and in a matter of seconds gets the updated Linux kernel image in
++output/images+. Similarly, a change can be made to the Busybox source
+code in +/home/bob/busybox+, and after:
+
+-----------------------
+make busybox-rebuild all
+-----------------------
+
+the root filesystem image in +output/images+ contains the updated
+Busybox.
diff --git a/docs/news.html b/docs/news.html
index e473ba00ba..9efca65834 100644
--- a/docs/news.html
+++ b/docs/news.html
@@ -5,12 +5,47 @@
<p>
<ul>
+ <li><b>27 February 2014 -- 2014.02 released</b>
+
+ <p>The stable 2014.02 release is out - Thanks to everyone
+ contributing and testing the release candidates. See the
+ <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.02">CHANGES</a>
+ file for more details,
+ and go to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2014.02.tar.bz2">2014.02 release</a>.</p>
+
+ <li><b>25 February 2014 -- 2014.02-rc3 released</b>
+
+ <p>Release candidate 3 is out with more cleanups and build fixes. See the <a
+ href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.02-rc3">CHANGES</a>
+ file for details.</p>
+
+ <p>Head to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2014.02-rc3.tar.bz2">2014.02-rc3
+ release candidate</a>, and report any problems found to the <a
+ href="lists.html">mailing list</a> or <a
+ href="https://bugs.uclibc.org">bug tracker</a>.</p>
+
+ <li><b>20 February 2014 -- 2014.02-rc2 released</b>
+
+ <p>Another week, another release candidate with more cleanups and
+ build fixes. See the <a
+ href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.02-rc2">CHANGES</a>
+ file for details.</p>
+
+ <p>Head to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2014.02-rc2.tar.bz2">2014.02-rc2
+ release candidate</a>, and report any problems found to the <a
+ href="lists.html">mailing list</a> or <a
+ href="https://bugs.uclibc.org">bug tracker</a>.</p>
+
<li><b>11 February 2014 -- 2014.02-rc1 released</b>
<p>We have a new release candidate! Lots of changes all over the
tree, see the <a
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.02-rc1">CHANGES</a>
- file for details.</p>
+ file for details, and read the
+ <a href="http://lists.busybox.net/pipermail/buildroot/2014-February/089055.html">announcement</a>.</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2014.02-rc1.tar.bz2">2014.02-rc1
diff --git a/linux/Config.in b/linux/Config.in
index ea780972fa..1f8ddf5811 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -21,7 +21,7 @@ choice
prompt "Kernel version"
config BR2_LINUX_KERNEL_LATEST_VERSION
- bool "3.13.2"
+ bool "3.13.5"
config BR2_LINUX_KERNEL_SAME_AS_HEADERS
bool "Same as toolchain kernel headers"
@@ -104,7 +104,7 @@ config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
config BR2_LINUX_KERNEL_VERSION
string
- default "3.13.2" if BR2_LINUX_KERNEL_LATEST_VERSION
+ default "3.13.5" if BR2_LINUX_KERNEL_LATEST_VERSION
default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
if BR2_LINUX_KERNEL_CUSTOM_VERSION
diff --git a/package/Config.in b/package/Config.in
index fd081fd4a7..ab917195f3 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -365,7 +365,8 @@ source "package/jimtcl/Config.in"
source "package/lua/Config.in"
source "package/luainterpreter/Config.in"
source "package/luajit/Config.in"
-if BR2_PACKAGE_HAS_LUA_INTERPRETER
+if BR2_PACKAGE_HAS_LUA_INTERPRETER && !BR2_PREFER_STATIC_LIB
+# lua modules are dynamically loaded, so not available on static builds
menu "Lua libraries/modules"
source "package/cgilua/Config.in"
source "package/copas/Config.in"
diff --git a/package/aiccu/Config.in b/package/aiccu/Config.in
index 17e64497eb..9865b5c053 100644
--- a/package/aiccu/Config.in
+++ b/package/aiccu/Config.in
@@ -7,6 +7,10 @@ config BR2_PACKAGE_AICCU
# Uses dn_skipname(), only available since 0.9.33
depends on !BR2_UCLIBC_VERSION_0_9_31 && \
!BR2_UCLIBC_VERSION_0_9_32
+ # AVR32 only has uClibc 0.9.31, so there's no way it can build
+ # due to the lack of dn_skipname(), even with external
+ # toolchains.
+ depends on !BR2_avr32
select BR2_PACKAGE_GNUTLS
help
SixXS Automatic IPv6 Connectivity Client Utility
diff --git a/package/alsa-lib/alsa-lib-avr32-bad-inline.patch b/package/alsa-lib/alsa-lib-0001-avr32-bad-inline.patch
index 568ba40a4e..568ba40a4e 100644
--- a/package/alsa-lib/alsa-lib-avr32-bad-inline.patch
+++ b/package/alsa-lib/alsa-lib-0001-avr32-bad-inline.patch
diff --git a/package/alsa-lib/alsa-lib-no-mmu.patch b/package/alsa-lib/alsa-lib-0002-no-mmu.patch
index 317676af4c..317676af4c 100644
--- a/package/alsa-lib/alsa-lib-no-mmu.patch
+++ b/package/alsa-lib/alsa-lib-0002-no-mmu.patch
diff --git a/package/alsa-lib/alsa-lib-0003-dlmisc.patch b/package/alsa-lib/alsa-lib-0003-dlmisc.patch
new file mode 100644
index 0000000000..05dc70ee7e
--- /dev/null
+++ b/package/alsa-lib/alsa-lib-0003-dlmisc.patch
@@ -0,0 +1,57 @@
+alsa-lib: provide dummy definitions of RTLD_* if necessary
+
+The FLAT GNU toolchain (e.g. blackfin) doesn't include the dlfcn.h header
+file, so we need to guard that include. Additionally, provide dummy
+definitions for parameters RTLD_GLOBAL / RTLD_NOW which are normally
+provided by dlfcn.h.
+
+Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
+[Thomas: don't add separate dlmisc.h, move dummy defs to global.h]
+Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
+
+diff --git a/include/global.h b/include/global.h
+--- a/include/global.h
++++ b/include/global.h
+@@ -97,6 +97,16 @@ extern struct snd_dlsym_link *snd_dlsym_
+ /** \brief Returns the version of a dynamic symbol as a string. */
+ #define SND_DLSYM_VERSION(version) __STRING(version)
+
++/* RTLD_NOW and RTLD_GLOBAL (used for 'mode' in snd_dlopen) are not defined
++ * on all arches (e.g. blackfin), so provide a dummy definition here. */
++#ifndef RTLD_NOW
++#define RTLD_NOW 0
++#endif
++
++#ifndef RTLD_GLOBAL
++#define RTLD_GLOBAL 0
++#endif
++
+ void *snd_dlopen(const char *file, int mode);
+ void *snd_dlsym(void *handle, const char *name, const char *version);
+ int snd_dlclose(void *handle);
+diff --git a/modules/mixer/simple/sbasedl.c b/modules/mixer/simple/sbasedl.c
+--- a/modules/mixer/simple/sbasedl.c
++++ b/modules/mixer/simple/sbasedl.c
+@@ -27,7 +27,9 @@
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
+ #include <math.h>
++#ifdef HAVE_LIBDL
+ #include <dlfcn.h>
++#endif
+ #include "config.h"
+ #include "asoundlib.h"
+ #include "mixer_abst.h"
+diff --git a/src/mixer/simple_abst.c b/src/mixer/simple_abst.c
+--- a/src/mixer/simple_abst.c
++++ b/src/mixer/simple_abst.c
+@@ -34,7 +34,9 @@
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
+ #include <math.h>
++#ifdef HAVE_LIBDL
+ #include <dlfcn.h>
++#endif
+ #include "config.h"
+ #include "asoundlib.h"
+ #include "mixer_simple.h"
diff --git a/package/alsa-lib/alsa-lib-0004-conditional-enabling-of-libdl-in-m4.patch b/package/alsa-lib/alsa-lib-0004-conditional-enabling-of-libdl-in-m4.patch
new file mode 100644
index 0000000000..c533419baa
--- /dev/null
+++ b/package/alsa-lib/alsa-lib-0004-conditional-enabling-of-libdl-in-m4.patch
@@ -0,0 +1,35 @@
+alsa-lib: conditionally enable libdl in AM_PATH_ALSA m4 macro
+
+The AM_PATH_ALSA macro in utils/alsa.m4 unconditionally uses -ldl. This
+breaks compilation of alsa-utils (and probably other packages using this
+macro) for targets that do not support dynamic loading, such as for
+Blackfin FLAT binaries.
+
+This patch updates the macro to check if dlopen is available, and use that
+result to conditionally add -ldl to the list of libraries.
+
+Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
+
+---
+
+diff --git a/utils/alsa.m4 b/utils/alsa.m4
+--- a/utils/alsa.m4
++++ b/utils/alsa.m4
+@@ -44,6 +44,8 @@ if test "$alsa_inc_prefix" != "" ; then
+ fi
+ AC_MSG_RESULT($ALSA_CFLAGS)
+
++AC_CHECK_LIB(c, dlopen, LIBDL="", [AC_CHECK_LIB(dl, dlopen, LIBDL="-ldl")])
++
+ dnl add any special lib dirs
+ AC_MSG_CHECKING(for ALSA LDFLAGS)
+ if test "$alsa_prefix" != "" ; then
+@@ -52,7 +54,7 @@ if test "$alsa_prefix" != "" ; then
+ fi
+
+ dnl add the alsa library
+-ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl -lpthread"
++ALSA_LIBS="$ALSA_LIBS -lasound -lm $LIBDL -lpthread"
+ LIBS="$ALSA_LIBS $LIBS"
+ AC_MSG_RESULT($ALSA_LIBS)
+
diff --git a/package/alsa-utils/Config.in b/package/alsa-utils/Config.in
index 12f1020331..58ecf51d0f 100644
--- a/package/alsa-utils/Config.in
+++ b/package/alsa-utils/Config.in
@@ -1,5 +1,10 @@
+comment "alsa-utils needs a toolchain w/ largefile, threads"
+ depends on BR2_USE_MMU # fork
+ depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
+
config BR2_PACKAGE_ALSA_UTILS
bool "alsa-utils"
+ depends on BR2_USE_MMU # fork
depends on BR2_LARGEFILE
depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
select BR2_PACKAGE_ALSA_LIB
@@ -9,9 +14,6 @@ config BR2_PACKAGE_ALSA_UTILS
http://www.alsa-project.org/
-comment "alsa-utils needs a toolchain w/ largefile, threads"
- depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
-
if BR2_PACKAGE_ALSA_UTILS
menu "ALSA utils selection"
diff --git a/package/beecrypt/Config.in b/package/beecrypt/Config.in
index 033742c8f8..8d63e5e6d1 100644
--- a/package/beecrypt/Config.in
+++ b/package/beecrypt/Config.in
@@ -2,7 +2,7 @@ config BR2_PACKAGE_BEECRYPT
bool "beecrypt"
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_ICU if BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && \
- !BR2_arc
+ !BR2_arc && !BR2_BINFMT_FLAT
help
Beecrypt is a general-purpose cryptography library.
@@ -13,4 +13,5 @@ comment "beecrypt needs a toolchain w/ threads"
comment "beecrypt C++ support needs a toolchain w/ wchar"
depends on !BR2_arc
+ depends on !BR2_BINFMT_FLAT
depends on BR2_INSTALL_LIBSTDCPP && !BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/binutils/2.24/001-fix-enable-install-libiberty-flag.patch b/package/binutils/2.24/001-fix-enable-install-libiberty-flag.patch
new file mode 100644
index 0000000000..e40840194d
--- /dev/null
+++ b/package/binutils/2.24/001-fix-enable-install-libiberty-flag.patch
@@ -0,0 +1,46 @@
+From 369be6981b26787b2685e3b8c6da779dae8ce35f Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 6 Jan 2014 18:15:31 +0000
+Subject: [PATCH] libiberty: fix --enable-install-libiberty flag [PR 56780]
+
+Commit 199570 fixed the --disable-install-libiberty behavior, but it also
+added a bug where the enable path never works because the initial clear
+of target_header_dir wasn't deleted. So we end up initializing properly
+at the top only to reset it at the end all the time.
+
+[Arnout: adapt to match 2.24 tarball]
+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ libiberty/configure | 1 -
+ libiberty/configure.ac | 1 -
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/libiberty/configure b/libiberty/configure
+index 8ea54da..7bde9b3 100755
+--- a/libiberty/configure
++++ b/libiberty/configure
+@@ -5507,7 +5507,6 @@ fi
+
+ setobjs=
+ CHECK=
+-target_header_dir=
+ if test -n "${with_target_subdir}"; then
+
+ # We are being configured as a target library. AC_REPLACE_FUNCS
+diff --git a/libiberty/configure.ac b/libiberty/configure.ac
+index 4ad88a9..d6180bc 100644
+--- a/libiberty/configure.ac
++++ b/libiberty/configure.ac
+@@ -405,7 +405,6 @@ fi
+
+ setobjs=
+ CHECK=
+-target_header_dir=
+ if test -n "${with_target_subdir}"; then
+
+ # We are being configured as a target library. AC_REPLACE_FUNCS
+--
+1.7.1
+
diff --git a/package/binutils/8351467c933d277ebea0c8d99ad2b65b5f7b6bc2/001-fix-enable-install-libiberty-flag.patch b/package/binutils/8351467c933d277ebea0c8d99ad2b65b5f7b6bc2/001-fix-enable-install-libiberty-flag.patch
new file mode 100644
index 0000000000..e40840194d
--- /dev/null
+++ b/package/binutils/8351467c933d277ebea0c8d99ad2b65b5f7b6bc2/001-fix-enable-install-libiberty-flag.patch
@@ -0,0 +1,46 @@
+From 369be6981b26787b2685e3b8c6da779dae8ce35f Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 6 Jan 2014 18:15:31 +0000
+Subject: [PATCH] libiberty: fix --enable-install-libiberty flag [PR 56780]
+
+Commit 199570 fixed the --disable-install-libiberty behavior, but it also
+added a bug where the enable path never works because the initial clear
+of target_header_dir wasn't deleted. So we end up initializing properly
+at the top only to reset it at the end all the time.
+
+[Arnout: adapt to match 2.24 tarball]
+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ libiberty/configure | 1 -
+ libiberty/configure.ac | 1 -
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/libiberty/configure b/libiberty/configure
+index 8ea54da..7bde9b3 100755
+--- a/libiberty/configure
++++ b/libiberty/configure
+@@ -5507,7 +5507,6 @@ fi
+
+ setobjs=
+ CHECK=
+-target_header_dir=
+ if test -n "${with_target_subdir}"; then
+
+ # We are being configured as a target library. AC_REPLACE_FUNCS
+diff --git a/libiberty/configure.ac b/libiberty/configure.ac
+index 4ad88a9..d6180bc 100644
+--- a/libiberty/configure.ac
++++ b/libiberty/configure.ac
+@@ -405,7 +405,6 @@ fi
+
+ setobjs=
+ CHECK=
+-target_header_dir=
+ if test -n "${with_target_subdir}"; then
+
+ # We are being configured as a target library. AC_REPLACE_FUNCS
+--
+1.7.1
+
diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
index d6828f5efd..b5a2dc7fc5 100644
--- a/package/binutils/binutils.mk
+++ b/package/binutils/binutils.mk
@@ -51,6 +51,7 @@ endif
BINUTILS_CONF_OPT = --disable-multilib --disable-werror \
--host=$(GNU_TARGET_NAME) \
--target=$(GNU_TARGET_NAME) \
+ --enable-install-libiberty \
$(BINUTILS_EXTRA_CONFIG_OPTIONS)
# Install binutils after busybox to prefer full-blown utilities
diff --git a/package/boost/Config.in b/package/boost/Config.in
index 515b2cdcdf..68c3909664 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -77,6 +77,7 @@ config BR2_PACKAGE_BOOST_SYSTEM
config BR2_PACKAGE_BOOST_TEST
bool "boost-test"
+ depends on BR2_USE_MMU # fork()
config BR2_PACKAGE_BOOST_THREAD
bool "boost-thread"
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 948f3e42d3..793ffb97aa 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -75,6 +75,13 @@ define BUSYBOX_SET_MDEV
endef
endif
+# sha passwords need USE_BB_CRYPT_SHA
+ifeq ($(BR2_TARGET_GENERIC_PASSWD_SHA256)$(BR2_TARGET_GENERIC_PASSWD_SHA512),y)
+define BUSYBOX_SET_CRYPT_SHA
+ $(call KCONFIG_ENABLE_OPT,CONFIG_USE_BB_CRYPT_SHA,$(BUSYBOX_BUILD_CONFIG))
+endef
+endif
+
ifeq ($(BR2_USE_MMU),y)
define BUSYBOX_SET_MMU
$(call KCONFIG_DISABLE_OPT,CONFIG_NOMMU,$(BUSYBOX_BUILD_CONFIG))
@@ -173,15 +180,14 @@ define BUSYBOX_INSTALL_WATCHDOG_SCRIPT
endef
endif
-# We do this here to avoid busting a modified .config in configure
-BUSYBOX_POST_EXTRACT_HOOKS += BUSYBOX_COPY_CONFIG
-
define BUSYBOX_CONFIGURE_CMDS
+ $(BUSYBOX_COPY_CONFIG)
$(BUSYBOX_SET_MMU)
$(BUSYBOX_SET_LARGEFILE)
$(BUSYBOX_SET_IPV6)
$(BUSYBOX_PREFER_STATIC)
$(BUSYBOX_SET_MDEV)
+ $(BUSYBOX_SET_CRYPT_SHA)
$(BUSYBOX_NETKITBASE)
$(BUSYBOX_NETKITTELNET)
$(BUSYBOX_INTERNAL_SHADOW_PASSWORDS)
diff --git a/package/cairo/cairo-001-blackfin-build-fix.patch b/package/cairo/cairo-001-blackfin-build-fix.patch
index 94dff6bb0f..0e8dd3ad65 100644
--- a/package/cairo/cairo-001-blackfin-build-fix.patch
+++ b/package/cairo/cairo-001-blackfin-build-fix.patch
@@ -34,3 +34,22 @@ Index: b/src/cairo-compiler-private.h
#else
# define slim_hidden_proto(name) int _cairo_dummy_prototype(void)
# define slim_hidden_proto_no_warn(name) int _cairo_dummy_prototype(void)
+Index: b/util/cairo-script/cairo-script-private.h
+===================================================================
+--- a/util/cairo-script/cairo-script-private.h
++++ b/util/cairo-script/cairo-script-private.h
+@@ -109,12 +109,13 @@
+ __asm__ (slim_hidden_asmname (internal))
+ # define slim_hidden_def1(name, internal) \
+ extern __typeof (name) EXT_##name __asm__(slim_hidden_asmname(name)) \
+- __attribute__((__alias__(slim_hidden_asmname(internal))))
++ __attribute__((__alias__(slim_hidden_realname(internal))))
+ # define slim_hidden_ulp slim_hidden_ulp1(__USER_LABEL_PREFIX__)
+ # define slim_hidden_ulp1(x) slim_hidden_ulp2(x)
+ # define slim_hidden_ulp2(x) #x
+ # define slim_hidden_asmname(name) slim_hidden_asmname1(name)
+ # define slim_hidden_asmname1(name) slim_hidden_ulp #name
++# define slim_hidden_realname(name) #name
+ #else
+ # define slim_hidden_proto(name) int _csi_dummy_prototype(void)
+ # define slim_hidden_proto_no_warn(name) int _csi_dummy_prototype(void)
diff --git a/package/cairo/cairo-003-fix-nofork-build.patch b/package/cairo/cairo-003-fix-nofork-build.patch
new file mode 100644
index 0000000000..702e9910a5
--- /dev/null
+++ b/package/cairo/cairo-003-fix-nofork-build.patch
@@ -0,0 +1,29 @@
+test: fix build when SHOULD_FORK is false
+
+The code in test/cairo-test-runner.c properly takes into account
+platforms that do have fork() support, and uses the SHOULD_FORK define
+to know whether fork is available or not.
+
+However, this SHOULD_FORK macro is used to guard the inclusion of
+<unistd.h>, which is needed to get the prototype of other functions
+(namely readlink and getppid), that are used in portions of this file
+not guarded by SHOULD_FORK.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/test/cairo-test-runner.c
+===================================================================
+--- a/test/cairo-test-runner.c
++++ b/test/cairo-test-runner.c
+@@ -36,10 +36,10 @@
+ #include <pixman.h> /* for version information */
+
+ #define SHOULD_FORK HAVE_FORK && HAVE_WAITPID
+-#if SHOULD_FORK
+ #if HAVE_UNISTD_H
+ #include <unistd.h>
+ #endif
++#if SHOULD_FORK
+ #if HAVE_SIGNAL_H
+ #include <signal.h>
+ #endif
diff --git a/package/cegui06/Config.in b/package/cegui06/Config.in
index 92bbb70b81..f03e4884b4 100644
--- a/package/cegui06/Config.in
+++ b/package/cegui06/Config.in
@@ -1,10 +1,11 @@
-comment "cegui06 needs a toolchain w/ C++, threads"
- depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
+comment "cegui06 needs a toolchain w/ C++, threads, dynamic library"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || BR2_PREFER_STATIC_LIB
config BR2_PACKAGE_CEGUI06
bool "cegui06"
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_INSTALL_LIBSTDCPP
+ depends on !BR2_PREFER_STATIC_LIB
select BR2_PACKAGE_EXPAT
select BR2_PACKAGE_FREETYPE
select BR2_PACKAGE_PCRE
diff --git a/package/collectd/collectd.mk b/package/collectd/collectd.mk
index e1fc10434b..84e17cdf68 100644
--- a/package/collectd/collectd.mk
+++ b/package/collectd/collectd.mk
@@ -6,7 +6,6 @@
COLLECTD_VERSION = 5.4.1
COLLECTD_SITE = http://collectd.org/files
-COLLECTD_MAKE_OPT = LDFLAGS="$(TARGET_LDFLAGS) -lm"
COLLECTD_CONF_ENV = ac_cv_lib_yajl_yajl_alloc=yes
COLLECTD_INSTALL_STAGING = YES
COLLECTD_LICENSE = GPLv2 LGPLv2.1
@@ -22,6 +21,16 @@ COLLECTD_PLUGINS_DISABLE = amqp apple_sensors aquaero ascent dbi email \
tokyotyrant uuid varnish vserver write_mongodb write_redis \
xmms zfs_arc
+COLLECTD_LDFLAGS = $(TARGET_LDFLAGS) -lm
+
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+# collectd-tg indirectly needs pthread but doesn't link with -pthread,
+# causing static linker errors
+COLLECTD_LDFLAGS += -lpthread
+endif
+
+COLLECTD_CONF_ENV += LDFLAGS="$(COLLECTD_LDFLAGS)"
+
COLLECTD_CONF_OPT += --with-nan-emulation --with-fp-layout=nothing \
--localstatedir=/var --with-perl-bindings=no \
$(foreach p, $(COLLECTD_PLUGINS_DISABLE), --disable-$(p)) \
diff --git a/package/coreutils/coreutils-01-spawn-uclibc.patch b/package/coreutils/coreutils-01-spawn-uclibc.patch
new file mode 100644
index 0000000000..a67921bf20
--- /dev/null
+++ b/package/coreutils/coreutils-01-spawn-uclibc.patch
@@ -0,0 +1,43 @@
+From 71cf16e435bf5db64abcf81a9dc6dc36ce37d58d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
+Date: Tue, 14 Jan 2014 16:59:07 +0000
+Subject: [PATCH] spawn: fix link error on uclibc
+
+* m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
+to incorporate -lrt if needed (on uclibc for example).
+* modules/posix_spawn: Reference the substituted LIB.
+
+Patch status: suggested by gnulib maintainer
+(http://article.gmane.org/gmane.comp.lib.gnulib.bugs/33610), not in upstream
+gnulib yet
+
+This issue should be fixed in coreutils version 8.23.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+
+diff --git a/m4/spawn_h.m4 b/m4/spawn_h.m4
+index 87fe122..3eb835c 100644
+--- a/m4/spawn_h.m4
++++ b/m4/spawn_h.m4
+@@ -64,7 +64,15 @@ AC_DEFUN([gl_HAVE_POSIX_SPAWN],
+ dnl once only, before all statements that occur in other macros.
+ AC_REQUIRE([gl_SPAWN_H_DEFAULTS])
+
+- AC_CHECK_FUNCS_ONCE([posix_spawn])
++ LIB_POSIX_SPAWN=
++ AC_SUBST([LIB_POSIX_SPAWN])
++ gl_saved_libs=$LIBS
++ AC_SEARCH_LIBS([posix_spawn], [rt],
++ [test "$ac_cv_search_posix_spawn" = "none required" ||
++ LIB_POSIX_SPAWN=$ac_cv_search_posix_spawn])
++ AC_CHECK_FUNCS([posix_spawn])
++ LIBS=$gl_saved_libs
++
+ if test $ac_cv_func_posix_spawn != yes; then
+ HAVE_POSIX_SPAWN=0
+ fi
+
+--
+1.7.7.6
+
diff --git a/package/coreutils/coreutils-02-fix-timer-time-m4.patch b/package/coreutils/coreutils-02-fix-timer-time-m4.patch
new file mode 100644
index 0000000000..3b4d81b0f1
--- /dev/null
+++ b/package/coreutils/coreutils-02-fix-timer-time-m4.patch
@@ -0,0 +1,36 @@
+Fix thread detection with uClibc in timer_time.m4
+
+The timer_time.m4 gl_TIMER_TIME function determines which libraries
+need to be linked to get access to the timer function, generally -lrt
+for Linux systems. On platforms where threads are used, librt
+typically uses thread functions from libpthread.
+
+However, the test to determine whether the platform has thread or not
+is incorrect: it assumes that if the C library is uClibc, then threads
+are not available. This is actually not true: uClibc has configurable
+thread support, and when thread support is available, librt calls
+libpthread functions.
+
+This is important when static linking is used, because otherwise only
+-lrt is used at link time, which fails because librt calls undefined
+thread functions. Both -lrt and -lpthread must be passed.
+
+This problem is fixed by making the uClibc thread detection a bit
+smarter, thanks to the usage of the __HAS_NO_THREADS__ macro defined
+in <bits/uClibc_config.h>, which itself is included by <features.h>.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/m4/timer_time.m4
+===================================================================
+--- a/m4/timer_time.m4
++++ b/m4/timer_time.m4
+@@ -28,7 +28,7 @@
+ #include <features.h>
+ #ifdef __GNU_LIBRARY__
+ #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || (__GLIBC__ > 2)) \
+- && !defined __UCLIBC__
++ && !(__UCLIBC__ && __HAS_NO_THREADS__)
+ Thread emulation available
+ #endif
+ #endif
diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk
index e0e9d80b39..72087523f4 100644
--- a/package/coreutils/coreutils.mk
+++ b/package/coreutils/coreutils.mk
@@ -10,6 +10,9 @@ COREUTILS_SOURCE = coreutils-$(COREUTILS_VERSION).tar.xz
COREUTILS_LICENSE = GPLv3+
COREUTILS_LICENSE_FILES = COPYING
+# patching gnulib .m4 file
+COREUTILS_AUTORECONF = YES
+
# If both coreutils and busybox are selected, make certain coreutils
# wins the fight over who gets to have their utils actually installed.
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
diff --git a/package/cppcms/Config.in b/package/cppcms/Config.in
index 2df83ba42d..c88ae1ed82 100644
--- a/package/cppcms/Config.in
+++ b/package/cppcms/Config.in
@@ -25,6 +25,7 @@ if BR2_PACKAGE_CPPCMS
config BR2_PACKAGE_CPPCMS_ICU
bool "enable icu support"
depends on !BR2_arc # icu -> atomic builtins
+ depends on !BR2_BINFMT_FLAT # icu
select BR2_PACKAGE_ICU
help
Using ICU allows advanced localization features into CppCMS,
diff --git a/package/cppdb/Config.in b/package/cppdb/Config.in
index a09151e314..120598a901 100644
--- a/package/cppdb/Config.in
+++ b/package/cppdb/Config.in
@@ -1,5 +1,7 @@
config BR2_PACKAGE_CPPDB
bool "cppdb"
+ # dlfcn.h
+ depends on !BR2_PREFER_STATIC_LIB
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
# Can be built without them but it's useless
@@ -11,6 +13,7 @@ config BR2_PACKAGE_CPPDB
http://cppcms.com/sql/cppdb/
-comment "cppdb needs a toolchain w/ C++, threads"
+comment "cppdb needs a toolchain w/ C++, threads, dynamic library"
depends on BR2_PACKAGE_MYSQL || BR2_PACKAGE_SQLITE
- depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
+ BR2_PREFER_STATIC_LIB
diff --git a/package/cryptsetup/Config.in b/package/cryptsetup/Config.in
index 28073f41bc..8405963c65 100644
--- a/package/cryptsetup/Config.in
+++ b/package/cryptsetup/Config.in
@@ -6,7 +6,8 @@ config BR2_PACKAGE_CRYPTSETUP
select BR2_PACKAGE_E2FSPROGS
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
depends on BR2_LARGEFILE # lvm2, util-linux
- depends on BR2_USE_MMU # lvm2
+ depends on BR2_USE_MMU # lvm2, e2fsprogs
+ depends on !BR2_PREFER_STATIC_LIB # lvm2
depends on BR2_USE_WCHAR # util-linux
help
This tool helps manipulate dm-crypt and luks partitions for
@@ -14,6 +15,6 @@ config BR2_PACKAGE_CRYPTSETUP
https://code.google.com/p/cryptsetup/
-comment "cryptsetup needs a toolchain w/ largefile, wchar"
+comment "cryptsetup needs a toolchain w/ largefile, wchar, dynamic library"
depends on BR2_USE_MMU
- depends on !BR2_LARGEFILE || !BR2_USE_WCHAR
+ depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB
diff --git a/package/dhcpcd/Config.in b/package/dhcpcd/Config.in
index ac20615d5f..68eac1ca86 100644
--- a/package/dhcpcd/Config.in
+++ b/package/dhcpcd/Config.in
@@ -3,7 +3,13 @@ config BR2_PACKAGE_DHCPCD
# No support for AI_ADDRCONFIG
depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 && \
!BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1
+ depends on !BR2_PREFER_STATIC_LIB
help
An RFC2131 compliant DHCP client
http://roy.marples.name/downloads/dhcpcd
+
+comment "dhcpcd needs a toolchain w/ dynamic library"
+ depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 && \
+ !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1
+ depends on BR2_PREFER_STATIC_LIB
diff --git a/package/distcc/Config.in b/package/distcc/Config.in
index 2c30a21420..08e1ab37c7 100644
--- a/package/distcc/Config.in
+++ b/package/distcc/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_DISTCC
bool "distcc"
# needs fork()
depends on BR2_USE_MMU
+ depends on BR2_DEPRECATED_SINCE_2014_02
help
Distributed compiler client and server. Allows you to
distribute compilation of C code across several machines
diff --git a/package/dmraid/Config.in b/package/dmraid/Config.in
index 028b46c3a2..fc370bd57d 100644
--- a/package/dmraid/Config.in
+++ b/package/dmraid/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_DMRAID
bool "dmraid"
depends on BR2_LARGEFILE
depends on BR2_USE_MMU # lvm2
+ depends on !BR2_PREFER_STATIC_LIB # lvm2
select BR2_PACKAGE_LVM2
help
dmraid discovers, activates, deactivates and displays properties
@@ -10,6 +11,6 @@ config BR2_PACKAGE_DMRAID
dmraid uses the Linux device-mapper to create devices with
respective mappings for the ATARAID sets discovered.
-comment "dmraid needs a toolchain w/ largefile"
+comment "dmraid needs a toolchain w/ largefile, dynamic library"
depends on BR2_USE_MMU
- depends on !BR2_LARGEFILE
+ depends on !BR2_LARGEFILE || BR2_PREFER_STATIC_LIB
diff --git a/package/dropbear/dropbear-fix-missing-TIMEVAL_TO_TIMESPEC.patch b/package/dropbear/dropbear-fix-missing-TIMEVAL_TO_TIMESPEC.patch
deleted file mode 100644
index 80606844c6..0000000000
--- a/package/dropbear/dropbear-fix-missing-TIMEVAL_TO_TIMESPEC.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur dropbear-0.48/includes.h dropbear-0.48-patched/includes.h
---- dropbear-0.48/includes.h 2006-03-09 09:06:02.000000000 -0600
-+++ dropbear-0.48-patched/includes.h 2006-03-15 22:36:12.000000000 -0600
-@@ -35,6 +35,7 @@
- #include <sys/param.h> /* required for BSD4_4 define */
- #include <sys/socket.h>
- #include <sys/stat.h>
-+#define _GNU_SOURCE
- #include <sys/time.h>
- #include <sys/un.h>
- #include <sys/wait.h>
diff --git a/package/dropbear/dropbear.mk b/package/dropbear/dropbear.mk
index 3ef6c8dac6..2ac6211988 100644
--- a/package/dropbear/dropbear.mk
+++ b/package/dropbear/dropbear.mk
@@ -4,7 +4,7 @@
#
################################################################################
-DROPBEAR_VERSION = 2013.62
+DROPBEAR_VERSION = 2014.63
DROPBEAR_SITE = http://matt.ucc.asn.au/dropbear/releases
DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VERSION).tar.bz2
DROPBEAR_TARGET_BINS = dbclient dropbearkey dropbearconvert scp ssh
diff --git a/package/e2fsprogs/Config.in b/package/e2fsprogs/Config.in
index 7775e944e2..eb7bedb94f 100644
--- a/package/e2fsprogs/Config.in
+++ b/package/e2fsprogs/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_E2FSPROGS
bool "e2fsprogs"
depends on BR2_LARGEFILE
depends on BR2_USE_WCHAR # util-linux
+ depends on BR2_USE_MMU # util-linux/libblkid
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
@@ -49,7 +50,7 @@ config BR2_PACKAGE_E2FSPROGS_E2UNDO
config BR2_PACKAGE_E2FSPROGS_E4DEFRAG
bool "e4defrag"
- depends on !BR2_avr32 # fallocate not implemented
+ depends on !BR2_avr32 && !BR2_nios2 # fallocate not implemented
config BR2_PACKAGE_E2FSPROGS_FILEFRAG
bool "filefrag"
diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk
index 2eb59f56ea..76e2d4ec54 100644
--- a/package/e2fsprogs/e2fsprogs.mk
+++ b/package/e2fsprogs/e2fsprogs.mk
@@ -25,6 +25,10 @@ E2FSPROGS_CONF_OPT = \
--disable-e2initrd-helper \
--disable-testio-debug
+ifeq ($(BR2_nios2),y)
+E2FSPROGS_CONF_ENV += ac_cv_func_fallocate=no
+endif
+
E2FSPROGS_DEPENDENCIES = host-pkgconf util-linux
E2FSPROGS_MAKE_OPT = \
diff --git a/package/efl/Config.in b/package/efl/Config.in
index 36afd1aa2e..3d31a2609f 100644
--- a/package/efl/Config.in
+++ b/package/efl/Config.in
@@ -1,6 +1,8 @@
menuconfig BR2_PACKAGE_EFL
bool "Enlightenment Foundation Libraries"
depends on BR2_USE_WCHAR
+ # libeina uses madvise(). To revisit when bumping EFL to 1.8
+ depends on BR2_USE_MMU
help
Enlightenment Foundation Libraries
diff --git a/package/efl/expedite/Config.in b/package/efl/expedite/Config.in
index 918c34ee49..96db266ac5 100644
--- a/package/efl/expedite/Config.in
+++ b/package/efl/expedite/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_EXPEDITE
select BR2_PACKAGE_LIBEVAS
select BR2_PACKAGE_LIBEET
depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
depends on !BR2_avr32 # libevas
help
Expedite is the official Evas benchmark tool. It can test different
@@ -11,6 +12,7 @@ config BR2_PACKAGE_EXPEDITE
DirectFB and so on. Its tests are quite extensive, trying to
reproduce real world usage cases.
-comment "expedite needs a toolchain w/ C++"
+comment "expedite needs a toolchain w/ C++, threads"
depends on !BR2_INSTALL_LIBSTDCPP
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_avr32
diff --git a/package/efl/libecore/Config.in b/package/efl/libecore/Config.in
index 41a16f9c83..3db036c5db 100644
--- a/package/efl/libecore/Config.in
+++ b/package/efl/libecore/Config.in
@@ -38,6 +38,11 @@ config BR2_PACKAGE_LIBECORE_X_XCB
config BR2_PACKAGE_LIBECORE_EVAS
bool "libecore Evas support"
select BR2_PACKAGE_LIBEVAS
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_avr32 # libevas
+
+comment "evas support needs a toolchain w/ threads"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_avr32 # libevas
endif # BR2_PACKAGE_LIBECORE
diff --git a/package/efl/libedje/Config.in b/package/efl/libedje/Config.in
index 4a0831a426..503919c3bd 100644
--- a/package/efl/libedje/Config.in
+++ b/package/efl/libedje/Config.in
@@ -1,3 +1,7 @@
+comment "libedje needs a toolchain w/ threads"
+ depends on !BR2_avr32
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
+
config BR2_PACKAGE_LIBEDJE
bool "libedje"
select BR2_PACKAGE_LIBEINA
@@ -8,6 +12,7 @@ config BR2_PACKAGE_LIBEDJE
select BR2_PACKAGE_LIBEVAS
select BR2_PACKAGE_LUA
depends on !BR2_avr32 # libevas
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
help
A graphical layout and animation library for animated
resizable, compressed and scalable themes.
diff --git a/package/efl/libelementary/Config.in b/package/efl/libelementary/Config.in
index d4584e84f6..91740aff9f 100644
--- a/package/efl/libelementary/Config.in
+++ b/package/efl/libelementary/Config.in
@@ -1,3 +1,7 @@
+comment "libelementary needs a toolchain w/ threads"
+ depends on !BR2_avr32
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
+
config BR2_PACKAGE_LIBELEMENTARY
bool "libelementary"
select BR2_PACKAGE_LIBEINA
@@ -5,6 +9,7 @@ config BR2_PACKAGE_LIBELEMENTARY
select BR2_PACKAGE_LIBECORE
select BR2_PACKAGE_LIBEDJE
depends on !BR2_avr32 # libevas
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
help
Elementary is a widget toolkit and EFL wrapper and convenience
library to make it easy to build applications and tools with UIs
diff --git a/package/efl/libethumb/Config.in b/package/efl/libethumb/Config.in
index 3a2f3dc2b6..64574a0eb8 100644
--- a/package/efl/libethumb/Config.in
+++ b/package/efl/libethumb/Config.in
@@ -1,3 +1,7 @@
+comment "libethumb needs a toolchain w/ threads"
+ depends on !BR2_avr32
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
+
config BR2_PACKAGE_LIBETHUMB
bool "libethumb"
select BR2_PACKAGE_LIBEINA
@@ -6,6 +10,7 @@ config BR2_PACKAGE_LIBETHUMB
select BR2_PACKAGE_LIBECORE_EVAS
select BR2_PACKAGE_LIBEDJE
depends on !BR2_avr32 # libevas
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
help
Ethumb is a library for generating thumbnail images of documents.
diff --git a/package/efl/libevas/Config.in b/package/efl/libevas/Config.in
index b14a3193b5..2afa888995 100644
--- a/package/efl/libevas/Config.in
+++ b/package/efl/libevas/Config.in
@@ -1,6 +1,16 @@
+comment "libevas needs a toolchain w/ threads"
+ depends on !BR2_avr32
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
+
config BR2_PACKAGE_LIBEVAS
bool "libevas"
depends on !BR2_avr32 # no epoll_create1 or inotify_init1
+ # libevas should normally build without threads, but due to a
+ # build issue when the async preloader is disabled, which is
+ # needed when no threads are available, we don't allow evas to
+ # be built without threads. This should be revisited when efl
+ # is bumped to 1.8.
+ depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_FREETYPE
select BR2_PACKAGE_LIBEINA
# required to build so far
diff --git a/package/efl/libevas/libevas.mk b/package/efl/libevas/libevas.mk
index 46de4cb4f7..41ceb49cc9 100644
--- a/package/efl/libevas/libevas.mk
+++ b/package/efl/libevas/libevas.mk
@@ -203,11 +203,6 @@ else
LIBEVAS_CONF_OPT += --disable-font-loader-eet
endif
-# async image preload support needs threads support in toolchain
-ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
-LIBEVAS_CONF_OPT += --disable-async-preload
-endif
-
# libevas installs the source code of examples on the target, which
# are generally not useful.
define LIBEVAS_REMOVE_EXAMPLES
diff --git a/package/elfutils/Config.in b/package/elfutils/Config.in
index 47cd63d797..588c29df98 100644
--- a/package/elfutils/Config.in
+++ b/package/elfutils/Config.in
@@ -7,6 +7,9 @@ config BR2_PACKAGE_ELFUTILS
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
depends on BR2_LARGEFILE
depends on BR2_USE_WCHAR
+ # canonicalize_file_name() not available on uClibc 0.9.31, used
+ # only for AVR32
+ depends on !BR2_avr32
help
Libraries/utilities to handle ELF objects (drop in
replacement for libelf).
diff --git a/package/enlightenment/Config.in b/package/enlightenment/Config.in
index 66c7055ff9..f34140bc91 100644
--- a/package/enlightenment/Config.in
+++ b/package/enlightenment/Config.in
@@ -21,9 +21,9 @@ config BR2_PACKAGE_ENLIGHTENMENT
depends on BR2_USE_WCHAR
depends on BR2_INSTALL_LIBSTDCPP
# libedbus -> dbus
- # libedbus -> glib2
+ # libedbus -> glib2, libevas
depends on BR2_TOOLCHAIN_HAS_THREADS
- # libedbus -> dbus
+ # libedbus -> dbus, efl libraries
depends on BR2_USE_MMU
depends on BR2_PACKAGE_XORG7
depends on !BR2_avr32 # libevas
diff --git a/package/feh/Config.in b/package/feh/Config.in
index 31e7239b55..f85612e6c0 100644
--- a/package/feh/Config.in
+++ b/package/feh/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_FEH
bool "feh"
depends on BR2_PACKAGE_XORG7
+ depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_XLIB_LIBXINERAMA
select BR2_PACKAGE_XLIB_LIBXT
select BR2_PACKAGE_IMLIB2_PNG
diff --git a/package/gcc/4.7.3/850-xtensa-libgcc-linker-script.patch b/package/gcc/4.7.3/850-xtensa-libgcc-linker-script.patch
new file mode 100644
index 0000000000..6ffa897863
--- /dev/null
+++ b/package/gcc/4.7.3/850-xtensa-libgcc-linker-script.patch
@@ -0,0 +1,29 @@
+From a89db366b98fffc61b20074e658c7285fb302776 Mon Sep 17 00:00:00 2001
+Message-Id: <a89db366b98fffc61b20074e658c7285fb302776.1392126646.git.baruch@tkos.co.il>
+From: sterling <sterling@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 21 Jan 2014 19:29:23 +0000
+Subject: [PATCH] 2014-01-21 Baruch Siach <barch@tkos.co.il>
+
+ * config.host (tmake_file): add t-slibgcc-libgcc for xtensa*-*-linux*.
+
+Patch status: upstream (4.7 branch commit r206898)
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+
+diff --git a/libgcc/config.host b/libgcc/config.host
+index e18e1d25021d..a6f7c450d702 100644
+--- a/libgcc/config.host
++++ b/libgcc/config.host
+@@ -1127,7 +1127,7 @@ xtensa*-*-elf*)
+ extra_parts="$extra_parts crti.o crtn.o"
+ ;;
+ xtensa*-*-linux*)
+- tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux"
++ tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
+ md_unwind_header=xtensa/linux-unwind.h
+ ;;
+ am33_2.0-*-linux*)
+--
+1.8.5.3
+
diff --git a/package/gcc/4.8.2/850-xtensa-libgcc-linker-script.patch b/package/gcc/4.8.2/850-xtensa-libgcc-linker-script.patch
new file mode 100644
index 0000000000..378445da39
--- /dev/null
+++ b/package/gcc/4.8.2/850-xtensa-libgcc-linker-script.patch
@@ -0,0 +1,29 @@
+From 7c722c07a0781e4279f643650bc528422c80ce5e Mon Sep 17 00:00:00 2001
+Message-Id: <7c722c07a0781e4279f643650bc528422c80ce5e.1392126765.git.baruch@tkos.co.il>
+From: sterling <sterling@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 21 Jan 2014 19:50:02 +0000
+Subject: [PATCH] 2014-01-21 Baruch Siach <barch@tkos.co.il>
+
+ * config.host (tmake_file): add t-slibgcc-libgcc for xtensa*-*-linux*.
+
+Patch status: upstream (4.8 branch commit r206905)
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+
+diff --git a/libgcc/config.host b/libgcc/config.host
+index ee16d60e34a6..302aa6135211 100644
+--- a/libgcc/config.host
++++ b/libgcc/config.host
+@@ -1102,7 +1102,7 @@ xtensa*-*-elf*)
+ extra_parts="$extra_parts crti.o crtn.o"
+ ;;
+ xtensa*-*-linux*)
+- tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux"
++ tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
+ md_unwind_header=xtensa/linux-unwind.h
+ ;;
+ am33_2.0-*-linux*)
+--
+1.8.5.3
+
diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk
index ecc4068b49..622dcf2c72 100644
--- a/package/gcc/gcc-final/gcc-final.mk
+++ b/package/gcc/gcc-final/gcc-final.mk
@@ -15,7 +15,7 @@ HOST_GCC_FINAL_DEPENDENCIES = \
HOST_GCC_FINAL_EXTRACT_CMDS = $(HOST_GCC_EXTRACT_CMDS)
ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),)
-HOST_GCC_FINAL_POST_EXTRACT_CMDS += HOST_GCC_FINAL_XTENSA_OVERLAY_EXTRACT
+HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
endif
HOST_GCC_FINAL_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES
diff --git a/package/gcc/gcc-initial/gcc-initial.mk b/package/gcc/gcc-initial/gcc-initial.mk
index 0eb492fa4d..bc5ad26328 100644
--- a/package/gcc/gcc-initial/gcc-initial.mk
+++ b/package/gcc/gcc-initial/gcc-initial.mk
@@ -13,7 +13,7 @@ HOST_GCC_INITIAL_DEPENDENCIES = $(HOST_GCC_COMMON_DEPENDENCIES)
HOST_GCC_INITIAL_EXTRACT_CMDS = $(HOST_GCC_EXTRACT_CMDS)
ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),)
-HOST_GCC_INITIAL_POST_EXTRACT_CMDS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
+HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
endif
HOST_GCC_INITIAL_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES
diff --git a/package/gcc/gcc-intermediate/gcc-intermediate.mk b/package/gcc/gcc-intermediate/gcc-intermediate.mk
index 2105ceca5a..db84d18454 100644
--- a/package/gcc/gcc-intermediate/gcc-intermediate.mk
+++ b/package/gcc/gcc-intermediate/gcc-intermediate.mk
@@ -15,7 +15,7 @@ HOST_GCC_INTERMEDIATE_DEPENDENCIES = \
HOST_GCC_INTERMEDIATE_EXTRACT_CMDS = $(HOST_GCC_EXTRACT_CMDS)
ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),)
-HOST_GCC_INTERMEDIATE_POST_EXTRACT_CMDS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
+HOST_GCC_INTERMEDIATE_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
endif
HOST_GCC_INTERMEDIATE_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES
diff --git a/package/gdb/Config.in.host b/package/gdb/Config.in.host
index 420408a50f..cbcec18604 100644
--- a/package/gdb/Config.in.host
+++ b/package/gdb/Config.in.host
@@ -4,7 +4,7 @@ config BR2_PACKAGE_HOST_GDB
# allow to build a cross-gdb, as the one of the external
# toolchain should be used.
depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
- depends on !BR2_aarch64
+ depends on !BR2_aarch64 && !BR2_nios2
help
Build a cross gdb that runs on the host machine and debugs
programs running on the target. It requires 'gdbserver'
@@ -51,7 +51,7 @@ config BR2_GDB_VERSION
(!BR2_PACKAGE_HOST_GDB && BR2_bfin)
default "6.7.1-avr32-2.1.5" if BR2_GDB_VERSION_6_7_1_AVR32_2_1_5 || \
(!BR2_PACKAGE_HOST_GDB && BR2_avr32)
- default "7.4.1" if BR2_GDB_VERSION_7_4
- default "7.5.1" if BR2_GDB_VERSION_7_5 || !BR2_PACKAGE_HOST_GDB
default "cb15acc5eecea46d041730e5c2c9fa1d4283ef25" if BR2_arc
default "6be65fb56ea6694a9260733a536a023a1e2d4d57" if BR2_microblaze
+ default "7.4.1" if BR2_GDB_VERSION_7_4
+ default "7.5.1" if BR2_GDB_VERSION_7_5 || !BR2_PACKAGE_HOST_GDB
diff --git a/package/gpm/Config.in b/package/gpm/Config.in
index 2121e71eb7..0a60f6a1c3 100644
--- a/package/gpm/Config.in
+++ b/package/gpm/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_GPM
bool "gpm"
depends on !BR2_PREFER_STATIC_LIB
+ depends on BR2_USE_MMU # fork()
help
"gpm" means general purpose mouse (server) and provides mouse support
for Linux virtual consoles.
diff --git a/package/gpsd/Config.in b/package/gpsd/Config.in
index 00a8a13eac..fbbf7a9ca3 100644
--- a/package/gpsd/Config.in
+++ b/package/gpsd/Config.in
@@ -174,6 +174,9 @@ config BR2_PACKAGE_GPSD_NMEA2000
bool "NMEA2000"
select BR2_PACKAGE_GPSD_NAVCOM
select BR2_PACKAGE_GPSD_AIVDM
+ # uClibc 0.9.31, used on AVR32, does not have the necessary
+ # CAN definitions.
+ depends on !BR2_avr32
help
NMEA2000/CAN support
diff --git a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0004-Fix-libgstfsl-linkage-add-lrt-for-shared-memory-func.patch b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0004-Fix-libgstfsl-linkage-add-lrt-for-shared-memory-func.patch
new file mode 100644
index 0000000000..863f1b6def
--- /dev/null
+++ b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0004-Fix-libgstfsl-linkage-add-lrt-for-shared-memory-func.patch
@@ -0,0 +1,46 @@
+From 1ca4251d1284f2cb56e31aaec4d369809e2139c9 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report@gmx.net>
+Date: Mon, 24 Feb 2014 16:30:39 +0100
+Subject: [PATCH] Fix libgstfsl linkage (add -lrt for shared memory functions).
+
+Fixes runtime failure of gst-fsl-plugins, e.g.:
+(gst-plugin-scanner:1700): GStreamer-WARNING **: Failed to load
+ plugin '/usr/lib/gstreamer-0.10/libmfw_vpu.so':
+ /usr/lib/libgstfsl-0.10.so.0: undefined symbol: shm_open)
+
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+---
+ configure.ac | 3 +++
+ libs/Makefile.am | 2 +-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index f7907a7..9f834df 100755
+--- a/configure.ac
++++ b/configure.ac
+@@ -173,6 +173,9 @@ AC_CHECK_LIB(ipu, mxc_ipu_lib_task_init, [IPU_LIBS=-lipu], [echo "No libipu arou
+ AC_SUBST(IPU_CFLAGS)
+ AC_SUBST(IPU_LIBS)
+
++AC_SEARCH_LIBS([shm_open], [rt], [SHM_LIBS="-lrt"])
++AC_SUBST(SHM_LIBS)
++
+ FSL_MM_CORE_CFLAGS=`$PKG_CONFIG --cflags libfslaudiocodec 2>/dev/null`
+ FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslvideocodec 2>/dev/null`"
+ FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslparser 2>/dev/null`"
+diff --git a/libs/Makefile.am b/libs/Makefile.am
+index a68fd4b..7b19b92 100755
+--- a/libs/Makefile.am
++++ b/libs/Makefile.am
+@@ -12,7 +12,7 @@ libgstfsl_@GST_MAJORMINOR@_la_SOURCES = \
+
+ libgstfsl_@GST_MAJORMINOR@_la_CFLAGS = $(GST_BASE_CFLAGS) $(IPU_CFLAGS) -I../inc/common
+ libgstfsl_@GST_MAJORMINOR@_la_LDFLAGS = -version-info @GSTMXLIBS_VERSION@
+-libgstfsl_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-@GST_MAJORMINOR@ -lgstinterfaces-$(GST_MAJORMINOR) $(IPU_LIBS)
++libgstfsl_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-@GST_MAJORMINOR@ -lgstinterfaces-$(GST_MAJORMINOR) $(IPU_LIBS) $(SHM_LIBS)
+
+ libgstfsl_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/imx-mm
+ libgstfsl_@GST_MAJORMINOR@include_HEADERS = \
+--
+1.8.1.4
+
diff --git a/package/gstreamer/gst-plugins-base/Config.in b/package/gstreamer/gst-plugins-base/Config.in
index 95f84d385e..ccc88f7cd8 100644
--- a/package/gstreamer/gst-plugins-base/Config.in
+++ b/package/gstreamer/gst-plugins-base/Config.in
@@ -87,6 +87,7 @@ config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_PANGO
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR # pango -> libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> libglib2
+ depends on BR2_USE_MMU # pango -> glib2
select BR2_PACKAGE_PANGO
comment "pango plugin needs a toolchain w/ C++, wchar, threads"
diff --git a/package/gstreamer/gstreamer/gstreamer.mk b/package/gstreamer/gstreamer/gstreamer.mk
index 0667e38904..4696876d39 100644
--- a/package/gstreamer/gstreamer/gstreamer.mk
+++ b/package/gstreamer/gstreamer/gstreamer.mk
@@ -12,7 +12,7 @@ GSTREAMER_INSTALL_STAGING = YES
# Checking if unaligned memory access works correctly cannot be done when cross
# compiling. For the following architectures there is no information available
# in the configure script.
-ifeq ($(BR2_avr32)$(BR2_xtensa),y)
+ifeq ($(BR2_avr32)$(BR2_xtensa)$(BR2_microblaze),y)
GSTREAMER_CONF_ENV = as_cv_unaligned_access=no
endif
ifeq ($(BR2_aarch64),y)
diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk
index 50dd1dfc81..fb272e6806 100644
--- a/package/gstreamer1/gst1-libav/gst1-libav.mk
+++ b/package/gstreamer1/gst1-libav/gst1-libav.mk
@@ -83,4 +83,12 @@ endif
GST1_LIBAV_CONF_OPT = \
--with-libav-extra-configure="$(GST1_LIBAV_CONF_EXTRA_OPT)"
+GST1_LIBAV_CFLAGS = $(TARGET_CFLAGS)
+
+ifeq ($(BR2_xtensa),y)
+GST1_LIBAV_CFLAGS += -mtext-section-literals
+endif
+
+GST1_LIBAV_CONF_ENV += CFLAGS="$(GST1_LIBAV_CFLAGS)"
+
$(eval $(autotools-package))
diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in
index 25be9cea2a..0685322b02 100644
--- a/package/gstreamer1/gst1-plugins-bad/Config.in
+++ b/package/gstreamer1/gst1-plugins-bad/Config.in
@@ -408,6 +408,7 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEG2ENC
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPG123
bool "mpg123"
select BR2_PACKAGE_MPG123
+ depends on BR2_USE_MMU # mpg123
help
mp3 decoding based on the mpg123 library
@@ -425,6 +426,16 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV
bool "opencv"
depends on BR2_INSTALL_LIBSTDCPP
select BR2_PACKAGE_OPENCV
+ # Remove the following opencv modules when gstreamer fixes the
+ # problem of including the old "cv.h" header
+ # bug: https://bugzilla.gnome.org/show_bug.cgi?id=725163
+ select BR2_PACKAGE_OPENCV_LIB_CALIB3D
+ select BR2_PACKAGE_OPENCV_LIB_FEATURES2D
+ select BR2_PACKAGE_OPENCV_LIB_FLANN
+ select BR2_PACKAGE_OPENCV_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV_LIB_LEGACY
+ select BR2_PACKAGE_OPENCV_LIB_OBJDETECT
+ select BR2_PACKAGE_OPENCV_LIB_VIDEO
help
GStreamer OpenCV Plugins
diff --git a/package/gstreamer1/gst1-plugins-base/Config.in b/package/gstreamer1/gst1-plugins-base/Config.in
index 55960ea9a6..3b487c5f6a 100644
--- a/package/gstreamer1/gst1-plugins-base/Config.in
+++ b/package/gstreamer1/gst1-plugins-base/Config.in
@@ -131,6 +131,7 @@ config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PANGO
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR # pango -> libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> libglib2
+ depends on BR2_USE_MMU # pango -> libglib2
select BR2_PACKAGE_PANGO
help
Pango-based text rendering and overlay
diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk
index a9c2ff43e6..7ef357ebac 100644
--- a/package/gstreamer1/gstreamer1/gstreamer1.mk
+++ b/package/gstreamer1/gstreamer1/gstreamer1.mk
@@ -14,7 +14,7 @@ GSTREAMER1_LICENSE = LGPLv2+ LGPLv2.1+
# Checking if unaligned memory access works correctly cannot be done when cross
# compiling. For the following architectures there is no information available
# in the configure script.
-ifeq ($(BR2_avr32)$(BR2_xtensa),y)
+ifeq ($(BR2_avr32)$(BR2_xtensa)$(BR2_microblaze),y)
GSTREAMER1_CONF_ENV = as_cv_unaligned_access=no
endif
ifeq ($(BR2_aarch64),y)
diff --git a/package/haserl/Config.in b/package/haserl/Config.in
index ddcf3e02fe..bfe1df8380 100644
--- a/package/haserl/Config.in
+++ b/package/haserl/Config.in
@@ -25,6 +25,7 @@ choice
config BR2_PACKAGE_HASERL_VERSION_0_8_X
bool "v 0.8.x"
+ depends on BR2_DEPRECATED_SINCE_2014_02
help
stable version
diff --git a/package/icu/Config.in b/package/icu/Config.in
index b736b438d8..9a278942f8 100644
--- a/package/icu/Config.in
+++ b/package/icu/Config.in
@@ -3,6 +3,10 @@ config BR2_PACKAGE_ICU
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
+ # icu does some funky things by generating by itself an ELF
+ # file, and it cannot easily be changed to generate FLAT
+ # format.
+ depends on !BR2_BINFMT_FLAT
depends on !BR2_arc # atomic builtins
help
International Components for Unicode.
@@ -11,5 +15,6 @@ config BR2_PACKAGE_ICU
comment "icu needs a toolchain w/ C++, wchar, threads"
depends on !BR2_arc
+ depends on !BR2_BINFMT_FLAT
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/imagemagick/Config.in b/package/imagemagick/Config.in
index e66ded0032..1bd04a99b3 100644
--- a/package/imagemagick/Config.in
+++ b/package/imagemagick/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_IMAGEMAGICK
bool "imagemagick"
+ depends on BR2_USE_MMU # fork()
help
ImageMagick(R) is a software suite to create, edit, and compose
bitmap images. It can read, convert and write images in a variety of
diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk
index c1e17c7591..4f2a65fb0d 100644
--- a/package/imagemagick/imagemagick.mk
+++ b/package/imagemagick/imagemagick.mk
@@ -115,7 +115,7 @@ ifeq ($(BR2_PACKAGE_BZIP2),y)
IMAGEMAGICK_CONF_OPT += --with-bzlib
IMAGEMAGICK_DEPENDENCIES += bzip2
else
-IMAGEMAGICK_CONF_OPT += --without-bzip2
+IMAGEMAGICK_CONF_OPT += --without-bzlib
endif
$(eval $(autotools-package))
diff --git a/package/iozone/Config.in b/package/iozone/Config.in
index 26d4daafe0..8cf50b11e8 100644
--- a/package/iozone/Config.in
+++ b/package/iozone/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_IOZONE
bool "iozone"
depends on BR2_USE_MMU # fork()
+ depends on BR2_TOOLCHAIN_HAS_THREADS
help
IOzone is a filesystem benchmark tool.
The benchmark generates and measures a variety of file operations
diff --git a/package/iputils/Config.in b/package/iputils/Config.in
index d4d282949f..e7bb3d9677 100644
--- a/package/iputils/Config.in
+++ b/package/iputils/Config.in
@@ -2,6 +2,10 @@ config BR2_PACKAGE_IPUTILS
bool "iputils"
select BR2_OPENSSL if BR2_INET_IPV6
depends on BR2_USE_MMU # fork()
+ # requires dn_comp (only available in since uclibc 0.9.33)
+ depends on !BR2_avr32
+ depends on !BR2_UCLIBC_VERSION_0_9_31 && \
+ !BR2_UCLIBC_VERSION_0_9_32
help
This package is set of small useful utilities for Linux networking.
It includes complete versions of ping, traceroute, etc.
diff --git a/package/jimtcl/jimtcl.mk b/package/jimtcl/jimtcl.mk
index 53cddf9455..1f2ea82db1 100644
--- a/package/jimtcl/jimtcl.mk
+++ b/package/jimtcl/jimtcl.mk
@@ -38,7 +38,7 @@ endif
define JIMTCL_CONFIGURE_CMDS
(cd $(@D); \
- $(TARGET_CONFIGURE_OPTS) \
+ $(TARGET_CONFIGURE_OPTS) CCACHE=none \
./configure --prefix=/usr \
$(JIMTCL_SHARED) \
)
diff --git a/package/kexec/kexec-0003-kernel-image-probe-function-return-value-checking-fi.patch b/package/kexec/kexec-0003-kernel-image-probe-function-return-value-checking-fi.patch
new file mode 100644
index 0000000000..9866cab1a1
--- /dev/null
+++ b/package/kexec/kexec-0003-kernel-image-probe-function-return-value-checking-fi.patch
@@ -0,0 +1,41 @@
+From 507e210daf047a5ef98de680151ace745297d82e Mon Sep 17 00:00:00 2001
+Message-Id: <507e210daf047a5ef98de680151ace745297d82e.1392728124.git.baruch@tkos.co.il>
+From: Dave Young <dyoung@redhat.com>
+Date: Thu, 6 Feb 2014 14:30:44 +0800
+Subject: [PATCH] kernel image probe function return value checking fix
+
+Currently kexec will use the kernel image type when probe function return
+value >=0. It looks odd, but previously it works. Since commit bf06cf2095
+it does not work anymore.
+
+During my testing for arm zImage, in 2nd kernel the atags pointer and the
+machine_id are not valid, I did a lot of debugging in kernel, finally I found
+this is caused by a kexec tools bug instead.
+
+Because uImage will be probed before zImage, also the uImage probe return 1
+instead of -1 since bf06cf2095, thus kexec will mistakenly think it is uImage.
+
+Fix this issue by regarding it's valid only when probe return 0.
+
+Signed-off-by: Dave Young <dyoung@redhat.com>
+Signed-off-by: Simon Horman <horms@verge.net.au>
+---
+ kexec/kexec.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kexec/kexec.c b/kexec/kexec.c
+index f13e5124aacc..703d524836b4 100644
+--- a/kexec/kexec.c
++++ b/kexec/kexec.c
+@@ -691,7 +691,7 @@ static int my_load(const char *type, int fileind, int argc, char **argv,
+ }
+ if (!type || guess_only) {
+ for (i = 0; i < file_types; i++) {
+- if (file_type[i].probe(kernel_buf, kernel_size) >= 0)
++ if (file_type[i].probe(kernel_buf, kernel_size) == 0)
+ break;
+ }
+ if (i == file_types) {
+--
+1.8.5.3
+
diff --git a/package/libcec/Config.in b/package/libcec/Config.in
index 4cfe1ce474..80974726e8 100644
--- a/package/libcec/Config.in
+++ b/package/libcec/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBCEC
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_WCHAR
+ depends on !BR2_PREFER_STATIC_LIB
help
libcec allows you in combination with the right hardware to
control your home theater devices with your TV remote
@@ -10,6 +11,6 @@ config BR2_PACKAGE_LIBCEC
http://libcec.pulse-eight.com
-comment "libcec needs a toolchain w/ C++, wchar, threads"
+comment "libcec needs a toolchain w/ C++, wchar, threads, dynamic library"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
- !BR2_USE_WCHAR
+ !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB
diff --git a/package/libcgi/libcgi.mk b/package/libcgi/libcgi.mk
index 40a9f32ee2..f46a1fa74c 100644
--- a/package/libcgi/libcgi.mk
+++ b/package/libcgi/libcgi.mk
@@ -8,7 +8,8 @@ LIBCGI_VERSION = 1.0
LIBCGI_SITE = http://downloads.sourceforge.net/project/libcgi/libcgi/$(LIBCGI_VERSION)
LIBCGI_INSTALL_STAGING = YES
# use cross CC/AR rather than host
-LIBCGI_MAKE_ENV = CC="$(TARGET_CC) $(TARGET_CFLAGS)" AR="$(TARGET_AR)"
+LIBCGI_MAKE_ENV = CC="$(TARGET_CC) $(TARGET_CFLAGS)" AR="$(TARGET_AR)" \
+ $(if $(BR2_PREFER_STATIC_LIB),STATIC=1)
LIBCGI_LICENSE = LGPLv2.1+
$(eval $(autotools-package))
diff --git a/package/libcgi/libcgi.patch b/package/libcgi/libcgi.patch
index 12a7b106c7..b576178546 100644
--- a/package/libcgi/libcgi.patch
+++ b/package/libcgi/libcgi.patch
@@ -1,5 +1,7 @@
---- libcgi-1.0.orig/src/cgi.c
-+++ libcgi-1.0/src/cgi.c
+Index: b/src/cgi.c
+===================================================================
+--- a/src/cgi.c
++++ b/src/cgi.c
@@ -336,7 +336,7 @@
hextable['b'] = 11;
hextable['c'] = 12;
@@ -9,8 +11,10 @@
hextable['f'] = 15;
hextable['A'] = 10;
hextable['B'] = 11;
---- libcgi-1.0.orig/src/string.c
-+++ libcgi-1.0/src/string.c
+Index: b/src/string.c
+===================================================================
+--- a/src/string.c
++++ b/src/string.c
@@ -584,7 +584,7 @@
va_start(ptr, s);
@@ -20,9 +24,11 @@
len = strlen(s);
while (*str) {
---- libcgi-1.0.orig/Makefile.in
-+++ libcgi-1.0/Makefile.in
-@@ -5,22 +5,27 @@
+Index: b/Makefile.in
+===================================================================
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -5,22 +5,32 @@
prefix = @prefix@
exec_prefix = @exec_prefix@
@@ -44,18 +50,23 @@
+SHOBJS=$(OBJS:.o=.sh.o)
-.c.o: $(CC) $(FLAGS) -c $<
-+%.o: %.c
-+ $(CC) $(FLAGS) -c $*.c -o $@
++ALL_TARGETS = src/libcgi.a
++ifeq ($(STATIC),)
++ALL_TARGETS += src/libcgi.so
++endif
-all: $(OBJS) src/libcgi.so
++%.o: %.c
++ $(CC) $(FLAGS) -c $*.c -o $@
++
+%.sh.o: %.c
+ $(CC) $(FLAGS) -fPIC -c $*.c -o $@
+
-+all: src/libcgi.so src/libcgi.a
++all: $(ALL_TARGETS)
@echo ""
@echo ""
-@@ -48,14 +53,15 @@
+@@ -48,14 +58,17 @@
src/libcgi.a: $(OBJS)
$(AR) rc src/libcgi.a $(OBJS)
@@ -70,14 +81,16 @@
- cp src/cgi.h $(INCDIR)
- cp src/session.h $(INCDIR)
+ cp src/libcgi.a $(DESTDIR)/$(LIBDIR)
++ifeq ($(STATIC),)
+ cp src/libcgi.so $(DESTDIR)/$(LIBDIR)
++endif
+ [ -d $(DESTDIR)/$(INCDIR) ] || mkdir -p $(DESTDIR)/$(INCDIR)
+ cp src/cgi.h $(DESTDIR)/$(INCDIR)
+ cp src/session.h $(DESTDIR)/$(INCDIR)
src/error.o: src/error.c src/error.h
-@@ -69,8 +75,9 @@
+@@ -69,8 +82,9 @@
src/list.o: src/list.c
clean:
@@ -88,7 +101,7 @@
uninstall: clean
rm -f $(LIBDIR)/libcgi.*
-@@ -78,11 +85,11 @@
+@@ -78,11 +92,11 @@
rm -f $(INCDIR)/session.h
rm -f $(MANDIR)/libcgi*
diff --git a/package/libgail/Config.in b/package/libgail/Config.in
index 4335bef347..e9975329b1 100644
--- a/package/libgail/Config.in
+++ b/package/libgail/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_LIBGAIL
bool "libgail"
depends on BR2_USE_WCHAR # pango -> libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> libglib2
+ depends on BR2_USE_MMU # pango -> libglib2
depends on BR2_PACKAGE_LIBGTK2
select BR2_PACKAGE_PANGO
help
diff --git a/package/libplayer/Config.in b/package/libplayer/Config.in
index 113f650b1e..be7e0f0be1 100644
--- a/package/libplayer/Config.in
+++ b/package/libplayer/Config.in
@@ -13,7 +13,8 @@ if BR2_PACKAGE_LIBPLAYER
config BR2_PACKAGE_LIBPLAYER_MPLAYER
bool "mplayer backend"
# mplayer
- depends on !BR2_sh4a && !BR2_sh4aeb && !BR2_microblaze && !BR2_aarch64
+ depends on !(BR2_bfin || BR2_sh2a || BR2_sh4a || BR2_sh4aeb || \
+ BR2_microblaze || BR2_aarch64 || BR2_nios)
# mplayer
depends on BR2_LARGEFILE
# mplayer
@@ -26,9 +27,11 @@ config BR2_PACKAGE_LIBPLAYER_GSTREAMER
bool "gstreamer backend"
depends on BR2_USE_WCHAR # glib2
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
+ depends on BR2_USE_MMU # glib2
select BR2_PACKAGE_GSTREAMER
comment "gstreamer backend needs a toolchain w/ wchar, threads"
+ depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_LIBPLAYER_PYTHON
diff --git a/package/libpng/libpng.mk b/package/libpng/libpng.mk
index 0bfe7d1d1b..e8483b7b62 100644
--- a/package/libpng/libpng.mk
+++ b/package/libpng/libpng.mk
@@ -7,7 +7,7 @@
LIBPNG_VERSION = 1.6.9
LIBPNG_SERIES = 16
LIBPNG_SOURCE = libpng-$(LIBPNG_VERSION).tar.xz
-LIBPNG_SITE = http://downloads.sourceforge.net/project/libpng/libpng${LIBPNG_SERIES}/$(LIBPNG_VERSION)
+LIBPNG_SITE = http://downloads.sourceforge.net/project/libpng/libpng${LIBPNG_SERIES}/older-releases/$(LIBPNG_VERSION)
LIBPNG_LICENSE = libpng license
LIBPNG_LICENSE_FILES = LICENSE
LIBPNG_INSTALL_STAGING = YES
diff --git a/package/libsecret/Config.in b/package/libsecret/Config.in
index 70f1fe7eb9..9a21d2eac9 100644
--- a/package/libsecret/Config.in
+++ b/package/libsecret/Config.in
@@ -4,6 +4,8 @@ config BR2_PACKAGE_LIBSECRET
depends on BR2_USE_WCHAR # gettext dep in libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
depends on BR2_USE_MMU # libglib2
+ # Triggers an internal compiler error on AVR32
+ depends on !BR2_avr32
help
libsecret is a library for storing and retrieving passwords and other
secrets. It communicates with the "Secret Service" using DBus.
@@ -13,5 +15,6 @@ config BR2_PACKAGE_LIBSECRET
https://wiki.gnome.org/Libsecret
comment "libsecret needs a toolchain w/ wchar, threads"
+ depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/libsepol/libsepol-01-support-static-only.patch b/package/libsepol/libsepol-01-support-static-only.patch
new file mode 100644
index 0000000000..b9746807ba
--- /dev/null
+++ b/package/libsepol/libsepol-01-support-static-only.patch
@@ -0,0 +1,44 @@
+Add support for static-only build
+
+Instead of unconditionally building shared libraries, this patch
+improves the libsepol build system with a "STATIC" variable, which
+when defined to some non-empty value, will disable the build of shared
+libraries. It allows to support cases where the target architecture
+does not have support for shared libraries.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/src/Makefile
+===================================================================
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -17,7 +17,12 @@
+ CFLAGS ?= -Werror -Wall -W -Wundef -Wshadow -Wmissing-noreturn -Wmissing-format-attribute
+ override CFLAGS += -I. -I../include -D_GNU_SOURCE
+
+-all: $(LIBA) $(LIBSO) $(LIBPC)
++ALL_TARGETS = $(LIBA) $(LIBPC)
++ifeq ($(STATIC),)
++ALL_TARGETS += $(LIBSO)
++endif
++
++all: $(ALL_TARGETS)
+
+ $(LIBA): $(OBJS)
+ $(AR) rcs $@ $^
+@@ -39,11 +44,13 @@
+ install: all
+ test -d $(LIBDIR) || install -m 755 -d $(LIBDIR)
+ install -m 644 $(LIBA) $(LIBDIR)
+- test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR)
+- install -m 755 $(LIBSO) $(SHLIBDIR)
+ test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig
+ install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig
++ifeq ($(STATIC),)
++ test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR)
++ install -m 755 $(LIBSO) $(SHLIBDIR)
+ cd $(LIBDIR) && ln -sf ../../`basename $(SHLIBDIR)`/$(LIBSO) $(TARGET)
++endif
+
+ relabel:
+ /sbin/restorecon $(SHLIBDIR)/$(LIBSO)
diff --git a/package/libsepol/libsepol.mk b/package/libsepol/libsepol.mk
index c359cd7e45..19b193c79d 100644
--- a/package/libsepol/libsepol.mk
+++ b/package/libsepol/libsepol.mk
@@ -11,18 +11,24 @@ LIBSEPOL_LICENSE_FILES = COPYING
LIBSEPOL_INSTALL_STAGING = YES
+LIBSEPOL_MAKE_FLAGS = $(TARGET_CONFIGURE_OPTS)
+
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+LIBSEPOL_MAKE_FLAGS += STATIC=1
+endif
+
define LIBSEPOL_BUILD_CMDS
# DESTDIR is needed during the compile to compute library and
# header paths.
- $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DESTDIR=$(STAGING_DIR)
+ $(MAKE) -C $(@D) $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(STAGING_DIR)
endef
define LIBSEPOL_INSTALL_STAGING_CMDS
- $(MAKE) -C $(@D) install $(TARGET_CONFIGURE_OPTS) DESTDIR=$(STAGING_DIR)
+ $(MAKE) -C $(@D) install $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(STAGING_DIR)
endef
define LIBSEPOL_INSTALL_TARGET_CMDS
- $(MAKE) -C $(@D) install $(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR)
+ $(MAKE) -C $(@D) install $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(TARGET_DIR)
endef
define HOST_LIBSEPOL_BUILD_CMDS
diff --git a/package/libsigsegv/libsigsegv-0004-fix-bfin-build.patch b/package/libsigsegv/libsigsegv-0004-fix-bfin-build.patch
new file mode 100644
index 0000000000..42900ea2b0
--- /dev/null
+++ b/package/libsigsegv/libsigsegv-0004-fix-bfin-build.patch
@@ -0,0 +1,19 @@
+Add stack direction for Blackfin
+
+The stack grows downward on Blackfin, see
+https://sourceware.org/binutils/docs/as/Blackfin-Syntax.html: "The
+stack grows by decrementing the stack pointer.".
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Index: b/m4/stack-direction.m4
+===================================================================
+--- a/m4/stack-direction.m4
++++ b/m4/stack-direction.m4
+@@ -18,6 +18,7 @@
+ arc | \
+ arm* | strongarm* | xscale* | \
+ avr | avr32 | \
++ bfin | \
+ c1 | c2 | c32 | c34 | c38 | \
+ clipper | \
+ cris | \
diff --git a/package/libtool/libtool-0001-mips64-n64-linking.patch b/package/libtool/libtool-mips64-n64-linking.post-install-patch
index ef9084ddb6..ef9084ddb6 100644
--- a/package/libtool/libtool-0001-mips64-n64-linking.patch
+++ b/package/libtool/libtool-mips64-n64-linking.post-install-patch
diff --git a/package/libtool/libtool.mk b/package/libtool/libtool.mk
index 2f6ea7c5cf..603f1f1c2c 100644
--- a/package/libtool/libtool.mk
+++ b/package/libtool/libtool.mk
@@ -13,6 +13,19 @@ LIBTOOL_LICENSE_FILES = COPYING
HOST_LIBTOOL_LIBTOOL_PATCH = NO
+# libtool-mips64-n64-linking.post-install-patch is an upstream patch that
+# fixes MIPS64 n64 link failures. However, because the patch touches an m4
+# file, applying it triggers a run of autoconf, automake, etc. This sometimes
+# leads to build failures due to incompatible system autotools. We cannot
+# simply set HOST_LIBTOOL_AUTORECONF = YES because that would create a
+# circular dependency on host-libtool. Therefore, just apply the patch
+# directly on the installed file.
+define HOST_LIBTOOL_FIXUP_LIBTOOL_M4
+ patch $(HOST_DIR)/usr/share/aclocal/libtool.m4 < \
+ package/libtool/libtool-mips64-n64-linking.post-install-patch
+endef
+HOST_LIBTOOL_POST_INSTALL_HOOKS += HOST_LIBTOOL_FIXUP_LIBTOOL_M4
+
$(eval $(autotools-package))
$(eval $(host-autotools-package))
diff --git a/package/libv4l/libv4l-largefile.patch b/package/libv4l/libv4l-01-largefile.patch
index 9df8652adc..9df8652adc 100644
--- a/package/libv4l/libv4l-largefile.patch
+++ b/package/libv4l/libv4l-01-largefile.patch
diff --git a/package/libv4l/libv4l-02-use-openat-when-available.patch b/package/libv4l/libv4l-02-use-openat-when-available.patch
new file mode 100644
index 0000000000..756733e3eb
--- /dev/null
+++ b/package/libv4l/libv4l-02-use-openat-when-available.patch
@@ -0,0 +1,34 @@
+From: Riku Voipio <riku.voipio@linaro.org>
+Date: Tue, 22 Jan 2013 15:37:22 +0000 (-0300)
+Subject: v4l-utils: use openat when available
+X-Git-Tag: v4l-utils-0.9.4~61
+X-Git-Url: http://git.linuxtv.org
+
+v4l-utils: use openat when available
+
+New architectures such as 64-Bit arm build kernels without legacy
+system calls - Such as the the no-at system calls. Thus, use
+SYS_openat whenever it is available.
+
+Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
+---
+
+diff --git a/lib/libv4lconvert/libv4lsyscall-priv.h b/lib/libv4lconvert/libv4lsyscall-priv.h
+index 2dac49a..cdd38bc 100644
+--- a/lib/libv4lconvert/libv4lsyscall-priv.h
++++ b/lib/libv4lconvert/libv4lsyscall-priv.h
+@@ -72,8 +72,13 @@ typedef off_t __off_t;
+
+ #ifndef CONFIG_SYS_WRAPPER
+
++#ifdef SYS_openat
++#define SYS_OPEN(file, oflag, mode) \
++ syscall(SYS_openat, AT_FDCWD, (const char *)(file), (int)(oflag), (mode_t)(mode))
++#else
+ #define SYS_OPEN(file, oflag, mode) \
+ syscall(SYS_open, (const char *)(file), (int)(oflag), (mode_t)(mode))
++#endif
+ #define SYS_CLOSE(fd) \
+ syscall(SYS_close, (int)(fd))
+ #define SYS_IOCTL(fd, cmd, arg) \
diff --git a/package/libvncserver/Config.in b/package/libvncserver/Config.in
index ff83e343dd..07b77f519e 100644
--- a/package/libvncserver/Config.in
+++ b/package/libvncserver/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_LIBVNCSERVER
bool "libvncserver"
+ depends on BR2_USE_MMU # VNCommand.c uses fork()
help
libvncserver is a VNC server/client library.
diff --git a/package/libxml2/libxml2.mk b/package/libxml2/libxml2.mk
index 7116b82cb9..62f3e2701a 100644
--- a/package/libxml2/libxml2.mk
+++ b/package/libxml2/libxml2.mk
@@ -16,15 +16,17 @@ ifneq ($(BR2_LARGEFILE),y)
LIBXML2_CONF_ENV = CC="$(TARGET_CC) $(TARGET_CFLAGS) -DNO_LARGEFILE_SOURCE"
endif
-LIBXML2_CONF_OPT = --with-gnu-ld --without-python --without-debug
+LIBXML2_CONF_OPT = --with-gnu-ld --without-python --without-debug --without-lzma
HOST_LIBXML2_DEPENDENCIES = host-pkgconf
+HOST_LIBXML2_CONF_OPT = --without-zlib --without-lzma
+
# mesa3d uses functions that are only available with debug
ifeq ($(BR2_PACKAGE_MESA3D),y)
-HOST_LIBXML2_CONF_OPT = --with-debug
+HOST_LIBXML2_CONF_OPT += --with-debug
else
-HOST_LIBXML2_CONF_OPT = --without-debug
+HOST_LIBXML2_CONF_OPT += --without-debug
endif
ifeq ($(BR2_PACKAGE_HOST_LIBXML2_PYTHON),y)
diff --git a/package/linux-headers/3.3.8/linux-fix-umode_t.patch b/package/linux-headers/3.3.8/linux-fix-umode_t.patch
deleted file mode 100644
index 9663662254..0000000000
--- a/package/linux-headers/3.3.8/linux-fix-umode_t.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Fix a problem with the 3.3 kernel headers. Specifically, the umode_t type
-is defined within a __KERNEL__ preprocessor ifdef region, and so the type
-is not usable by non-kernel code. Visit the following URL for more details.
-
-* http://www.spinics.net/lists/linux-fsdevel/msg52638.html
-
-The commit that created the problem can be seen at the following URL.
-
-* http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commitdiff;h=0583fcc96bb117763c0fa74c123573c0112dec65
-
-diff -Nur a/include/linux/ext2_fs.h b/include/linux/ext2_fs.h
---- a/include/linux/ext2_fs.h 2012-03-18 23:15:34.000000000 +0000
-+++ b/include/linux/ext2_fs.h 2012-03-21 11:47:53.015548437 +0000
-@@ -209,7 +209,7 @@
- #define EXT2_OTHER_FLMASK (EXT2_NODUMP_FL | EXT2_NOATIME_FL)
-
- /* Mask out flags that are inappropriate for the given type of inode. */
--static inline __u32 ext2_mask_flags(umode_t mode, __u32 flags)
-+static inline __u32 ext2_mask_flags(unsigned short mode, __u32 flags)
- {
- if (S_ISDIR(mode))
- return flags;
diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host
index ea104f58d1..134e338028 100644
--- a/package/linux-headers/Config.in.host
+++ b/package/linux-headers/Config.in.host
@@ -71,15 +71,15 @@ config BR2_DEFAULT_KERNEL_VERSION
config BR2_DEFAULT_KERNEL_HEADERS
string
default "3.0.101" if BR2_KERNEL_HEADERS_3_0
- default "3.2.54" if BR2_KERNEL_HEADERS_3_2
- default "3.4.79" if BR2_KERNEL_HEADERS_3_4
+ default "3.2.55" if BR2_KERNEL_HEADERS_3_2
+ default "3.4.82" if BR2_KERNEL_HEADERS_3_4
default "3.6.11" if BR2_KERNEL_HEADERS_3_6
default "3.7.10" if BR2_KERNEL_HEADERS_3_7
default "3.8.13" if BR2_KERNEL_HEADERS_3_8
default "3.9.11" if BR2_KERNEL_HEADERS_3_9
- default "3.10.29" if BR2_KERNEL_HEADERS_3_10
+ default "3.10.32" if BR2_KERNEL_HEADERS_3_10
default "3.11.10" if BR2_KERNEL_HEADERS_3_11
- default "3.12.10" if BR2_KERNEL_HEADERS_3_12
- default "3.13.2" if BR2_KERNEL_HEADERS_3_13
+ default "3.12.13" if BR2_KERNEL_HEADERS_3_12
+ default "3.13.5" if BR2_KERNEL_HEADERS_3_13
default "2.6" if BR2_KERNEL_HEADERS_SNAP
default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
diff --git a/package/linux-headers/linux-headers.mk b/package/linux-headers/linux-headers.mk
index 6dac9e36f1..49fd9ca6d4 100644
--- a/package/linux-headers/linux-headers.mk
+++ b/package/linux-headers/linux-headers.mk
@@ -20,6 +20,12 @@ LINUX_HEADERS_INSTALL_STAGING = YES
# linux-headers is part of the toolchain so disable the toolchain dependency
LINUX_HEADERS_ADD_TOOLCHAIN_DEPENDENCY = NO
+# For some architectures (eg. Arc, Cris, Hexagon, ia64, parisc,
+# score and xtensa), the Linux buildsystem tries to call the
+# cross-compiler, although it is not needed at all.
+# This results in seemingly errors like:
+# [...]/scripts/gcc-version.sh: line 26: arc-linux-uclibc-gcc: command not found
+# Those can be safely ignored.
define LINUX_HEADERS_INSTALL_STAGING_CMDS
(cd $(@D); \
$(TARGET_MAKE_ENV) $(MAKE) \
diff --git a/package/lua/5.1.5/lua-02-shared-libs-for-lua.patch b/package/lua/5.1.5/lua-02-shared-libs-for-lua.patch
index 97a70684f8..3f863a530c 100644
--- a/package/lua/5.1.5/lua-02-shared-libs-for-lua.patch
+++ b/package/lua/5.1.5/lua-02-shared-libs-for-lua.patch
@@ -1,8 +1,31 @@
Add the compilation of a shared library.
Compile the lua binary with the shared library.
+And install the shared library.
+The variable BUILDMODE allows to switch between static and dynamic mode.
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
+Index: b/Makefile
+===================================================================
+--- a/Makefile
++++ b/Makefile
+@@ -44,6 +44,7 @@
+ TO_BIN= lua luac
+ TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
+ TO_LIB= liblua.a
++TO_SOLIB = liblua.so.$(R)
+ TO_MAN= lua.1 luac.1
+
+ # Lua version and release.
+@@ -61,6 +62,8 @@
+ install: dummy
+ cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
+ cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
++ test -f src/$(TO_SOLIB) && cd src && $(INSTALL_EXEC) $(TO_SOLIB) $(INSTALL_LIB) || :
++ test -f src/$(TO_SOLIB) && ln -sf $(TO_SOLIB) $(INSTALL_LIB)/liblua.so || :
+ cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+ cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
+ cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
Index: b/src/Makefile
===================================================================
--- a/src/Makefile
@@ -15,18 +38,21 @@ Index: b/src/Makefile
CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \
lundump.o lvm.o lzio.o
-@@ -36,8 +37,9 @@
+@@ -36,8 +37,13 @@
LUAC_O= luac.o print.o
ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
--ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
++ifneq (dynamic,$(BUILDMODE))
+ ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
++else
+ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
++endif
ALL_A= $(LUA_A)
+ALL_SO= $(LUA_SO)
default: $(PLAT)
-@@ -47,12 +49,18 @@
+@@ -47,12 +53,23 @@
a: $(ALL_A)
@@ -36,14 +62,17 @@ Index: b/src/Makefile
$(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files
$(RANLIB) $@
--$(LUA_T): $(LUA_O) $(LUA_A)
-- $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
+$(LUA_SO): $(CORE_O) $(LIB_O)
+ $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $?
+ ln -fs $@.$(PKG_VERSION) $@
+
++ifneq (dynamic,$(BUILDMODE))
+ $(LUA_T): $(LUA_O) $(LUA_A)
+ $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
++else
+$(LUA_T): $(LUA_O) $(LUA_SO)
+ $(CC) -o $@ -L. $(MYLDFLAGS) $(LUA_O) -llua $(LIBS)
++endif
$(LUAC_T): $(LUAC_O) $(LUA_A)
$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
diff --git a/package/lua/5.2.3/lua-02-shared-libs-for-lua.patch b/package/lua/5.2.3/lua-02-shared-libs-for-lua.patch
index 4679325e79..3cf3b24848 100644
--- a/package/lua/5.2.3/lua-02-shared-libs-for-lua.patch
+++ b/package/lua/5.2.3/lua-02-shared-libs-for-lua.patch
@@ -1,8 +1,31 @@
Add the compilation of a shared library.
Compile the lua binary with the shared library.
+And install the shared library.
+The variable BUILDMODE allows to switch between static and dynamic mode.
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
+Index: b/Makefile
+===================================================================
+--- a/Makefile
++++ b/Makefile
+@@ -42,6 +42,7 @@
+ TO_BIN= lua luac
+ TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
+ TO_LIB= liblua.a
++TO_SOLIB = liblua.so.$(R)
+ TO_MAN= lua.1 luac.1
+
+ # Lua version and release.
+@@ -60,6 +61,8 @@
+ install: dummy
+ cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
+ cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
++ test -f src/$(TO_SOLIB) && cd src && $(INSTALL_EXEC) $(TO_SOLIB) $(INSTALL_LIB) || :
++ test -f src/$(TO_SOLIB) && ln -sf $(TO_SOLIB) $(INSTALL_LIB)/liblua.so || :
+ cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+ cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
+ cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
Index: b/src/Makefile
===================================================================
--- a/src/Makefile
@@ -15,18 +38,21 @@ Index: b/src/Makefile
CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \
lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \
ltm.o lundump.o lvm.o lzio.o
-@@ -43,8 +44,9 @@
+@@ -43,8 +44,13 @@
LUAC_O= luac.o
ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
--ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
++ifneq (dynamic,$(BUILDMODE))
+ ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
++else
+ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
++endif
ALL_A= $(LUA_A)
+ALL_SO= $(LUA_SO)
# Targets start here.
default: $(PLAT)
-@@ -55,12 +57,18 @@
+@@ -55,12 +61,23 @@
a: $(ALL_A)
@@ -36,14 +62,17 @@ Index: b/src/Makefile
$(AR) $@ $(BASE_O)
$(RANLIB) $@
--$(LUA_T): $(LUA_O) $(LUA_A)
-- $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
+$(LUA_SO): $(CORE_O) $(LIB_O)
+ $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $?
+ ln -fs $@.$(PKG_VERSION) $@
+
++ifneq (dynamic,$(BUILDMODE))
+ $(LUA_T): $(LUA_O) $(LUA_A)
+ $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
++else
+$(LUA_T): $(LUA_O) $(LUA_SO)
+ $(CC) -o $@ -L. $(LDFLAGS) $(LUA_O) -llua $(LIBS)
++endif
$(LUAC_T): $(LUAC_O) $(LUA_A)
$(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
diff --git a/package/lua/lua.mk b/package/lua/lua.mk
index 2c867f6e1e..bf68e654f2 100644
--- a/package/lua/lua.mk
+++ b/package/lua/lua.mk
@@ -14,8 +14,7 @@ LUA_INSTALL_STAGING = YES
LUA_LICENSE = MIT
LUA_LICENSE_FILES = COPYRIGHT
-LUA_CFLAGS = -Wall -fPIC
-LUA_MYLIBS += -ldl
+LUA_CFLAGS = -Wall -fPIC -DLUA_USE_POSIX
ifeq ($(BR2_PACKAGE_LUA_5_2),y)
LUA_CFLAGS += -DLUA_COMPAT_ALL
@@ -24,17 +23,23 @@ LUA_CFLAGS += -D_FILE_OFFSET_BITS=32
endif
endif
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+ LUA_BUILDMODE = static
+else
+ LUA_BUILDMODE = dynamic
+ LUA_CFLAGS += -DLUA_USE_DLOPEN
+ LUA_MYLIBS += -ldl
+endif
+
ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_READLINE),y)
LUA_DEPENDENCIES = readline ncurses
LUA_MYLIBS += -lreadline -lhistory -lncurses
- LUA_CFLAGS += -DLUA_USE_POSIX -DLUA_USE_DLOPEN -DLUA_USE_READLINE
+ LUA_CFLAGS += -DLUA_USE_READLINE
else
ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_LINENOISE),y)
LUA_DEPENDENCIES = linenoise
LUA_MYLIBS += -llinenoise
- LUA_CFLAGS += -DLUA_USE_POSIX -DLUA_USE_DLOPEN -DLUA_USE_LINENOISE
-else
- LUA_CFLAGS += -DLUA_USE_POSIX -DLUA_USE_DLOPEN
+ LUA_CFLAGS += -DLUA_USE_LINENOISE
endif
endif
@@ -53,6 +58,7 @@ define LUA_BUILD_CMDS
CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" \
CFLAGS="$(TARGET_CFLAGS) $(LUA_CFLAGS)" \
MYLIBS="$(LUA_MYLIBS)" AR="$(TARGET_CROSS)ar rcu" \
+ BUILDMODE=$(LUA_BUILDMODE) \
PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all
endef
@@ -61,59 +67,25 @@ define HOST_LUA_BUILD_CMDS
CFLAGS="$(HOST_LUA_CFLAGS)" \
MYLDFLAGS="$(HOST_LDFLAGS)" \
MYLIBS="$(HOST_LUA_MYLIBS)" \
+ BUILDMODE=static \
PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all
endef
define LUA_INSTALL_STAGING_CMDS
+ $(MAKE) INSTALL_TOP="$(STAGING_DIR)/usr" -C $(@D) install
$(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \
$(STAGING_DIR)/usr/lib/pkgconfig/lua.pc
- $(INSTALL) -m 0755 -D $(@D)/src/lua $(STAGING_DIR)/usr/bin/lua
- $(INSTALL) -m 0755 -D $(@D)/src/luac $(STAGING_DIR)/usr/bin/luac
- $(INSTALL) -m 0755 -D $(@D)/src/liblua.so.$(LUA_VERSION) \
- $(STAGING_DIR)/usr/lib/liblua.so.$(LUA_VERSION)
- ln -sf liblua.so.$(LUA_VERSION) $(STAGING_DIR)/usr/lib/liblua.so
- $(INSTALL) -m 0644 -D $(@D)/src/liblua.a $(STAGING_DIR)/usr/lib/liblua.a
- $(INSTALL) -m 0644 -D $(@D)/src/lua.h $(STAGING_DIR)/usr/include/lua.h
- $(INSTALL) -m 0644 -D $(@D)/src/luaconf.h $(STAGING_DIR)/usr/include/luaconf.h
- $(INSTALL) -m 0644 -D $(@D)/src/lualib.h $(STAGING_DIR)/usr/include/lualib.h
- $(INSTALL) -m 0644 -D $(@D)/src/lauxlib.h $(STAGING_DIR)/usr/include/lauxlib.h
endef
define LUA_INSTALL_TARGET_CMDS
- $(INSTALL) -m 0755 -D $(@D)/src/lua $(TARGET_DIR)/usr/bin/lua
- $(INSTALL) -m 0755 -D $(@D)/src/luac $(TARGET_DIR)/usr/bin/luac
- $(INSTALL) -m 0755 -D $(@D)/src/liblua.so.$(LUA_VERSION) \
- $(TARGET_DIR)/usr/lib/liblua.so.$(LUA_VERSION)
- ln -sf liblua.so.$(LUA_VERSION) $(TARGET_DIR)/usr/lib/liblua.so
- mkdir -p $(TARGET_DIR)/usr/lib/lua/$(LUAINTERPRETER_ABIVER)
- mkdir -p $(TARGET_DIR)/usr/share/lua/$(LUAINTERPRETER_ABIVER)
+ $(MAKE) INSTALL_TOP="$(TARGET_DIR)/usr" -C $(@D) install
endef
define HOST_LUA_INSTALL_CMDS
- $(INSTALL) -m 0755 -D $(@D)/src/lua $(HOST_DIR)/usr/bin/lua
- $(INSTALL) -m 0755 -D $(@D)/src/luac $(HOST_DIR)/usr/bin/luac
- $(INSTALL) -m 0755 -D $(@D)/src/liblua.so.$(LUA_VERSION) \
- $(HOST_DIR)/usr/lib/liblua.so.$(LUA_VERSION)
- ln -sf liblua.so.$(LUA_VERSION) $(HOST_DIR)/usr/lib/liblua.so
- $(INSTALL) -m 0644 -D $(@D)/src/liblua.a $(HOST_DIR)/usr/lib/liblua.a
+ $(MAKE) INSTALL_TOP="$(HOST_DIR)/usr" -C $(@D) install
$(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \
$(HOST_DIR)/usr/lib/pkgconfig/lua.pc
- $(INSTALL) -m 0644 -D $(@D)/src/lua.h $(HOST_DIR)/usr/include/lua.h
- $(INSTALL) -m 0644 -D $(@D)/src/luaconf.h $(HOST_DIR)/usr/include/luaconf.h
- $(INSTALL) -m 0644 -D $(@D)/src/lualib.h $(HOST_DIR)/usr/include/lualib.h
- $(INSTALL) -m 0644 -D $(@D)/src/lauxlib.h $(HOST_DIR)/usr/include/lauxlib.h
endef
-LUA_INSTALLED_FILES = \
- /usr/include/lua.h \
- /usr/include/luaconf.h \
- /usr/include/lualib.h \
- /usr/include/lauxlib.h \
- /usr/lib/pkgconfig/lua.pc \
- /usr/bin/lua \
- /usr/bin/luac \
- /usr/lib/liblua.a \
- /usr/lib/liblua.so*
-
$(eval $(generic-package))
$(eval $(host-generic-package))
diff --git a/package/luajit/luajit.mk b/package/luajit/luajit.mk
index 529d3c27af..4122d0a2db 100644
--- a/package/luajit/luajit.mk
+++ b/package/luajit/luajit.mk
@@ -48,11 +48,11 @@ define LUAJIT_BUILD_CMDS
endef
define LUAJIT_INSTALL_STAGING_CMDS
- $(MAKE) PREFIX="/usr" DESTDIR="$(STAGING_DIR)" -C $(@D) install
+ $(MAKE) PREFIX="/usr" DESTDIR="$(STAGING_DIR)" LDCONFIG=true -C $(@D) install
endef
define LUAJIT_INSTALL_TARGET_CMDS
- $(MAKE) PREFIX="/usr" DESTDIR="$(TARGET_DIR)" -C $(@D) install
+ $(MAKE) PREFIX="/usr" DESTDIR="$(TARGET_DIR)" LDCONFIG=true -C $(@D) install
endef
$(eval $(generic-package))
diff --git a/package/luarocks/luarocks.mk b/package/luarocks/luarocks.mk
index 88ab22a188..86e57d26b2 100644
--- a/package/luarocks/luarocks.mk
+++ b/package/luarocks/luarocks.mk
@@ -37,6 +37,7 @@ define HOST_LUAROCKS_INSTALL_CMDS
echo "external_deps_dirs = { [[$(STAGING_DIR)/usr]] }" >> $(LUAROCKS_CONFIG_FILE)
echo "gcc_rpath = false" >> $(LUAROCKS_CONFIG_FILE)
echo "rocks_trees = { [[$(TARGET_DIR)/usr]] }" >> $(LUAROCKS_CONFIG_FILE)
+ echo "wrap_bin_scripts = false" >> $(LUAROCKS_CONFIG_FILE)
endef
$(eval $(host-generic-package))
diff --git a/package/lvm2/Config.in b/package/lvm2/Config.in
index 5d6209fc12..3f8a52d47e 100644
--- a/package/lvm2/Config.in
+++ b/package/lvm2/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_LVM2
bool "lvm2 & device mapper"
depends on BR2_LARGEFILE
depends on BR2_USE_MMU # needs fork()
+ depends on !BR2_PREFER_STATIC_LIB # It fails to build statically
help
This is LVM2, the rewrite of The Linux Logical Volume Manager.
LVM supports enterprise level volume management of disk and disk
@@ -33,6 +34,6 @@ config BR2_PACKAGE_LVM2_APP_LIBRARY
endif
-comment "lvm2 needs a toolchain w/ largefile"
+comment "lvm2 needs a toolchain w/ largefile, dynamic library"
depends on BR2_USE_MMU
- depends on !BR2_LARGEFILE
+ depends on !BR2_LARGEFILE || BR2_PREFER_STATIC_LIB
diff --git a/package/lxc/Config.in b/package/lxc/Config.in
index 39cd577e67..d0937e6a2f 100644
--- a/package/lxc/Config.in
+++ b/package/lxc/Config.in
@@ -6,6 +6,7 @@ config BR2_PACKAGE_LXC
depends on BR2_LARGEFILE
depends on BR2_USE_MMU # fork()
depends on !BR2_avr32 # no timerfd
+ depends on !BR2_nios2 # the toolchain doesn't support setns syscall
help
Linux Containers (LXC), provides the ability to group and isolate
of a set of processes in a jail by virtualizing and accounting the
@@ -16,4 +17,5 @@ config BR2_PACKAGE_LXC
comment "lxc needs a toolchain w/ IPv6, threads, largefile"
depends on BR2_USE_MMU
depends on !BR2_avr32 # no timerfd
+ depends on !BR2_nios2 # the toolchain doesn't support setns syscall
depends on !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_LARGEFILE
diff --git a/package/matchbox/matchbox-lib/matchbox-lib-1.9-index-is-legacy.patch b/package/matchbox/matchbox-lib/matchbox-lib-0001-index-is-legacy.patch
index b486fb18d4..b486fb18d4 100644
--- a/package/matchbox/matchbox-lib/matchbox-lib-1.9-index-is-legacy.patch
+++ b/package/matchbox/matchbox-lib/matchbox-lib-0001-index-is-legacy.patch
diff --git a/package/matchbox/matchbox-lib/matchbox-lib-1.9-libpng15.patch b/package/matchbox/matchbox-lib/matchbox-lib-0002-libpng15.patch
index 3d68573b5f..3d68573b5f 100644
--- a/package/matchbox/matchbox-lib/matchbox-lib-1.9-libpng15.patch
+++ b/package/matchbox/matchbox-lib/matchbox-lib-0002-libpng15.patch
diff --git a/package/matchbox/matchbox-lib/matchbox-lib-0003-include-setjmp-h.patch b/package/matchbox/matchbox-lib/matchbox-lib-0003-include-setjmp-h.patch
new file mode 100644
index 0000000000..72e1e45d8f
--- /dev/null
+++ b/package/matchbox/matchbox-lib/matchbox-lib-0003-include-setjmp-h.patch
@@ -0,0 +1,17 @@
+matchbox-lib: include setjmp.h
+
+Based on this upstream patch:
+
+ http://git.yoctoproject.org/cgit/cgit.cgi/libmatchbox/commit/?id=9315bcce1f01e7d6c00161442d61d3c676794d9d
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+--- libmatchbox-1.9/libmb/mbpixbuf.c.orig 2014-02-21 12:45:46.867035956 +0000
++++ libmatchbox-1.9/libmb/mbpixbuf.c 2014-02-21 12:46:43.482949583 +0000
+@@ -22,6 +22,7 @@
+
+ #include <strings.h>
+ #include "mbpixbuf.h"
++#include <setjmp.h>
+
+ #define BYTE_ORD_24_RGB 0
+ #define BYTE_ORD_24_RBG 1
diff --git a/package/midori/Config.in b/package/midori/Config.in
index a684376c69..c3b5a1bd27 100644
--- a/package/midori/Config.in
+++ b/package/midori/Config.in
@@ -8,15 +8,13 @@ config BR2_PACKAGE_MIDORI
depends on BR2_INSTALL_LIBSTDCPP # webkit
depends on BR2_TOOLCHAIN_HAS_THREADS # webkit -> enchant -> libglib2
depends on BR2_USE_WCHAR # webkit
- depends on (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || BR2_mipsel || \
- BR2_powerpc || BR2_sh || BR2_sparc || BR2_x86_64) # webkit
+ depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
help
Midori is a lightweight web browser based on WebKit
http://software.twotoasts.de/?page=midori
comment "midori needs libgtk2 and a toolchain w/ C++, wchar, threads"
- depends on (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || BR2_mipsel || \
- BR2_powerpc || BR2_sh || BR2_sparc || BR2_x86_64)
+ depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_LIBGTK2
diff --git a/package/mpg123/Config.in b/package/mpg123/Config.in
index 18ac41cfca..a7ac035a77 100644
--- a/package/mpg123/Config.in
+++ b/package/mpg123/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_MPG123
bool "mpg123"
+ depends on BR2_USE_MMU # fork - in the application
help
Fast, free and portable MPEG audio player for Unix. It supports
MPEG 1.0/2.0 layers 1, 2 and 3.
diff --git a/package/mplayer/Config.in b/package/mplayer/Config.in
index ae273e4f80..bacd744dd8 100644
--- a/package/mplayer/Config.in
+++ b/package/mplayer/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_MPLAYER
bool "mplayer"
# Those architectures are not supported by MPlayer
- depends on !(BR2_sh2a || BR2_sh4a || BR2_sh4aeb \
+ depends on !(BR2_bfin || BR2_sh2a || BR2_sh4a || BR2_sh4aeb \
|| BR2_microblaze || BR2_aarch64 || BR2_nios2)
# Broken support for <ARMv5
depends on !(BR2_arm7tdmi || BR2_arm720t || BR2_arm920t \
@@ -29,6 +29,6 @@ config BR2_PACKAGE_MPLAYER_MENCODER
endif
comment "mplayer needs a toolchain w/ largefile"
- depends on !(BR2_sh2 || BR2_sh2a || BR2_sh4a || BR2_sh4aeb \
- || BR2_microblaze || BR2_aarch64)
+ depends on !(BR2_bfin || BR2_sh2a || BR2_sh4a || BR2_sh4aeb \
+ || BR2_microblaze || BR2_aarch64 || BR2_nios2)
depends on !BR2_LARGEFILE
diff --git a/package/ncftp/ncftp.mk b/package/ncftp/ncftp.mk
index ff6c70a0f2..6ab393430c 100644
--- a/package/ncftp/ncftp.mk
+++ b/package/ncftp/ncftp.mk
@@ -11,6 +11,17 @@ NCFTP_TARGET_BINS = ncftp
NCFTP_LICENSE = Clarified Artistic License
NCFTP_LICENSE_FILES = doc/LICENSE.txt
+NCFTP_DEPENDENCIES = host-autoconf
+
+# The bundled configure script is generated by autoconf 2.13 and doesn't
+# detect cross-compilation correctly. Therefore, we have to regenerate it.
+# We need to pass -I because of the non-standard m4 directory name, and
+# none of the other autotools are used, so the below is the easiest.
+define NCFTP_RUN_AUTOCONF
+ (cd $(@D); $(HOST_DIR)/usr/bin/autoconf -I$(@D)/autoconf_local/)
+endef
+NCFTP_PRE_CONFIGURE_HOOKS += NCFTP_RUN_AUTOCONF
+
ifeq ($(BR2_PACKAGE_NCFTP_GET),y)
NCFTP_TARGET_BINS += ncftpget
endif
diff --git a/package/netsnmp/netsnmp.mk b/package/netsnmp/netsnmp.mk
index 6bb6fe251f..4830c00e85 100644
--- a/package/netsnmp/netsnmp.mk
+++ b/package/netsnmp/netsnmp.mk
@@ -40,6 +40,10 @@ ifeq ($(BR2_PACKAGE_OPENSSL),y)
NETSNMP_DEPENDENCIES += openssl
NETSNMP_CONF_OPT += \
--with-openssl=$(STAGING_DIR)/usr/include/openssl
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+ # openssl uses zlib, so we need to explicitly link with it when static
+ NETSNMP_CONF_ENV += LIBS=-lz
+endif
else
NETSNMP_CONF_OPT += --without-openssl
endif
diff --git a/package/nut/nut.mk b/package/nut/nut.mk
index 04b2b41e1d..b318258de0 100644
--- a/package/nut/nut.mk
+++ b/package/nut/nut.mk
@@ -14,10 +14,14 @@ NUT_DEPENDENCIES = host-pkgconf
# Our patch changes m4 macros, so we need to autoreconf
NUT_AUTORECONF = YES
+# Disable parallel builds
+NUT_MAKE = $(MAKE1)
+
# Put the PID files in a read-write place (/var/run is a tmpfs)
# since the default location (/var/state/ups) maybe readonly.
NUT_CONF_OPT = \
- --with-altpidpath=/var/run/upsd
+ --with-altpidpath=/var/run/upsd \
+ --without-hal
NUT_CONF_ENV = \
GDLIB_CONFIG=$(STAGING_DIR)/usr/bin/gdlib-config \
diff --git a/package/opencv/Config.in b/package/opencv/Config.in
index ccde5cb349..b40e1412cf 100644
--- a/package/opencv/Config.in
+++ b/package/opencv/Config.in
@@ -26,12 +26,6 @@ config BR2_PACKAGE_OPENCV_LIB_CONTRIB
help
Include opencv_contrib module into the OpenCV build.
-config BR2_PACKAGE_OPENCV_LIB_CORE
- bool "core"
- default y
- help
- Include opencv_core module into the OpenCV build.
-
config BR2_PACKAGE_OPENCV_LIB_FEATURES2D
bool "features2d"
default y
@@ -140,6 +134,7 @@ comment "ffmpeg support needs a toolchain w/ largefile, IPv6"
config BR2_PACKAGE_OPENCV_WITH_GSTREAMER
bool "gstreamer support"
+ depends on BR2_USE_MMU # gstreamer -> libglib2
depends on BR2_USE_WCHAR # gstreamer -> libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # gstreamer -> libglib2
select BR2_PACKAGE_GSTREAMER
@@ -147,6 +142,7 @@ config BR2_PACKAGE_OPENCV_WITH_GSTREAMER
select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP
comment "gstreamer support needs a toolchain w/ wchar, threads"
+ depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_OPENCV_WITH_GTK
@@ -155,6 +151,7 @@ config BR2_PACKAGE_OPENCV_WITH_GTK
depends on BR2_USE_WCHAR # libgtk2 -> libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2 -> libglib2
depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_USE_MMU # libgtk2 -> glib2
select BR2_PACKAGE_LIBGTK2
config BR2_PACKAGE_OPENCV_WITH_JPEG
@@ -173,6 +170,7 @@ config BR2_PACKAGE_OPENCV_WITH_QT
bool "qt backend support"
depends on BR2_INSTALL_LIBSTDCPP
depends on !BR2_avr32 # qt
+ depends on BR2_USE_MMU # qt
select BR2_PACKAGE_QT
select BR2_PACKAGE_QT_STL
default y
diff --git a/package/opencv/opencv.mk b/package/opencv/opencv.mk
index 732bc0cc55..42f9b0a51f 100644
--- a/package/opencv/opencv.mk
+++ b/package/opencv/opencv.mk
@@ -34,7 +34,7 @@ OPENCV_CONF_OPT += \
-DBUILD_opencv_androidcamera=OFF \
-DBUILD_opencv_calib3d=$(if $(BR2_PACKAGE_OPENCV_LIB_CALIB3D),ON,OFF) \
-DBUILD_opencv_contrib=$(if $(BR2_PACKAGE_OPENCV_LIB_CONTRIB),ON,OFF) \
- -DBUILD_opencv_core=$(if $(BR2_PACKAGE_OPENCV_LIB_CORE),ON,OFF) \
+ -DBUILD_opencv_core=ON \
-DBUILD_opencv_features2d=$(if $(BR2_PACKAGE_OPENCV_LIB_FEATURES2D),ON,OFF) \
-DBUILD_opencv_flann=$(if $(BR2_PACKAGE_OPENCV_LIB_FLANN),ON,OFF) \
-DBUILD_opencv_gpu=$(if $(BR2_PACKAGE_OPENCV_LIB_GPU),ON,OFF) \
diff --git a/package/openpowerlink/Config.in b/package/openpowerlink/Config.in
index cdb09a2e9c..85739617e5 100644
--- a/package/openpowerlink/Config.in
+++ b/package/openpowerlink/Config.in
@@ -1,4 +1,5 @@
comment "openpowerlink needs a toolchain w/ C++, threads"
+ depends on BR2_USE_MMU
depends on BR2_i386 || BR2_x86_64
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
@@ -7,6 +8,7 @@ config BR2_PACKAGE_OPENPOWERLINK
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_i386 || BR2_x86_64
+ depends on BR2_USE_MMU # qt
help
openPOWERLINK is an Open Source Industrial Ethernet
stack implementing the POWERLINK protocol for Managing Node
diff --git a/package/openswan/openswan-wno-error-cpp.patch b/package/openswan/openswan-wno-error-cpp.patch
deleted file mode 100644
index 8e79ae9daa..0000000000
--- a/package/openswan/openswan-wno-error-cpp.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Kill -Wno-error=cpp, old(ish) gcc versions (< 4.4) don't like it and we still
-got 4.3.x available for internal toolchains.
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-diff -Nura openswan-2.6.39.orig/lib/libopenswan/Makefile openswan-2.6.39/lib/libopenswan/Makefile
---- openswan-2.6.39.orig/lib/libopenswan/Makefile 2013-06-11 07:22:50.228520267 -0300
-+++ openswan-2.6.39/lib/libopenswan/Makefile 2013-06-11 07:27:40.087849447 -0300
-@@ -86,7 +86,7 @@
- CFLAGS+= -Wno-error=cast-qual
-
- # some junk left in alg_info.c
--CFLAGS+= -Wno-error=cpp
-+#CFLAGS+= -Wno-error=cpp
-
- #CFLAGS+= -Wmissing-declarations
- CFLAGS+= -Wstrict-prototypes
-diff -Nura openswan-2.6.39.orig/programs/pluto/Makefile openswan-2.6.39/programs/pluto/Makefile
---- openswan-2.6.39.orig/programs/pluto/Makefile 2013-06-11 07:22:49.753504978 -0300
-+++ openswan-2.6.39/programs/pluto/Makefile 2013-06-11 07:27:53.020265681 -0300
-@@ -47,7 +47,7 @@
-
- # must turn this off due to myid.c
- CFLAGS+= -Wno-error=cast-qual
--CFLAGS+= -Wno-error=cpp
-+#CFLAGS+= -Wno-error=cpp
-
- ifeq ($(HAVE_BROKEN_POPEN),true)
- CFLAGS+=-DHAVE_BROKEN_POPEN
diff --git a/package/openswan/openswan.mk b/package/openswan/openswan.mk
index 0b8e7d3a69..ae055d4e3e 100644
--- a/package/openswan/openswan.mk
+++ b/package/openswan/openswan.mk
@@ -4,7 +4,7 @@
#
################################################################################
-OPENSWAN_VERSION = 2.6.39
+OPENSWAN_VERSION = 2.6.40
OPENSWAN_SITE = http://download.openswan.org/openswan
OPENSWAN_LICENSE = GPLv2+, BSD-3c
OPENSWAN_LICENSE_FILES = COPYING LICENSE
diff --git a/package/pcmanfm/Config.in b/package/pcmanfm/Config.in
index f6a398436f..cf77e36e0f 100644
--- a/package/pcmanfm/Config.in
+++ b/package/pcmanfm/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_PCMANFM
depends on BR2_PACKAGE_XORG7
depends on BR2_USE_WCHAR # glib2
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
+ depends on BR2_USE_MMU # glib2
select BR2_PACKAGE_GAMIN
select BR2_PACKAGE_STARTUP_NOTIFICATION
select BR2_PACKAGE_XLIB_LIBX11
diff --git a/package/pcsc-lite/pcsc-lite-0001-pthread-needed-for-libusb.patch b/package/pcsc-lite/pcsc-lite-0001-pthread-needed-for-libusb.patch
new file mode 100644
index 0000000000..acb777aa44
--- /dev/null
+++ b/package/pcsc-lite/pcsc-lite-0001-pthread-needed-for-libusb.patch
@@ -0,0 +1,29 @@
+configure.ac: explicitly add pthread cflags/libs in the libusb test
+
+If libusb-config does not exist, LIBUSB_CFLAGS and PTHREAD_CFLAGS will be
+empty, and the test for libusb will be performed without additional flags.
+However, when libusb needs threads, some extra flags are needed (depending
+on the platform), like -pthreads, -lpthread, etc. Without these flags, the
+test for libusb_init() will fail to link correctly, and pcsc-lite will fail
+detecting libusb.
+
+Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
+
+Upstream-status: will be submitted
+
+---
+
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -254,8 +254,8 @@ if test "x$use_libusb" != xno ; then
+ saved_CPPFLAGS="$CPPFLAGS"
+ saved_LIBS="$LIBS"
+
+- CPPFLAGS="$CPPFLAGS $LIBUSB_CFLAGS"
+- LIBS="$LDFLAGS $LIBUSB_LIBS"
++ CPPFLAGS="$CPPFLAGS $LIBUSB_CFLAGS $PTHREAD_CFLAGS"
++ LIBS="$LDFLAGS $LIBUSB_LIBS $PTHREAD_LIBS"
+
+ AC_CHECK_HEADERS(libusb.h, [],
+ [ AC_MSG_ERROR([libusb.h not found, use ./configure LIBUSB_CFLAGS=...]) ])
diff --git a/package/pcsc-lite/pcsc-lite.mk b/package/pcsc-lite/pcsc-lite.mk
index 18859cdb12..5f699575b3 100644
--- a/package/pcsc-lite/pcsc-lite.mk
+++ b/package/pcsc-lite/pcsc-lite.mk
@@ -11,6 +11,7 @@ PCSC_LITE_INSTALL_STAGING = YES
PCSC_LITE_DEPENDENCIES = host-pkgconf
PCSC_LITE_LICENSE = BSD-3c
PCSC_LITE_LICENSE_FILES = COPYING
+PCSC_LITE_AUTORECONF = YES
# - libudev and libusb are optional
# - libudev and libusb can't be used together
diff --git a/package/php/Config.ext b/package/php/Config.ext
index df020479b3..463334b3ac 100644
--- a/package/php/Config.ext
+++ b/package/php/Config.ext
@@ -162,11 +162,13 @@ config BR2_PACKAGE_PHP_EXT_INTL
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR
depends on !BR2_arc # icu -> atomic builtins
+ depends on !BR2_BINFMT_FLAT # icu
help
Internationalization support
comment "intl support needs a toolchain w/ C++, wchar"
depends on !BR2_arc
+ depends on !BR2_BINFMT_FLAT
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
comment "Image processing"
diff --git a/package/pixman/pixman-loongson-cflags.patch b/package/pixman/pixman-01-loongson-cflags.patch
index fc53be234e..fc53be234e 100644
--- a/package/pixman/pixman-loongson-cflags.patch
+++ b/package/pixman/pixman-01-loongson-cflags.patch
diff --git a/package/pixman/pixman-02-check-fe-divbyzero.patch b/package/pixman/pixman-02-check-fe-divbyzero.patch
new file mode 100644
index 0000000000..01c6c96de6
--- /dev/null
+++ b/package/pixman/pixman-02-check-fe-divbyzero.patch
@@ -0,0 +1,41 @@
+Add a check for FE_DIVBYZERO
+
+Some architectures (namely Microblaze) do have fenv.h and
+feenableexcept, but they don't have the FE_DIVBYZERO definition. This
+patch adds a configure check for FE_DIVBYZERO, and only uses it if
+it's available.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/configure.ac
+===================================================================
+--- a/configure.ac
++++ b/configure.ac
+@@ -838,6 +838,11 @@
+ AC_DEFINE(HAVE_FEENABLEEXCEPT, 1, [Whether we have feenableexcept()])
+ fi
+
++AC_CHECK_DECL([FE_DIVBYZERO], [], [], [[#include <fenv.h>]])
++if test x$ac_cv_have_decl_FE_DIVBYZERO = xyes; then
++ AC_DEFINE(HAVE_FEDIVBYZERO, 1, [Whether we have FE_DIVBYZERO])
++fi
++
+ AC_CHECK_FUNC(gettimeofday, have_gettimeofday=yes, have_gettimeofday=no)
+ AC_CHECK_HEADER(sys/time.h, have_sys_time_h=yes, have_sys_time_h=no)
+ if test x$have_gettimeofday = xyes && test x$have_sys_time_h = xyes; then
+Index: b/test/utils.c
+===================================================================
+--- a/test/utils.c
++++ b/test/utils.c
+@@ -776,9 +776,11 @@
+ {
+ #ifdef HAVE_FENV_H
+ #ifdef HAVE_FEENABLEEXCEPT
++#ifdef HAVE_FE_DIVBYZERO
+ feenableexcept (FE_DIVBYZERO);
+ #endif
+ #endif
++#endif
+ }
+
+ void *
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index acb6f62c25..339c3ebc01 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -496,7 +496,7 @@ $(1)-graph-depends:
@$(INSTALL) -d $(O)/graphs
@cd "$(CONFIG_DIR)"; \
$(TOPDIR)/support/scripts/graph-depends $(1) \
- |dot -T$(BR2_GRAPH_OUT) -o $(O)/graphs/$$(@).$(BR2_GRAPH_OUT)
+ |dot -T$(_BR2_GRAPH_OUT) -o $(O)/graphs/$$(@).$(_BR2_GRAPH_OUT)
$(1)-dirclean: $$($(2)_TARGET_DIRCLEAN)
diff --git a/package/pv/pv.mk b/package/pv/pv.mk
index ab5190a43a..0ba8f5f7b2 100644
--- a/package/pv/pv.mk
+++ b/package/pv/pv.mk
@@ -9,7 +9,13 @@ PV_SOURCE = pv-$(PV_VERSION).tar.bz2
PV_SITE = http://www.ivarch.com/programs/sources
PV_LICENSE = Artistic-2.0
PV_LICENSE_FILES = doc/COPYING
-PV_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
+
+# pv configure script is somewhat stupid: if it cannot find the host
+# gettext tool msgfmt, it concludes that gettext is not available, and
+# provides its own minimal version. Unfortunately, this minimal
+# version conflicts with the available target gettext. We fix this by
+# ensuring that host-gettext is built if gettext support is enabled;
+PV_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext host-gettext)
# While 'pv' uses autoconf, it does not use automake for its
# makefiles. It uses $(LD) $(LDFLAGS) to achieve partial linking, but
diff --git a/package/python/python.mk b/package/python/python.mk
index 94765cbb84..e177ef7522 100644
--- a/package/python/python.mk
+++ b/package/python/python.mk
@@ -89,6 +89,7 @@ endif
ifneq ($(BR2_PACKAGE_PYTHON_UNICODEDATA),y)
PYTHON_CONF_OPT += --disable-unicodedata
+HOST_PYTHON_CONF_OPT += --disable-unicodedata
endif
# Default is UCS2 w/o a conf opt
diff --git a/package/python3/python3.mk b/package/python3/python3.mk
index 880b66e3c5..24e90d68e7 100644
--- a/package/python3/python3.mk
+++ b/package/python3/python3.mk
@@ -77,6 +77,7 @@ endif
ifneq ($(BR2_PACKAGE_PYTHON3_UNICODEDATA),y)
PYTHON3_CONF_OPT += --disable-unicodedata
+HOST_PYTHON3_CONF_OPT += --disable-unicodedata
endif
ifeq ($(BR2_PACKAGE_PYTHON3_BZIP2),y)
diff --git a/package/qt/Config.in b/package/qt/Config.in
index 926d54c619..5105e5d8b1 100644
--- a/package/qt/Config.in
+++ b/package/qt/Config.in
@@ -1,10 +1,12 @@
comment "qt needs a toolchain w/ C++, threads"
depends on !BR2_avr32
+ depends on BR2_USE_MMU
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
menuconfig BR2_PACKAGE_QT
bool "Qt"
depends on !BR2_avr32 # lacks TLS
+ depends on BR2_USE_MMU # fork
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
help
diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index 2fca9d26da..5c404d1e62 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -189,6 +189,7 @@ config BR2_PACKAGE_QT5BASE_ICU
bool "Enable ICU support"
select BR2_PACKAGE_ICU
depends on !BR2_arc # icu -> atomic builtins
+ depends on !BR2_BINFMT_FLAT # icu
help
This option enables ICU support in Qt5. This is for example
needed for Qt5Webkit.
diff --git a/package/qt5/qt5connectivity/qt5connectivity-0001-don_t-build-scanner-example-without-qtquick.patch b/package/qt5/qt5connectivity/qt5connectivity-0001-don_t-build-scanner-example-without-qtquick.patch
new file mode 100644
index 0000000000..0751ba7d9f
--- /dev/null
+++ b/package/qt5/qt5connectivity/qt5connectivity-0001-don_t-build-scanner-example-without-qtquick.patch
@@ -0,0 +1,30 @@
+qt5connectivity: Don't build scanner example without QtQuick
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+
+From 1454664752505f5870e4173d15362bfdfe4148e7 Mon Sep 17 00:00:00 2001
+From: Alex Blasche <alexander.blasche@digia.com>
+Date: Wed, 15 Jan 2014 12:11:31 +0100
+Subject: [PATCH] Don't build scanner example without QtQuick
+
+Task-number: QTBUG-35711
+Change-Id: I0406fb5edd8fb2a90046308853485eaaa4311a26
+Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
+Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
+Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
+---
+ examples/bluetooth/bluetooth.pro | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/examples/bluetooth/bluetooth.pro b/examples/bluetooth/bluetooth.pro
+index e3ef769..549bb7c 100644
+--- a/examples/bluetooth/bluetooth.pro
++++ b/examples/bluetooth/bluetooth.pro
+@@ -6,4 +6,4 @@ qtHaveModule(widgets) {
+ bttennis
+ }
+
+-SUBDIRS += scanner
++qtHaveModule(quick): SUBDIRS += scanner
+--
+1.7.1
+
diff --git a/package/qtuio/qtuio.mk b/package/qtuio/qtuio.mk
index 652dbc2af3..fe23230b2c 100644
--- a/package/qtuio/qtuio.mk
+++ b/package/qtuio/qtuio.mk
@@ -51,13 +51,22 @@ define QTUIO_INSTALL_EXAMPLES
endef
endif
+ifeq ($(BR2_PACKAGE_QT_STATIC),y)
+QTUIO_LIBRARY = libqTUIO.a
+else
+QTUIO_LIBRARY = libqTUIO.so*
+define QTUIO_INSTALL_TARGET_LIBRARY
+ cp -dpf $(@D)/lib/$(QTUIO_LIBRARY) $(TARGET_DIR)/usr/lib
+endef
+endif
+
define QTUIO_INSTALL_TARGET_CMDS
- cp -dpf $(@D)/lib/libqTUIO.so* $(TARGET_DIR)/usr/lib
+ $(QTUIO_INSTALL_TARGET_LIBRARY)
$(QTUIO_INSTALL_EXAMPLES)
endef
define QTUIO_INSTALL_STAGING_CMDS
- cp -dpf $(@D)/lib/libqTUIO.so* $(STAGING_DIR)/usr/lib
+ cp -dpf $(@D)/lib/$(QTUIO_LIBRARY) $(STAGING_DIR)/usr/lib
endef
$(eval $(generic-package))
diff --git a/package/ramsmp/Config.in b/package/ramsmp/Config.in
index c379bb17ac..ecab6a46ad 100644
--- a/package/ramsmp/Config.in
+++ b/package/ramsmp/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_RAMSMP
bool "ramspeed/smp"
+ depends on BR2_USE_MMU # fork()
help
RAMspeed/SMP is a free open source command line utility
to measure cache and memory performance of multiprocessor machines.
diff --git a/package/rt-tests/Config.in b/package/rt-tests/Config.in
index 461e6de6e8..28a4a11249 100644
--- a/package/rt-tests/Config.in
+++ b/package/rt-tests/Config.in
@@ -1,5 +1,8 @@
config BR2_PACKAGE_RT_TESTS
bool "rt-tests"
+ # no _tid field in 'struct sigevent'
+ depends on !(BR2_TOOLCHAIN_USES_UCLIBC && (BR2_mips || BR2_mipsel || \
+ BR2_mips64 || BR2_mips64el))
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
help
Set of utilities for testing the real-time behaviour of a
@@ -19,5 +22,10 @@ config BR2_PACKAGE_RT_TESTS
http://rt.wiki.kernel.org
+
+comment "rt-tests needs an (e)glibc toolchain"
+ depends on BR2_TOOLCHAIN_USES_UCLIBC && (BR2_mips || BR2_mipsel || \
+ BR2_mips64 || BR2_mips64el)
+
comment "rt-tests needs a toolchain w/ NPTL"
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
diff --git a/package/sawman/sawman.mk b/package/sawman/sawman.mk
index d807bb48fa..00516ca688 100644
--- a/package/sawman/sawman.mk
+++ b/package/sawman/sawman.mk
@@ -8,6 +8,7 @@ SAWMAN_VERSION = 1.6.3
SAWMAN_SOURCE = SaWMan-$(SAWMAN_VERSION).tar.gz
SAWMAN_SITE = http://www.directfb.org/downloads/Extras
SAWMAN_INSTALL_STAGING = YES
+SAWMAN_AUTORECONF = YES
SAWMAN_DEPENDENCIES = directfb
$(eval $(autotools-package))
diff --git a/package/sconeserver/Config.in b/package/sconeserver/Config.in
index 76c3d917be..0e0b07cb63 100644
--- a/package/sconeserver/Config.in
+++ b/package/sconeserver/Config.in
@@ -27,6 +27,7 @@ config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE
config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE
bool "http::sconesite::image"
depends on BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE
+ depends on BR2_USE_MMU # imagemagick
select BR2_PACKAGE_IMAGEMAGICK
help
http::sconesite::image module for Sconeserver
diff --git a/package/sdl/sdl.mk b/package/sdl/sdl.mk
index a983fec5a9..d5fb3311c5 100644
--- a/package/sdl/sdl.mk
+++ b/package/sdl/sdl.mk
@@ -12,7 +12,7 @@ SDL_LICENSE_FILES = COPYING
SDL_INSTALL_STAGING = YES
# we're patching configure.in, but package cannot autoreconf with our version of
-# autotools, so we have to do it manually instead of setting SD_AUTORECONF = YES
+# autotools, so we have to do it manually instead of setting SDL_AUTORECONF = YES
define SDL_RUN_AUTOGEN
cd $(@D) && PATH=$(HOST_PATH) ./autogen.sh
endef
diff --git a/package/spice/Config.in b/package/spice/Config.in
index 9bddb06af1..b95e32e1b7 100644
--- a/package/spice/Config.in
+++ b/package/spice/Config.in
@@ -50,11 +50,15 @@ comment "client needs a toolchain w/ threads, C++"
config BR2_PACKAGE_SPICE_GUI
bool "Enable GUI"
depends on BR2_PACKAGE_SPICE_CLIENT
+ depends on !BR2_PREFER_STATIC_LIB
select BR2_PACKAGE_CEGUI06
help
Say 'y' here to enable the Graphical User Interface (GUI)
start dialog.
+comment "gui needs a toolchain w/ dynamic library"
+ depends on BR2_PREFER_STATIC_LIB
+
config BR2_PACKAGE_SPICE_TUNNEL
bool "Enable network redirection"
select BR2_PACKAGE_SLIRP
diff --git a/package/strongswan/Config.in b/package/strongswan/Config.in
index 63316cbd90..d53da64d78 100644
--- a/package/strongswan/Config.in
+++ b/package/strongswan/Config.in
@@ -1,6 +1,10 @@
+comment "strongswan needs a toolchain w/ threads"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
+
menuconfig BR2_PACKAGE_STRONGSWAN
bool "strongswan"
depends on BR2_USE_MMU # fork()
+ depends on BR2_TOOLCHAIN_HAS_THREADS
help
strongSwan is an OpenSource IPsec implementation for the
Linux operating system. It is based on the discontinued
diff --git a/package/systemd/systemd-fix-getty-unit.patch b/package/systemd/systemd-01-fix-getty-unit.patch
index 166a2e545c..166a2e545c 100644
--- a/package/systemd/systemd-fix-getty-unit.patch
+++ b/package/systemd/systemd-01-fix-getty-unit.patch
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index 36ef704c7b..bcdf95e152 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -23,6 +23,8 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y)
SYSTEMD_DEPENDENCIES += busybox
endif
+SYSTEMD_AUTORECONF = YES
+
SYSTEMD_CONF_OPT += \
--with-rootprefix= \
--with-rootlibdir=/lib \
diff --git a/package/thrift/thrift-04-failed-to-build-on-OSX-10.9-GM.patch b/package/thrift/thrift-04-failed-to-build-on-OSX-10.9-GM.patch
new file mode 100644
index 0000000000..8ff9defa88
--- /dev/null
+++ b/package/thrift/thrift-04-failed-to-build-on-OSX-10.9-GM.patch
@@ -0,0 +1,88 @@
+THRIFT-2229 thrift failed to build on OSX 10.9 GM
+
+---
+ compiler/cpp/src/thrifty.yy | 4 ++--
+ tutorial/cpp/CppClient.cpp | 6 +++---
+ tutorial/cpp/CppServer.cpp | 16 ++++++++--------
+ 3 files changed, 13 insertions(+), 13 deletions(-)
+ mode change 100644 => 100755 compiler/cpp/src/thrifty.yy
+
+diff --git a/compiler/cpp/src/thrifty.yy b/compiler/cpp/src/thrifty.yy
+old mode 100644
+new mode 100755
+index b543552..8814332
+--- a/compiler/cpp/src/thrifty.yy
++++ b/compiler/cpp/src/thrifty.yy
+@@ -675,7 +675,7 @@ ConstValue:
+ $$ = new t_const_value();
+ $$->set_integer($1);
+ if (!g_allow_64bit_consts && ($1 < INT32_MIN || $1 > INT32_MAX)) {
+- pwarning(1, "64-bit constant \"%"PRIi64"\" may not work in all languages.\n", $1);
++ pwarning(1, "64-bit constant \"%" PRIi64"\" may not work in all languages.\n", $1);
+ }
+ }
+ | tok_dub_constant
+@@ -987,7 +987,7 @@ FieldIdentifier:
+ * warn if the user-specified negative value isn't what
+ * thrift would have auto-assigned.
+ */
+- pwarning(1, "Nonpositive field key (%"PRIi64") differs from what would be "
++ pwarning(1, "Nonpositive field key (%" PRIi64") differs from what would be "
+ "auto-assigned by thrift (%d).\n", $1, y_field_val);
+ }
+ /*
+diff --git a/tutorial/cpp/CppClient.cpp b/tutorial/cpp/CppClient.cpp
+index ba71caa..b91df2e 100644
+--- a/tutorial/cpp/CppClient.cpp
++++ b/tutorial/cpp/CppClient.cpp
+@@ -38,9 +38,9 @@ using namespace shared;
+ using namespace boost;
+
+ int main(int argc, char** argv) {
+- shared_ptr<TTransport> socket(new TSocket("localhost", 9090));
+- shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+- shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
++ boost::shared_ptr<TTransport> socket(new TSocket("localhost", 9090));
++ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
++ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ CalculatorClient client(protocol);
+
+ try {
+diff --git a/tutorial/cpp/CppServer.cpp b/tutorial/cpp/CppServer.cpp
+index d0dbad9..f19258c 100644
+--- a/tutorial/cpp/CppServer.cpp
++++ b/tutorial/cpp/CppServer.cpp
+@@ -113,11 +113,11 @@ protected:
+
+ int main(int argc, char **argv) {
+
+- shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory());
+- shared_ptr<CalculatorHandler> handler(new CalculatorHandler());
+- shared_ptr<TProcessor> processor(new CalculatorProcessor(handler));
+- shared_ptr<TServerTransport> serverTransport(new TServerSocket(9090));
+- shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory());
++ boost::shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory());
++ boost::shared_ptr<CalculatorHandler> handler(new CalculatorHandler());
++ boost::shared_ptr<TProcessor> processor(new CalculatorProcessor(handler));
++ boost::shared_ptr<TServerTransport> serverTransport(new TServerSocket(9090));
++ boost::shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory());
+
+ TSimpleServer server(processor,
+ serverTransport,
+@@ -128,10 +128,10 @@ int main(int argc, char **argv) {
+ /**
+ * Or you could do one of these
+
+- shared_ptr<ThreadManager> threadManager =
++ boost::shared_ptr<ThreadManager> threadManager =
+ ThreadManager::newSimpleThreadManager(workerCount);
+- shared_ptr<PosixThreadFactory> threadFactory =
+- shared_ptr<PosixThreadFactory>(new PosixThreadFactory());
++ boost::shared_ptr<PosixThreadFactory> threadFactory =
++ boost::shared_ptr<PosixThreadFactory>(new PosixThreadFactory());
+ threadManager->threadFactory(threadFactory);
+ threadManager->start();
+ TThreadPoolServer server(processor,
+--
+1.8.5.3
+
diff --git a/package/thrift/thrift-05-stdlib-and-boost-both-define-uint64_t.patch b/package/thrift/thrift-05-stdlib-and-boost-both-define-uint64_t.patch
new file mode 100644
index 0000000000..70a5885dd8
--- /dev/null
+++ b/package/thrift/thrift-05-stdlib-and-boost-both-define-uint64_t.patch
@@ -0,0 +1,112 @@
+THRIFT-2367 Build failure: stdlib and boost both define uint64_t
+
+Fix: remove "using namespace boost;"
+Patch: Roger Meier
+---
+ lib/cpp/src/thrift/transport/TSSLServerSocket.cpp | 8 +++-----
+ lib/cpp/src/thrift/transport/TSSLSocket.cpp | 7 +++----
+ tutorial/cpp/CppClient.cpp | 2 --
+ tutorial/cpp/CppServer.cpp | 2 --
+ 4 files changed, 6 insertions(+), 13 deletions(-)
+
+diff --git a/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp b/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp
+index 4689e4a..df5ed75 100644
+--- a/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp
++++ b/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp
+@@ -22,25 +22,23 @@
+
+ namespace apache { namespace thrift { namespace transport {
+
+-using namespace boost;
+-
+ /**
+ * SSL server socket implementation.
+ */
+ TSSLServerSocket::TSSLServerSocket(int port,
+- shared_ptr<TSSLSocketFactory> factory):
++ boost::shared_ptr<TSSLSocketFactory> factory):
+ TServerSocket(port), factory_(factory) {
+ factory_->server(true);
+ }
+
+ TSSLServerSocket::TSSLServerSocket(int port, int sendTimeout, int recvTimeout,
+- shared_ptr<TSSLSocketFactory> factory):
++ boost::shared_ptr<TSSLSocketFactory> factory):
+ TServerSocket(port, sendTimeout, recvTimeout),
+ factory_(factory) {
+ factory_->server(true);
+ }
+
+-shared_ptr<TSocket> TSSLServerSocket::createSocket(int client) {
++boost::shared_ptr<TSocket> TSSLServerSocket::createSocket(int client) {
+ return factory_->createSocket(client);
+ }
+
+diff --git a/lib/cpp/src/thrift/transport/TSSLSocket.cpp b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
+index 029c541..5029f74 100644
+--- a/lib/cpp/src/thrift/transport/TSSLSocket.cpp
++++ b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
+@@ -41,7 +41,6 @@
+ #define OPENSSL_VERSION_NO_THREAD_ID 0x10000000L
+
+ using namespace std;
+-using namespace boost;
+ using namespace apache::thrift::concurrency;
+
+ struct CRYPTO_dynlock_value {
+@@ -489,7 +488,7 @@ int TSSLSocketFactory::passwordCallback(char* password,
+ return length;
+ }
+
+-static shared_array<Mutex> mutexes;
++static boost::shared_array<Mutex> mutexes;
+
+ static void callbackLocking(int mode, int n, const char*, int) {
+ if (mode & CRYPTO_LOCK) {
+@@ -533,7 +532,7 @@ void TSSLSocketFactory::initializeOpenSSL() {
+ SSL_library_init();
+ SSL_load_error_strings();
+ // static locking
+- mutexes = shared_array<Mutex>(new Mutex[::CRYPTO_num_locks()]);
++ mutexes = boost::shared_array<Mutex>(new Mutex[::CRYPTO_num_locks()]);
+ if (mutexes == NULL) {
+ throw TTransportException(TTransportException::INTERNAL_ERROR,
+ "initializeOpenSSL() failed, "
+@@ -591,7 +590,7 @@ void buildErrors(string& errors, int errno_copy) {
+ }
+ }
+ if (errors.empty()) {
+- errors = "error code: " + lexical_cast<string>(errno_copy);
++ errors = "error code: " + boost::lexical_cast<string>(errno_copy);
+ }
+ }
+
+diff --git a/tutorial/cpp/CppClient.cpp b/tutorial/cpp/CppClient.cpp
+index ba71caa..6db8db6 100644
+--- a/tutorial/cpp/CppClient.cpp
++++ b/tutorial/cpp/CppClient.cpp
+@@ -35,8 +35,6 @@ using namespace apache::thrift::transport;
+ using namespace tutorial;
+ using namespace shared;
+
+-using namespace boost;
+-
+ int main(int argc, char** argv) {
+ shared_ptr<TTransport> socket(new TSocket("localhost", 9090));
+ shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+diff --git a/tutorial/cpp/CppServer.cpp b/tutorial/cpp/CppServer.cpp
+index d0dbad9..d0bff32 100644
+--- a/tutorial/cpp/CppServer.cpp
++++ b/tutorial/cpp/CppServer.cpp
+@@ -41,8 +41,6 @@ using namespace apache::thrift::server;
+ using namespace tutorial;
+ using namespace shared;
+
+-using namespace boost;
+-
+ class CalculatorHandler : public CalculatorIf {
+ public:
+ CalculatorHandler() {}
+--
+1.8.5.3
+
diff --git a/package/thrift/thrift.mk b/package/thrift/thrift.mk
index d61cc3a5f6..0f6a1d08ea 100644
--- a/package/thrift/thrift.mk
+++ b/package/thrift/thrift.mk
@@ -9,7 +9,7 @@ THRIFT_SITE = http://www.us.apache.org/dist/thrift/$(THRIFT_VERSION)
THRIFT_DEPENDENCIES = host-pkgconf host-thrift boost libevent openssl zlib
THRIFT_INSTALL_STAGING = YES
HOST_THRIFT_DEPENDENCIES = host-boost host-libevent host-openssl host-pkgconf \
- host-zlib
+ host-zlib host-bison host-flex
THRIFT_CONF_OPT = --with-sysroot=$(STAGING_DIR) --with-tests=no \
--with-boost=$(STAGING_DIR)
HOST_THRIFT_CONF_OPT = --with-sysroot=$(HOST_DIR) --with-tests=no
diff --git a/package/transmission/transmission-02-fix-cxx-check-with-ccache.patch b/package/transmission/transmission-02-fix-cxx-check-with-ccache.patch
new file mode 100644
index 0000000000..750bdb8c09
--- /dev/null
+++ b/package/transmission/transmission-02-fix-cxx-check-with-ccache.patch
@@ -0,0 +1,44 @@
+transmission: fix incorrect check of CXX when ccache is enabled
+
+When ccache is enabled, the configure script is called with
+CXX="/path/to/ccache /path/to/cxx". The AC_PROG_CXX correctly deals with
+this, but the transmission-specific extra checks on CXX do not. It uses
+AC_CHECK_PROG, which takes the first word of CXX (ccache) only.
+
+This patch removes the seemingly unneeded extra checks, and additionally
+replaces HAVE_CXX=yes/no with a direct check on CXX, as it is only used in
+one place.
+
+Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
+Upstream-status: submitted: https://trac.transmissionbt.com/ticket/5612
+
+---
+
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -69,15 +69,6 @@ AC_SUBST(LIBAPPINDICATOR_MINIMUM)
+
+ AC_PROG_CC
+ AC_PROG_CXX
+-if test "x$CXX" != "x"; then # CXX is set...
+- if test -f "$CXX"; then # maybe it's an absolute path passed in env variables...
+- AC_MSG_CHECKING([for $CXX])
+- HAVE_CXX="yes"
+- AC_MSG_RESULT([$HAVE_CXX])
+- else
+- AC_CHECK_PROG([HAVE_CXX],[$CXX],[yes],[no])
+- fi
+-fi
+ AC_C_INLINE
+ if test "x$GCC" = "xyes" ; then
+
+@@ -216,7 +207,7 @@ AC_CHECK_LIB([rt],
+
+ AC_MSG_CHECKING([µTP])
+ build_utp="no"
+-if test "x$HAVE_CXX" = "xyes" ; then
++if test "x$CXX" != "x" ; then
+ have_utp="yes"
+ else
+ have_utp="no"
diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk
index a08e7ef38b..4be223a01c 100644
--- a/package/transmission/transmission.mk
+++ b/package/transmission/transmission.mk
@@ -14,6 +14,7 @@ TRANSMISSION_DEPENDENCIES = \
libevent \
openssl \
zlib
+TRANSMISSION_AUTORECONF = YES
TRANSMISSION_CONF_OPT = \
--disable-libnotify \
diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk
index 43bc382d89..85240a020a 100644
--- a/package/tvheadend/tvheadend.mk
+++ b/package/tvheadend/tvheadend.mk
@@ -28,8 +28,6 @@ define TVHEADEND_CONFIGURE_CMDS
$(TARGET_CONFIGURE_ARGS) \
./configure \
--prefix=/usr \
- --cc="$(TARGET_CC)" \
- --cflags="$(TARGET_CFLAGS)" \
--arch="$(ARCH)" \
--cpu="$(BR2_GCC_TARGET_CPU)" \
--python="$(HOST_DIR)/usr/bin/python" \
diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk
index 4860c580e3..f0fb53aafb 100644
--- a/package/uclibc/uclibc.mk
+++ b/package/uclibc/uclibc.mk
@@ -453,9 +453,8 @@ define UCLIBC_SETUP_DOT_CONFIG
oldconfig
endef
-UCLIBC_POST_PATCH_HOOKS += UCLIBC_SETUP_DOT_CONFIG
-
define UCLIBC_CONFIGURE_CMDS
+ $(UCLIBC_SETUP_DOT_CONFIG)
$(MAKE1) -C $(UCLIBC_DIR) \
$(UCLIBC_MAKE_FLAGS) \
PREFIX=$(STAGING_DIR) \
diff --git a/package/udisks/Config.in b/package/udisks/Config.in
index d560b6cf76..76505ff343 100644
--- a/package/udisks/Config.in
+++ b/package/udisks/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_UDISKS
depends on BR2_PACKAGE_HAS_UDEV
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-glib -> glib2
depends on BR2_USE_MMU # lvm2
+ depends on !BR2_PREFER_STATIC_LIB # lvm2
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_DBUS_GLIB
depends on BR2_USE_WCHAR # dbus-glib -> glib2
@@ -39,7 +40,8 @@ comment "udisks needs udev /dev management"
depends on BR2_USE_MMU
depends on !BR2_PACKAGE_HAS_UDEV
-comment "udisks needs a toolchain w/ wchar, threads"
+comment "udisks needs a toolchain w/ wchar, threads, dynamic library"
depends on !BR2_avr32
depends on BR2_USE_MMU
- depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
+ BR2_PREFER_STATIC_LIB
diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in
index 8c8fd7ab5c..b1db99a6b4 100644
--- a/package/util-linux/Config.in
+++ b/package/util-linux/Config.in
@@ -14,6 +14,7 @@ if BR2_PACKAGE_UTIL_LINUX
config BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+ depends on BR2_USE_MMU # fork
bool "libblkid"
help
Install libblkid.
@@ -22,6 +23,7 @@ config BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
# libc lacks UTIME_NOW & UTIME_COMMIT
depends on !(BR2_microblazeel || BR2_microblazebe)
+ depends on BR2_USE_MMU # util-linux/libblkid
bool "libmount"
help
Install libmount.
diff --git a/package/vlc/Config.in b/package/vlc/Config.in
index 2335894f10..ec1daf4fef 100644
--- a/package/vlc/Config.in
+++ b/package/vlc/Config.in
@@ -1,6 +1,12 @@
+if BR2_PACKAGE_VLC
+comment "vlc is known not to work in all configurations"
+comment "If you can fix it, please inform buildroot@buildroot.net"
+endif
+
config BR2_PACKAGE_VLC
bool "vlc"
depends on (BR2_UCLIBC_VERSION_SNAPSHOT || BR2_TOOLCHAIN_USES_GLIBC) # spawn.h
+ depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_LARGEFILE
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
@@ -11,5 +17,5 @@ config BR2_PACKAGE_VLC
http://www.videolan.org/vlc/
-comment "vlc needs a uclibc snapshot or (e)glibc toolchain w/ largefile, wchar, threads"
- depends on !(BR2_UCLIBC_VERSION_SNAPSHOT || BR2_TOOLCHAIN_USES_GLIBC) || !BR2_LARGEFILE || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+comment "vlc needs a uclibc snapshot or (e)glibc toolchain w/ C++, largefile, wchar, threads"
+ depends on !(BR2_UCLIBC_VERSION_SNAPSHOT || BR2_TOOLCHAIN_USES_GLIBC) || !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/vlc/vlc-0003-automake-add-subdir-objects-option.patch b/package/vlc/vlc-0003-automake-add-subdir-objects-option.patch
new file mode 100644
index 0000000000..cea6a38fea
--- /dev/null
+++ b/package/vlc/vlc-0003-automake-add-subdir-objects-option.patch
@@ -0,0 +1,22 @@
+automake: add subdir-objects option
+
+Our version of automake warns if this option is enabled and source files
+in subdirectories are used.
+
+It doesn't really seems to have a noticable effect on the build, but it
+does remove a lot of annoying warnings.
+
+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
+
+diff -Nrup vlc-2.1.2.orig/configure.ac vlc-2.1.2/configure.ac
+--- vlc-2.1.2.orig/configure.ac 2014-02-27 00:22:19.512944952 +0100
++++ vlc-2.1.2/configure.ac 2014-02-27 00:24:21.360940651 +0100
+@@ -24,7 +24,7 @@ AC_CANONICAL_BUILD
+ AC_CANONICAL_HOST
+ AC_PRESERVE_HELP_ORDER
+
+-AM_INIT_AUTOMAKE(tar-ustar color-tests foreign)
++AM_INIT_AUTOMAKE(tar-ustar color-tests foreign subdir-objects)
+ AC_CONFIG_HEADERS([config.h])
+
+ # Disable with "./configure --disable-silent-rules" or "make V=1"
diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk
index ad7d9ffd64..23905dfa85 100644
--- a/package/vlc/vlc.mk
+++ b/package/vlc/vlc.mk
@@ -14,23 +14,29 @@ VLC_AUTORECONF = YES
VLC_CONF_OPT += \
--disable-a52 \
- --disable-shout \
- --disable-twolame \
- --disable-dca \
- --disable-dirac \
- --disable-schroedinger \
- --disable-quicksync \
- --disable-fluidsynth \
+ --without-shout \
+ --without-twolame \
+ --without-dca \
+ --without-dirac \
+ --without-schroedinger \
+ --without-quicksync \
+ --without-fluidsynth \
--disable-zvbi \
- --disable-kate \
- --disable-caca \
+ --without-kate \
+ --without-caca \
--disable-jack \
- --disable-samplerate \
- --disable-chromaprint \
- --disable-goom \
+ --without-samplerate \
+ --without-chromaprint \
+ --without-goom \
--disable-projectm \
--disable-vsxu \
- --disable-mtp
+ --without-mtp \
+ --without-opencv
+
+# Building static and shared doesn't work, so force static off.
+ifeq ($(BR2_PREFER_STATIC_LIB),)
+VLC_CONF_OPT += --disable-static
+endif
# Set powerpc altivec appropriately
ifeq ($(BR2_powerpc_7400)$(BR2_powerpc_7450)$(BR2_powerpc_970),y)
@@ -48,10 +54,10 @@ endif
# bonjour support needs avahi-client, which needs avahi-daemon and dbus
ifeq ($(BR2_PACKAGE_AVAHI)$(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yyy)
-VLC_CONF_OPT += --enable-bonjour
+VLC_CONF_OPT += --with-bonjour
VLC_DEPENDENCIES += avahi dbus
else
-VLC_CONF_OPT += --disable-bonjour
+VLC_CONF_OPT += --without-bonjour
endif
ifeq ($(BR2_PACKAGE_DBUS),y)
@@ -95,10 +101,10 @@ VLC_CONF_OPT += --disable-swscale
endif
ifeq ($(BR2_PACKAGE_FLAC),y)
-VLC_CONF_OPT += --enable-flac
+VLC_CONF_OPT += --with-flac
VLC_DEPENDENCIES += flac
else
-VLC_CONF_OPT += --disable-flac
+VLC_CONF_OPT += --without-flac
endif
ifeq ($(BR2_PACKAGE_MESA3D),y)
@@ -109,10 +115,10 @@ VLC_CONF_OPT += --disable-glx
endif
ifeq ($(BR2_PACKAGE_OPUS),y)
-VLC_CONF_OPT += --enable-opus
+VLC_CONF_OPT += --with-opus
VLC_DEPENDENCIES += opus
else
-VLC_CONF_OPT += --disable-opus
+VLC_CONF_OPT += --without-opus
endif
ifeq ($(BR2_PACKAGE_LIBASS),y)
@@ -146,10 +152,10 @@ VLC_CONF_OPT += --disable-mod
endif
ifeq ($(BR2_PACKAGE_LIBMPEG2),y)
-VLC_CONF_OPT += --enable-libmpeg2
+VLC_CONF_OPT += --with-libmpeg2
VLC_DEPENDENCIES += libmpeg2
else
-VLC_CONF_OPT += --disable-libmpeg2
+VLC_CONF_OPT += --without-libmpeg2
endif
ifeq ($(BR2_PACKAGE_LIBPNG),y)
@@ -160,31 +166,31 @@ VLC_CONF_OPT += --disable-png
endif
ifeq ($(BR2_PACKAGE_LIBRSVG),y)
-VLC_CONF_OPT += --enable-svg
+VLC_CONF_OPT += --with-svg
VLC_DEPENDENCIES += librsvg
else
-VLC_CONF_OPT += --disable-svg
+VLC_CONF_OPT += --without-svg
endif
ifeq ($(BR2_PACKAGE_LIBTHEORA),y)
-VLC_CONF_OPT += --enable-theora
+VLC_CONF_OPT += --with-theora
VLC_DEPENDENCIES += libtheora
else
-VLC_CONF_OPT += --disable-theora
+VLC_CONF_OPT += --without-theora
endif
ifeq ($(BR2_PACKAGE_LIBUPNP),y)
-VLC_CONF_OPT += --enable-upnp
+VLC_CONF_OPT += --with-upnp
VLC_DEPENDENCIES += libupnp
else
-VLC_CONF_OPT += --disable-upnp
+VLC_CONF_OPT += --without-upnp
endif
ifeq ($(BR2_PACKAGE_LIBVORBIS),y)
-VLC_CONF_OPT += --enable-vorbis
+VLC_CONF_OPT += --with-vorbis
VLC_DEPENDENCIES += libvorbis
else
-VLC_CONF_OPT += --disable-vorbis
+VLC_CONF_OPT += --without-vorbis
endif
ifeq ($(BR2_PACKAGE_LIBV4L),y)
@@ -202,13 +208,15 @@ VLC_CONF_OPT += --disable-xcb
endif
ifeq ($(BR2_PACKAGE_LIBXML2),y)
-VLC_CONF_OPT += --enable-libxml2
+VLC_CONF_OPT += --with-libxml2
VLC_DEPENDENCIES += libxml2
else
-VLC_CONF_OPT += --disable-libxml2
+VLC_CONF_OPT += --without-libxml2
endif
-ifeq ($(BR2_PACKAGE_LIVE555),y)
+# live555 installs a static library only, and vlc tries to link it into a
+# shared library - which doesn't work. So only enable live555 if static.
+ifeq ($(BR2_PACKAGE_LIVE555)$(BR2_PREFER_STATIC_LIB),yy)
VLC_CONF_OPT += --enable-live555
VLC_DEPENDENCIES += live555
VLC_CONF_ENV += \
@@ -226,7 +234,7 @@ endif
ifeq ($(BR2_PACKAGE_LUA),y)
VLC_CONF_OPT += --enable-lua
-VLC_DEPENDENCIES += lua
+VLC_DEPENDENCIES += lua host-lua
else
VLC_CONF_OPT += --disable-lua
endif
@@ -253,10 +261,10 @@ VLC_CONF_OPT += --disable-sdl-image
endif
ifeq ($(BR2_PACKAGE_SPEEX),y)
-VLC_CONF_OPT += --enable-speex
+VLC_CONF_OPT += --with-speex
VLC_DEPENDENCIES += speex
else
-VLC_CONF_OPT += --disable-speex
+VLC_CONF_OPT += --without-speex
endif
ifeq ($(BR2_PACKAGE_TREMOR),y)
@@ -267,10 +275,10 @@ VLC_CONF_OPT += --disable-tremor
endif
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
-VLC_CONF_OPT += --enable-udev
+VLC_CONF_OPT += --with-udev
VLC_DEPENDENCIES += udev
else
-VLC_CONF_OPT += --disable-udev
+VLC_CONF_OPT += --without-udev
endif
ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
diff --git a/package/webkit/Config.in b/package/webkit/Config.in
index 0207a6d78c..2b0addcf5a 100644
--- a/package/webkit/Config.in
+++ b/package/webkit/Config.in
@@ -1,11 +1,22 @@
+config BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
+ bool
+ # ARM needs BLX, so v5t+
+ default y if (BR2_arm || BR2_armeb) && \
+ !(BR2_arm7tdmi || BR2_arm720t || BR2_arm920t || BR2_arm922t || BR2_fa526)
+ default y if BR2_i386 || BR2_mips || BR2_mipsel || \
+ BR2_sh || BR2_sparc || BR2_x86_64
+
+# disabled on powerpc due to bug https://bugs.webkit.org/show_bug.cgi?id=113638
+
config BR2_PACKAGE_WEBKIT
bool "webkit"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR # enchant -> libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # enchant -> libglib2
+ depends on BR2_USE_MMU # libgail -> pango -> libglib2
depends on BR2_PACKAGE_LIBGTK2
- depends on (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || BR2_mipsel || \
- BR2_powerpc || BR2_sh || BR2_sparc || BR2_x86_64)
+ depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
+ depends on !BR2_BINFMT_FLAT # icu
select BR2_PACKAGE_CAIRO_PNG
select BR2_PACKAGE_ENCHANT
select BR2_PACKAGE_HARFBUZZ
@@ -29,7 +40,6 @@ config BR2_PACKAGE_WEBKIT
http://webkit.org/
comment "webkit needs libgtk2 and a toolchain w/ C++, wchar, threads"
- depends on (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || BR2_mipsel || \
- BR2_powerpc || BR2_sh || BR2_sparc || BR2_x86_64)
+ depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
depends on !BR2_PACKAGE_LIBGTK2 || !BR2_INSTALL_LIBSTDCPP || \
!BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
index a7ac9a0b74..576579b7a2 100644
--- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
+++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
@@ -57,7 +57,7 @@ XSERVER_XORG_SERVER_DEPENDENCIES = \
XSERVER_XORG_SERVER_CONF_OPT = --disable-config-hal \
--disable-xnest --disable-xephyr --disable-dmx \
- --with-builder-addr=buildroot@uclibc.org \
+ --with-builder-addr=buildroot@buildroot.org \
CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/pixman-1" \
--with-fontdir=/usr/share/fonts/X11/ --localstatedir=/var \
--$(if $(BR2_PACKAGE_XSERVER_XORG_SERVER_XVFB),en,dis)able-xvfb
diff --git a/package/xscreensaver/Config.in b/package/xscreensaver/Config.in
index 21a19d001e..e2534a6c08 100644
--- a/package/xscreensaver/Config.in
+++ b/package/xscreensaver/Config.in
@@ -3,6 +3,8 @@ config BR2_PACKAGE_XSCREENSAVER
depends on BR2_PACKAGE_XORG7
depends on BR2_INSTALL_LIBSTDCPP # libgtk2->pango
depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2->glib2
+ depends on BR2_USE_WCHAR # libgtk2->glib2
+ depends on BR2_USE_MMU # libgtk2->glib2
select BR2_PACKAGE_LIBGTK2
select BR2_PACKAGE_LIBGLADE
select BR2_PACKAGE_JPEG
@@ -18,6 +20,7 @@ config BR2_PACKAGE_XSCREENSAVER
http://www.jwz.org/xscreensaver/
-comment "xscreensaver needs a toolchain w/ C++, threads"
+comment "xscreensaver needs a toolchain w/ wchar, C++, threads"
depends on BR2_PACKAGE_XORG7
+ depends on BR2_USE_MMU
depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS)
diff --git a/system/Config.in b/system/Config.in
index 30d8efeaba..89578c5828 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -126,10 +126,12 @@ config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
depends on BR2_LARGEFILE
depends on BR2_USE_WCHAR
depends on !BR2_PREFER_STATIC_LIB
+ depends on BR2_USE_MMU # eudev
select BR2_PACKAGE_EUDEV
comment "eudev needs a toolchain w/ largefile, wchar, dynamic library"
depends on !BR2_avr32 # eudev
+ depends on BR2_USE_MMU
depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB
endchoice
diff --git a/system/skeleton/etc/fstab b/system/skeleton/etc/fstab
index a2f56ffa65..e000aadc36 100644
--- a/system/skeleton/etc/fstab
+++ b/system/skeleton/etc/fstab
@@ -5,5 +5,5 @@
proc /proc proc defaults 0 0
devpts /dev/pts devpts defaults,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs mode=0777 0 0
-tmpfs /tmp tmpfs defaults 0 0
+tmpfs /tmp tmpfs mode=1777 0 0
sysfs /sys sysfs defaults 0 0
OpenPOWER on IntegriCloud