summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES61
-rw-r--r--Config.in.legacy16
-rw-r--r--Makefile6
-rw-r--r--arch/Config.in.xtensa17
-rw-r--r--configs/mini2440_defconfig2
-rw-r--r--configs/openblocks_a6_defconfig2
-rw-r--r--configs/sheevaplug_defconfig2
-rw-r--r--docs/manual/customize-outside-br.txt18
-rw-r--r--docs/manual/debugging-buildroot.txt17
-rw-r--r--docs/website/download.html24
-rw-r--r--docs/website/news.html39
-rw-r--r--docs/website/sponsors.html2
-rw-r--r--fs/jffs2/Config.in57
-rw-r--r--fs/jffs2/jffs2.mk5
-rw-r--r--linux/Config.in4
-rw-r--r--package/Config.in1
-rw-r--r--package/acl/acl.mk10
-rw-r--r--package/alsa-utils/Config.in1
-rw-r--r--package/apr/apr.mk5
-rw-r--r--package/armadillo/armadillo.hash2
-rw-r--r--package/armadillo/armadillo.mk4
-rw-r--r--package/at/0008-remove-glibc-__isleap-assumption.patch59
-rw-r--r--package/attr/attr.mk10
-rw-r--r--package/autoconf-archive/0001-AX_TLS-fix-syntax-error.patch46
-rw-r--r--package/autoconf-archive/autoconf-archive.mk1
-rw-r--r--package/bandwidthd/Config.in4
-rw-r--r--package/binutils/2.22/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch57
-rw-r--r--package/binutils/2.23.2/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch57
-rw-r--r--package/binutils/2.24/910-xtensa-optimize-trampolines-relaxation.patch345
-rw-r--r--package/binutils/2.24/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch57
-rw-r--r--package/binutils/2.25/910-xtensa-optimize-trampolines-relaxation.patch345
-rw-r--r--package/binutils/2.25/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch57
-rw-r--r--package/binutils/arc-2014.12/0001-PR-other-56780.patch236
-rw-r--r--package/boost/Config.in10
-rw-r--r--package/boost/boost.mk2
-rw-r--r--package/c-periphery/Config.in16
-rw-r--r--package/c-periphery/c-periphery.mk27
-rw-r--r--package/cc-tool/Config.in2
-rw-r--r--package/cc-tool/cc-tool.mk6
-rw-r--r--package/connman/Config.in1
-rw-r--r--package/conntrack-tools/Config.in6
-rw-r--r--package/cryptsetup/Config.in5
-rw-r--r--package/czmq/czmq.mk2
-rw-r--r--package/dhcpcd/Config.in6
-rw-r--r--package/directfb/directfb.hash2
-rw-r--r--package/dstat/Config.in5
-rw-r--r--package/duma/Config.in8
-rw-r--r--package/ecryptfs-utils/Config.in2
-rw-r--r--package/efl/expedite/Config.in3
-rw-r--r--package/efl/expedite/expedite.mk6
-rw-r--r--package/efl/libelementary/Config.in5
-rw-r--r--package/enlightenment/enlightenment.mk5
-rw-r--r--package/exim/exim.mk2
-rw-r--r--package/fbterm/fbterm.mk6
-rw-r--r--package/fio/Config.in5
-rw-r--r--package/flite/flite.hash2
-rw-r--r--package/freerdp/0003-dont-use-unavailable-c99-math.patch95
-rw-r--r--package/freerdp/Config.in2
-rw-r--r--package/freerdp/freerdp.mk3
-rw-r--r--package/gcc/4.7.4/111-pr65730.patch37
-rw-r--r--package/gcc/4.8.4/111-pr65730.patch37
-rw-r--r--package/gcc/4.8.4/851-PR-other-56780.patch244
-rw-r--r--package/gcc/4.9.2/111-pr65730.patch37
-rw-r--r--package/gcc/arc-2014.12/851-PR-other-56780.patch244
-rw-r--r--package/gcc/gcc-final/gcc-final.mk4
-rw-r--r--package/gdk-pixbuf/gdk-pixbuf.mk4
-rw-r--r--package/giflib/Config.in4
-rw-r--r--package/gnuchess/0001-fix-static-build-with-uClibc.patch47
-rw-r--r--package/gnuchess/Config.in1
-rw-r--r--package/gnuchess/gnuchess.hash2
-rw-r--r--package/gnuchess/gnuchess.mk3
-rw-r--r--package/gnuradio/Config.in2
-rw-r--r--package/google-breakpad/0001-add-missing-asm-ptrace-include.patch31
-rw-r--r--package/gpsd/Config.in6
-rw-r--r--package/gptfdisk/Config.in1
-rw-r--r--package/gptfdisk/gptfdisk.mk16
-rw-r--r--package/gstreamer/gst-plugins-good/Config.in5
-rw-r--r--package/gstreamer1/gst1-plugins-good/Config.in5
-rw-r--r--package/guile/0004-workaround-ice-ssa-corruption.patch64
-rw-r--r--package/heirloom-mailx/heirloom-mailx.mk5
-rw-r--r--package/hwloc/0001-utils-hwloc-Makefile.am-fix-install-man-race-conditi.patch35
-rw-r--r--package/hwloc/Config.in2
-rw-r--r--package/hwloc/hwloc.mk2
-rw-r--r--package/ipmiutil/0003-really-disable-lanplus.patch95
-rw-r--r--package/ipmiutil/Config.in1
-rw-r--r--package/ipmiutil/ipmiutil.mk15
-rw-r--r--package/iproute2/iproute2.mk13
-rw-r--r--package/jack2/Config.in6
-rw-r--r--package/janus-gateway/Config.in5
-rw-r--r--package/jasper/0007-preserve-cflags.patch27
-rw-r--r--package/jasper/jasper.mk6
-rw-r--r--package/keyutils/Config.in6
-rw-r--r--package/keyutils/keyutils.mk4
-rw-r--r--package/kmod/kmod.mk5
-rw-r--r--package/knock/knock.hash2
-rw-r--r--package/kodi/Config.in3
-rw-r--r--package/lcdproc/Config.in4
-rw-r--r--package/leafnode2/Config.in2
-rw-r--r--package/leafnode2/leafnode2.mk2
-rw-r--r--package/libcap-ng/Config.in1
-rw-r--r--package/libftdi1/Config.in12
-rw-r--r--package/libftdi1/libftdi1.mk6
-rw-r--r--package/libgcrypt/libgcrypt.mk1
-rw-r--r--package/libgsasl/libgsasl.mk2
-rw-r--r--package/libjpeg/libjpeg.hash2
-rw-r--r--package/libmatroska/libmatroska.mk2
-rw-r--r--package/libmemcached/libmemcached.mk10
-rw-r--r--package/libmodbus/libmodbus.hash2
-rw-r--r--package/libmodbus/libmodbus.mk2
-rw-r--r--package/libnftnl/Config.in6
-rw-r--r--package/libsigrok/Config.in5
-rw-r--r--package/libsigrok/libsigrok.mk1
-rw-r--r--package/libstrophe/libstrophe.mk4
-rw-r--r--package/libupnpp/libupnpp.mk6
-rw-r--r--package/libuv/Config.in5
-rw-r--r--package/libxml-parser-perl/libxml-parser-perl.hash2
-rw-r--r--package/linux-headers/Config.in.host14
-rw-r--r--package/lirc-tools/0003-Fix-loglevel-redefinition-in-static-library-builds.patch49
-rw-r--r--package/lttng-libust/Config.in5
-rw-r--r--package/lua-periphery/0001-Makefile-don-t-clone-build-c-periphery.patch32
-rw-r--r--package/lua-periphery/0002-Fix-include-paths.patch89
-rw-r--r--package/lua-periphery/Config.in1
-rw-r--r--package/lua-periphery/lua-periphery.mk1
-rw-r--r--package/lxc/Config.in7
-rw-r--r--package/mongoose/mongoose.mk4
-rw-r--r--package/mono/0003-fix-parallel-install.patch40
-rw-r--r--package/mono/mono.hash2
-rw-r--r--package/mono/mono.mk2
-rw-r--r--package/monolite/monolite.hash2
-rw-r--r--package/mosquitto/Config.in5
-rw-r--r--package/mpd/Config.in10
-rw-r--r--package/mpg123/mpg123.mk3
-rw-r--r--package/nbd/nbd.hash5
-rw-r--r--package/nbd/nbd.mk2
-rw-r--r--package/ncurses/0002-gcc-5.x-MKlib_gen.patch33
-rw-r--r--package/neard/Config.in5
-rw-r--r--package/neardal/neardal.mk7
-rw-r--r--package/newt/Config.in5
-rw-r--r--package/nmap/nmap.mk10
-rw-r--r--package/ntp/ntp.mk2
-rw-r--r--package/ofono/Config.in2
-rw-r--r--package/ola/0002-autotools-don-t-overwrite-CC-and-CXX-with-ACX_PTHREA.patch51
-rw-r--r--package/ola/Config.in6
-rw-r--r--package/opencv/0003-cmake-OpenCVGenPkgconfig.cmake-rework-opencv.pc-gene.patch156
-rw-r--r--package/openldap/openldap.mk4
-rw-r--r--package/php/0001-ditch-unset.patch6
-rw-r--r--package/php/0002-no-iconv-search.patch8
-rw-r--r--package/php/Config.ext5
-rw-r--r--package/php/php.hash2
-rw-r--r--package/php/php.mk36
-rw-r--r--package/pkg-download.mk6
-rw-r--r--package/poppler/poppler.mk4
-rw-r--r--package/postgresql/0001-Compare-linker-compiler-output-with-their-default-ou.patch56
-rw-r--r--package/postgresql/Config.in7
-rw-r--r--package/postgresql/postgresql.hash4
-rw-r--r--package/postgresql/postgresql.mk7
-rw-r--r--package/protobuf/Config.in2
-rw-r--r--package/protobuf/protobuf.mk6
-rw-r--r--package/pulseaudio/Config.in5
-rw-r--r--package/pulseview/Config.in7
-rw-r--r--package/python-libconfig/Config.in2
-rw-r--r--package/python-pyqt/python-pyqt.mk9
-rw-r--r--package/python/018-fix-add-gcc-paths-logic.patch27
-rw-r--r--package/python3/019-fix-add-gcc-paths-logic.patch27
-rw-r--r--package/qemu/qemu.mk12
-rw-r--r--package/qt/Config.in24
-rw-r--r--package/qt/Config.sql.in4
-rw-r--r--package/qt/qt.mk7
-rw-r--r--package/qt5/qt5base/0003-mkspecs-files.patch (renamed from package/qt5/qt5base/0002-mkspecs-files.patch)0
-rw-r--r--package/qt5/qt5base/0005-no-gold-linker-for-host-build.patch27
-rw-r--r--package/qt5/qt5base/Config.in5
-rw-r--r--package/qt5/qt5base/qt5base.mk1
-rw-r--r--package/rpi-userland/Config.in6
-rw-r--r--package/rsyslog/rsyslog.mk2
-rw-r--r--package/sconeserver/0001-fix-ssl-libs-ordering.patch36
-rw-r--r--package/sconeserver/Config.in6
-rw-r--r--package/sconeserver/sconeserver.mk3
-rw-r--r--package/snmppp/snmppp.mk2
-rw-r--r--package/sqlite/0001-fix-parallel-build.patch22
-rw-r--r--package/sqlite/sqlite.hash2
-rw-r--r--package/sqlite/sqlite.mk5
-rw-r--r--package/thrift/Config.in2
-rw-r--r--package/thrift/thrift.mk1
-rw-r--r--package/tiff/tiff.hash2
-rw-r--r--package/tinyxml2/0001-Use-BUILD_SHARED_LIBS-cmake-standard.patch65
-rw-r--r--package/tinyxml2/0002-Rename-test-fixed-cmake-warning.patch38
-rw-r--r--package/uboot-tools/0004-tools-use-pkg-config-when-available-to-get-SSL-flags.patch39
-rw-r--r--package/uboot-tools/uboot-tools.mk6
-rw-r--r--package/uclibc/uClibc-ng.config1
-rw-r--r--package/uclibc/uClibc-snapshot.config1
-rw-r--r--package/udpcast/udpcast.hash2
-rw-r--r--package/unionfs/unionfs.hash2
-rw-r--r--package/upmpdcli/upmpdcli.mk12
-rw-r--r--package/usbredir/usbredir.hash2
-rw-r--r--package/ushare/ushare.hash2
-rw-r--r--package/util-linux/Config.in1
-rw-r--r--package/ux500-firmware/ux500-firmware.hash2
-rw-r--r--package/valgrind/0002-Fix-configure-for-Linux-kernel-4.0-rc1.patch48
-rw-r--r--package/vpnc/vpnc.hash2
-rw-r--r--package/vsftpd/vsftpd.mk4
-rw-r--r--package/wavpack/wavpack.hash2
-rw-r--r--package/wireless_tools/wireless_tools.hash2
-rw-r--r--package/wsapi/wsapi.hash2
-rw-r--r--package/wvdial/Config.in5
-rw-r--r--package/wvstreams/Config.in5
-rw-r--r--package/x11r7/xlib_libXfont/xlib_libXfont.mk10
-rw-r--r--package/xmlstarlet/0001-Fix-static-linking-problem-with-libgcrypt.patch46
-rw-r--r--package/xmlstarlet/xmlstarlet.mk2
-rw-r--r--package/yaml-cpp/Config.in2
-rw-r--r--package/zeromq/0003-libzmq-Fix-pkg-config-files-for-static-linking.patch29
-rw-r--r--package/zmqpp/0001-add-cstdlib-header-to-ensure-EXIT_FAILURE-presence.patch30
-rw-r--r--package/zmqpp/Config.in2
-rwxr-xr-xsupport/dependencies/dependencies.sh2
-rwxr-xr-xsupport/download/git9
-rw-r--r--toolchain/helpers.mk4
215 files changed, 3938 insertions, 296 deletions
diff --git a/CHANGES b/CHANGES
index e28eef7717..3f5162ecec 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,64 @@
+2015.05, Released May 31st, 2015
+
+ Minor fixes.
+
+ Updated/fixed packages: conntrack-tools, directfb, fio, flite,
+ gptfdisk, ipmiutil, iproute2, janus-gateway, keyutils, knock,
+ libelementary, libgcrypt, libgsasl, libjpeg, libstrophe,
+ lttng-libust, nbd, ncurses, nmap, php, postgresql, python,
+ python3, sconeserver, udpcast, upmpdcli
+
+2015.05-rc3, Released May 22nd, 2015
+
+ Several fixes, mainly related to static linking.
+
+ Updated/fixed packages: acl, alsa-utils, apr, armadillo, attr,
+ autoconf-archive, binutils, boost, czmq, dhcpcd, duma,
+ enlightenment, exim, fbterm, freerdp, gcc, gdk-pixbuf,
+ google-breakpad, gpsd, heirloom-mailx, hwloc, ipmiutil,
+ iproute2, jack2, jasper, kmod, lcdproc, leafnode2, libcap-ng,
+ libftdi1, libmatroska, libmemcached, libmodbus, libnftnl,
+ libsigrok, libupnpp, libuv, libxml-parser-perl, linux,
+ linux-headers, lirc-tools, lua-periphery, lxc, mongoose, mono,
+ mpg123, mosquitto, neardal, newt, ntp, ola, openldap, opencv,
+ php, postgresql, protobuf, pulseaudio, python-pyqt, qemu, qt,
+ qt5base, rpi-userland, rsyslog, snmppp, sqlite, tiff,
+ tinyxml2, uboot-tools, unionfs, ux5000-firmware, usbredir,
+ ushare, vpnc, vsftpd, wavpack, wireless_tools, wsapi,
+ wvstreams, xmlstarlet, zeromq, zmqpp
+
+ New packages: c-periphery
+
+ Issues resolved (http://bugs.uclibc.org):
+
+ #8106: mkfs.jffs2 uses the --pagesize parameter incorrectly
+ #8111: 2015.05.rc2 LIBFOO_CONF_OPTS not working
+ #8126: exim lacks plaintext and cram-md5 auth
+
+2015.05-rc2, Released May 11th, 2015
+
+ Minor fixes.
+
+ Toolchain: PR56780 backport to GCC 4.8.4 to fix GDB linking
+ issues. Context functions enabled for uClibc snapshot /
+ uClibc-NG.
+
+ Architectures: Endian handling symbol for Xtensa, binutils
+ fixes.
+
+ Infrastructure: Fix for kernel module stripping when
+ localversion contains spaces.
+
+ Updated/fixed packages: at, autoconf-archive, binutils,
+ cc-tool, cryptsetup, dstat, expedite, freerdp, giflib,
+ gnuchess, guile, ipmiutil, iproute2, mono, monolite, neard,
+ ola, poppler, postgresql, python-qt, qt, sqlite, valgrind,
+ xlib_libXfont
+
+ Issues resolved (http://bugs.uclibc.org):
+
+ #8086: Cannot select systemd as init with Linaro 2014.09...
+
2015.05-rc1, Released May 4th, 2015
Fixes all over the tree and new features.
diff --git a/Config.in.legacy b/Config.in.legacy
index 46247f2b6a..44de941f8e 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -107,6 +107,22 @@ endif
###############################################################################
comment "Legacy options removed in 2015.05"
+config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K
+ bool "jffs2 16kB erasesize NAND flash option renamed"
+ select BR2_LEGACY
+ select BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_16K
+ help
+ The JFFS2 NAND flash options now longer include the page
+ size.
+
+config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K
+ bool "jffs2 128kB erasesize NAND flash option renamed"
+ select BR2_LEGACY
+ select BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K
+ help
+ The JFFS2 NAND flash options now longer include the page
+ size.
+
config BR2_PACKAGE_MONO_20
bool "2.0/3.5 .Net Runtime"
select BR2_LEGACY
diff --git a/Makefile b/Makefile
index 282c7ea028..43b5ba5ca9 100644
--- a/Makefile
+++ b/Makefile
@@ -28,7 +28,7 @@
all:
# Set and export the version string
-export BR2_VERSION := 2015.05-rc1
+export BR2_VERSION := 2015.08-git
# Check for minimal make version (note: this check will break at make 10.x)
MIN_MAKE_VERSION = 3.81
@@ -562,8 +562,8 @@ endif
-rmdir $(TARGET_DIR)/usr/share 2>/dev/null
$(STRIP_FIND_CMD) | xargs -0 $(STRIPCMD) 2>/dev/null || true
if test -d $(TARGET_DIR)/lib/modules; then \
- find $(TARGET_DIR)/lib/modules -type f -name '*.ko' | \
- xargs -r $(KSTRIPCMD); fi
+ find $(TARGET_DIR)/lib/modules -type f -name '*.ko' -print0 | \
+ xargs -0 -r $(KSTRIPCMD); fi
# See http://sourceware.org/gdb/wiki/FAQ, "GDB does not see any threads
# besides the one in which crash occurred; or SIGTRAP kills my program when
diff --git a/arch/Config.in.xtensa b/arch/Config.in.xtensa
index ff71e0b716..068731973f 100644
--- a/arch/Config.in.xtensa
+++ b/arch/Config.in.xtensa
@@ -33,6 +33,23 @@ config BR2_XTENSA_OVERLAY_DIR
configurations. They are provided by the processor vendor or
directly from Tensilica.
+choice
+ prompt "Target Architecture Endianness"
+ depends on BR2_XTENSA_CUSTOM
+ default BR2_XTENSA_LITTLE_ENDIAN
+
+config BR2_XTENSA_LITTLE_ENDIAN
+ bool "Little endian"
+
+config BR2_XTENSA_BIG_ENDIAN
+ bool "Big endian"
+
+endchoice
+
+config BR2_ENDIAN
+ default "LITTLE" if BR2_XTENSA_LITTLE_ENDIAN
+ default "BIG" if BR2_xtensa_fsf || BR2_XTENSA_BIG_ENDIAN
+
config BR2_ARCH
default "xtensa" if BR2_xtensa
diff --git a/configs/mini2440_defconfig b/configs/mini2440_defconfig
index d7d9ab1827..e8b55cdc26 100644
--- a/configs/mini2440_defconfig
+++ b/configs/mini2440_defconfig
@@ -8,7 +8,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttySAC0"
# Filesystem
BR2_TARGET_ROOTFS_JFFS2=y
-BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K=y
+BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K=y
BR2_TARGET_ROOTFS_JFFS2_PAGESIZE=0x800
BR2_TARGET_ROOTFS_JFFS2_EBSIZE=0x20000
BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER=y
diff --git a/configs/openblocks_a6_defconfig b/configs/openblocks_a6_defconfig
index d9994f298f..5147785061 100644
--- a/configs/openblocks_a6_defconfig
+++ b/configs/openblocks_a6_defconfig
@@ -9,7 +9,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
# filesystem
BR2_TARGET_ROOTFS_JFFS2=y
-BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K=y
+BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K=y
# Lock to 3.18 headers to avoid breaking with newer kernels
BR2_KERNEL_HEADERS_VERSION=y
diff --git a/configs/sheevaplug_defconfig b/configs/sheevaplug_defconfig
index 5422f673cb..9e272fff8e 100644
--- a/configs/sheevaplug_defconfig
+++ b/configs/sheevaplug_defconfig
@@ -8,7 +8,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
# filesystem
BR2_TARGET_ROOTFS_JFFS2=y
-BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K=y
+BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K=y
# Lock down headers to avoid breaking with new defaults
BR2_KERNEL_HEADERS_VERSION=y
diff --git a/docs/manual/customize-outside-br.txt b/docs/manual/customize-outside-br.txt
index aac9a4313d..9ad177d006 100644
--- a/docs/manual/customize-outside-br.txt
+++ b/docs/manual/customize-outside-br.txt
@@ -25,7 +25,8 @@ 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.
-*Note:* 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 relative to the main Buildroot source directory, *not*
to the Buildroot output directory.
@@ -33,27 +34,27 @@ to the Buildroot output directory.
Some examples:
-----
- buildroot/ $ make BR2_EXTERNAL=/path/to/foobar menuconfig
+buildroot/ $ make BR2_EXTERNAL=/path/to/foobar menuconfig
-----
From now on, external definitions from the +/path/to/foobar+
directory will be used:
-----
- buildroot/ $ make
- buildroot/ $ make legal-info
+buildroot/ $ make
+buildroot/ $ make legal-info
-----
We can switch to another external definitions directory at any time:
-----
- buildroot/ $ make BR2_EXTERNAL=/where/we/have/barfoo xconfig
+buildroot/ $ make BR2_EXTERNAL=/where/we/have/barfoo xconfig
-----
Or disable the usage of external definitions:
-----
- buildroot/ $ make BR2_EXTERNAL= xconfig
+buildroot/ $ make BR2_EXTERNAL= xconfig
-----
+BR2_EXTERNAL+ allows three different things:
@@ -75,7 +76,10 @@ Or disable the usage of external definitions:
logic. Buildroot automatically includes +$(BR2_EXTERNAL)/Config.in+ to
make it appear in the top-level configuration menu, and includes
+$(BR2_EXTERNAL)/external.mk+ with the rest of the makefile logic.
- Providing those two files is mandatory, but they can be empty.
++
+.Note
+Providing +Config.in+ and +external.mk+ is mandatory, but they can be
+ empty.
+
The main usage of this is to store package recipes. The recommended
way to do this is to write a +$(BR2_EXTERNAL)/Config.in+ file that
diff --git a/docs/manual/debugging-buildroot.txt b/docs/manual/debugging-buildroot.txt
index b97f633bef..f575fc48ee 100644
--- a/docs/manual/debugging-buildroot.txt
+++ b/docs/manual/debugging-buildroot.txt
@@ -12,8 +12,8 @@ space-separated list, you want called before and after each step. The
scripts are called in sequence, with three parameters:
- +start+ or +end+ to denote the start (resp. the end) of a step;
- - the name of the step about to be started, or which just ended.
- - the name of the package
+ - the name of the step about to be started, or which just ended;
+ - the name of the package.
For example :
@@ -21,7 +21,18 @@ For example :
make BR2_INSTRUMENTATION_SCRIPTS="/path/to/my/script1 /path/to/my/script2"
----
-That script has access to the following variables:
+The list of steps is:
+
+ - +extract+
+ - +patch+
+ - +configure+
+ - +build+
+ - +install-host+, when a host-package is installed in +$(HOST_DIR)+
+ - +install-target+, when a target-package is installed in +$(TARGET_DIR)+
+ - +install-staging+, when a target-package is installed in +$(STAGING_DIR)+
+ - +install-image+, when a target-package installs files in +$(BINARIES_DIR)+
+
+The script has access to the following variables:
- +BR2_CONFIG+: the path to the Buildroot .config file
- +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+: see
diff --git a/docs/website/download.html b/docs/website/download.html
index 6a880c6cb0..715bec93eb 100644
--- a/docs/website/download.html
+++ b/docs/website/download.html
@@ -7,27 +7,27 @@
<p>
-The latest stable release is <b>2015.02</b>, which can be downloaded
+The latest stable release is <b>2015.05</b>, which can be downloaded
here:<p>
-<a href="/downloads/buildroot-2015.02.tar.gz">buildroot-2015.02.tar.gz</a>
-(<a href="/downloads/buildroot-2015.02.tar.gz.sign">PGP signature</a>)
+<a href="/downloads/buildroot-2015.05.tar.gz">buildroot-2015.05.tar.gz</a>
+(<a href="/downloads/buildroot-2015.05.tar.gz.sign">PGP signature</a>)
or
-<a href="/downloads/buildroot-2015.02.tar.bz2">buildroot-2015.02.tar.bz2</a>
-(<a href="/downloads/buildroot-2015.02.tar.bz2.sign">PGP signature</a>).
+<a href="/downloads/buildroot-2015.05.tar.bz2">buildroot-2015.05.tar.bz2</a>
+(<a href="/downloads/buildroot-2015.05.tar.bz2.sign">PGP signature</a>).
<p>
-
-The latest release candidate is <b>2015.05-rc1</b>, which can be
+<!--
+The latest release candidate is <b>2015.05-rc3</b>, which can be
downloaded here:<p>
-<a href="/downloads/buildroot-2015.05-rc1.tar.gz">buildroot-2015.05-rc1.tar.gz</a>
-(<a href="/downloads/buildroot-2015.05-rc1.tar.gz.sign">PGP signature</a>)
+<a href="/downloads/buildroot-2015.05-rc3.tar.gz">buildroot-2015.05-rc3.tar.gz</a>
+(<a href="/downloads/buildroot-2015.05-rc3.tar.gz.sign">PGP signature</a>)
or
-<a href="/downloads/buildroot-2015.05-rc1.tar.bz2">buildroot-2015.05-rc1.tar.bz2</a>
-(<a href="/downloads/buildroot-2015.05-rc1.tar.bz2.sign">PGP signature</a>).
+<a href="/downloads/buildroot-2015.05-rc3.tar.bz2">buildroot-2015.05-rc3.tar.bz2</a>
+(<a href="/downloads/buildroot-2015.05-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/website/news.html b/docs/website/news.html
index eef668c172..9a33b009f4 100644
--- a/docs/website/news.html
+++ b/docs/website/news.html
@@ -8,12 +8,49 @@
<p>
<ul>
+
+ <li><b>31 May 2015 -- 2015.05 released</b>
+
+ <p>The stable 2015.05 release is out - Thanks to everyone
+ contributing and testing the release candidates. See the
+ <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2015.05">CHANGES</a>
+ file for more details, read the
+ <a href="http://lists.busybox.net/pipermail/buildroot/2015-May/129209.html">announcement</a>
+ and go to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2015.05.tar.bz2">2015.05 release</a>.</p>
+
+ <li><b>22 May 2015 -- 2015.05-rc3 released</b>
+
+ <p>Release candidate 3 is out with more cleanups and security / build fixes. See the <a
+ href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2015.05-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-2015.02-rc5.tar.bz2">2015.05-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>11 May 2015 -- 2015.05-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=2015.05-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-2015.05-rc2.tar.bz2">2015.05-rc2
+ release candidate</a>, and report any problems found to the <a
+ href="support.html">mailing list</a> or <a
+ href="https://bugs.uclibc.org">bug tracker</a>.</p>
+
<li><b>4 May 2015 -- 2015.05-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=2015.05-rc1">CHANGES</a>
- file for details.</p>
+ file for details, and read the
+ <a href="http://lists.busybox.net/pipermail/buildroot/2015-May/127794.html">announcement</a>.</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2015.05-rc1.tar.bz2">2015.05-rc1
diff --git a/docs/website/sponsors.html b/docs/website/sponsors.html
index 1da813b19c..9de0605705 100644
--- a/docs/website/sponsors.html
+++ b/docs/website/sponsors.html
@@ -70,7 +70,7 @@
<a href="http://www.mind.be">Mind</a> sponsored the dinner of
the FOSDEM 2014 Developers Meeting (Brussels), the meeting
room and the dinner for the ELCE 2014 Developers Meeting
- (Düsseldorf), and the dinner for the FOSDME 2015 Developers
+ (Düsseldorf), and the dinner for the FOSDEM 2015 Developers
meeting (Brussels).
</div>
</div>
diff --git a/fs/jffs2/Config.in b/fs/jffs2/Config.in
index e2a3ee9021..1010216bd1 100644
--- a/fs/jffs2/Config.in
+++ b/fs/jffs2/Config.in
@@ -17,32 +17,25 @@ config BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_528
bool "AT45 dataflash with 528 byte pagesize"
select BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER
-config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K
- bool "NAND flash with 512B Page and 16 kB erasesize"
+config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_16K
+ bool "NAND flash with 16 kB erasesize"
select BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER
-config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K
- bool "NAND flash with 2kB Page and 128 kB erasesize"
+config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K
+ bool "NAND flash with 128 kB erasesize"
select BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER
config BR2_TARGET_ROOTFS_JFFS2_FLASH_128
- bool "Parallel flash with 4 kB pagesize and 128 kB erase size"
+ bool "Parallel flash with 128 kB erase size"
config BR2_TARGET_ROOTFS_JFFS2_FLASH_64
- bool "Parallel flash with 4 kB pagesize and 64 kB erase size"
+ bool "Parallel flash with 64 kB erase size"
config BR2_TARGET_ROOTFS_JFFS2_CUSTOM
- bool "Select custom page and erase size"
+ bool "Select custom erase size"
endchoice
-config BR2_TARGET_ROOTFS_JFFS2_CUSTOM_PAGESIZE
- hex "Page Size"
- depends on BR2_TARGET_ROOTFS_JFFS2_CUSTOM
- default 0x1000
- help
- Set to pagesize of memory
-
config BR2_TARGET_ROOTFS_JFFS2_CUSTOM_EBSIZE
hex "Erase block size"
depends on BR2_TARGET_ROOTFS_JFFS2_CUSTOM
@@ -50,22 +43,12 @@ config BR2_TARGET_ROOTFS_JFFS2_CUSTOM_EBSIZE
help
Set to erase size of memory
-config BR2_TARGET_ROOTFS_JFFS2_PAGESIZE
- hex
- default 0x420 if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_1056
- default 0x210 if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_528
- default 0x200 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K
- default 0x800 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K
- default 0x1000 if BR2_TARGET_ROOTFS_JFFS2_FLASH_128
- default 0x1000 if BR2_TARGET_ROOTFS_JFFS2_FLASH_64
- default BR2_TARGET_ROOTFS_JFFS2_CUSTOM_PAGESIZE if BR2_TARGET_ROOTFS_JFFS2_CUSTOM
-
config BR2_TARGET_ROOTFS_JFFS2_EBSIZE
hex
default 0x2100 if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_1056
default 0x1080 if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_528
- default 0x4000 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K
- default 0x20000 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K
+ default 0x4000 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_16K
+ default 0x20000 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K
default 0x20000 if BR2_TARGET_ROOTFS_JFFS2_FLASH_128
default 0x10000 if BR2_TARGET_ROOTFS_JFFS2_FLASH_64
default BR2_TARGET_ROOTFS_JFFS2_CUSTOM_EBSIZE if BR2_TARGET_ROOTFS_JFFS2_CUSTOM
@@ -74,8 +57,8 @@ config BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER
bool "Do not use Cleanmarker"
default y if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_1056
default y if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_528
- default y if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K
- default y if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K
+ default y if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_16K
+ default y if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K
help
Do not use cleanmarkers if using NAND flash or Dataflash where
the pagesize is not a power of 2
@@ -108,4 +91,22 @@ config BR2_TARGET_ROOTFS_JFFS2_SUMMARY
A summarised image can be mounted faster if support is
enabled in the kernel (CONFIG_JFFS2_SUMMARY)
+config BR2_TARGET_ROOTFS_JFFS2_USE_CUSTOM_PAGESIZE
+ bool "Select custom virtual memory page size"
+ help
+ Use a custom virtual memory page size. Note that this is not related to
+ the flash memory page size. Using this option is only needed if Linux is
+ configured to use a page size different than 4kB.
+
+
+config BR2_TARGET_ROOTFS_JFFS2_CUSTOM_PAGESIZE
+ hex "Virtual memory page size"
+ depends on BR2_TARGET_ROOTFS_JFFS2_USE_CUSTOM_PAGESIZE
+ default 0x1000
+ help
+ Set to virtual memory page size of target system (in bytes). This value
+ should match the virtual page size in Linux (i.e. this should have the
+ same value as the value of the PAGE_SIZE macro in Linux). It is not
+ related to the flash memory page size.
+
endif
diff --git a/fs/jffs2/jffs2.mk b/fs/jffs2/jffs2.mk
index 0232199be5..a9cd4146ee 100644
--- a/fs/jffs2/jffs2.mk
+++ b/fs/jffs2/jffs2.mk
@@ -26,7 +26,10 @@ JFFS2_OPTS += -b
SUMTOOL_OPTS += -b
endif
-JFFS2_OPTS += -s $(BR2_TARGET_ROOTFS_JFFS2_PAGESIZE)
+ifeq ($(BR2_TARGET_ROOTFS_JFFS2_USE_CUSTOM_PAGESIZE),y)
+JFFS2_OPTS += -s $(BR2_TARGET_ROOTFS_JFFS2_CUSTOM_PAGESIZE)
+endif
+
ifeq ($(BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER),y)
JFFS2_OPTS += -n
SUMTOOL_OPTS += -n
diff --git a/linux/Config.in b/linux/Config.in
index 30e38e45d7..b5640850fc 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -21,7 +21,7 @@ choice
prompt "Kernel version"
config BR2_LINUX_KERNEL_LATEST_VERSION
- bool "4.0.1"
+ bool "4.0.4"
config BR2_LINUX_KERNEL_SAME_AS_HEADERS
bool "Same as toolchain kernel headers"
@@ -109,7 +109,7 @@ config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
config BR2_LINUX_KERNEL_VERSION
string
- default "4.0.1" if BR2_LINUX_KERNEL_LATEST_VERSION
+ default "4.0.4" 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 af4d2b754f..e0c2e2ac42 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -811,6 +811,7 @@ menu "Graphics"
endmenu
menu "Hardware handling"
+ source "package/c-periphery/Config.in"
source "package/ccid/Config.in"
source "package/dtc/Config.in"
source "package/gnu-efi/Config.in"
diff --git a/package/acl/acl.mk b/package/acl/acl.mk
index 31bd079a54..62e5d15134 100644
--- a/package/acl/acl.mk
+++ b/package/acl/acl.mk
@@ -27,4 +27,14 @@ ACL_INSTALL_TARGET_OPTS = \
exec_prefix=$(TARGET_DIR)/usr \
install install-lib
+# The libdir variable in libacl.la is empty, so let's fix it. This is
+# probably due to acl not using automake, and not doing fully the
+# right thing with libtool.
+define ACL_FIX_LIBTOOL_LA_LIBDIR
+ $(SED) "s,libdir=.*,libdir='$(STAGING_DIR)'," \
+ $(STAGING_DIR)/usr/lib/libacl.la
+endef
+
+ACL_POST_INSTALL_STAGING_HOOKS += ACL_FIX_LIBTOOL_LA_LIBDIR
+
$(eval $(autotools-package))
diff --git a/package/alsa-utils/Config.in b/package/alsa-utils/Config.in
index cbc56eb0a6..3a99279276 100644
--- a/package/alsa-utils/Config.in
+++ b/package/alsa-utils/Config.in
@@ -39,6 +39,7 @@ comment "alsamixer needs a toolchain w/ wchar"
config BR2_PACKAGE_ALSA_UTILS_AMIDI
select BR2_PACKAGE_ALSA_LIB_RAWMIDI
+ select BR2_PACKAGE_ALSA_LIB_SEQ
bool "amidi"
config BR2_PACKAGE_ALSA_UTILS_AMIXER
diff --git a/package/apr/apr.mk b/package/apr/apr.mk
index 69524a6f3d..0fed19c54d 100644
--- a/package/apr/apr.mk
+++ b/package/apr/apr.mk
@@ -12,6 +12,7 @@ APR_INSTALL_STAGING = YES
# We have a patch touching configure.in and Makefile.in,
# so we need to autoreconf:
APR_AUTORECONF = YES
+
APR_CONF_ENV = \
CC_FOR_BUILD="$(HOSTCC)" \
CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
@@ -34,6 +35,10 @@ endif
# Fix lfs detection when cross compiling
APR_CONF_ENV += apr_cv_use_lfs64=yes
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
+APR_DEPENDENCIES += util-linux
+endif
+
define APR_CLEANUP_UNNEEDED_FILES
$(RM) -rf $(TARGET_DIR)/usr/build-1/
endef
diff --git a/package/armadillo/armadillo.hash b/package/armadillo/armadillo.hash
index d74d6b082f..0046c568b3 100644
--- a/package/armadillo/armadillo.hash
+++ b/package/armadillo/armadillo.hash
@@ -1,2 +1,2 @@
# Locally computed:
-sha256 0664caca9a9be410ba467a3f4fd7d4556ccda62a9e061f2935904be2afe22132 armadillo-4.000.4.tar.gz
+sha256 63150f12bf7c7c598ea55b7271d99fce349ff386a3dc2cae3904b244f6e35320 armadillo-5.100.2.tar.gz
diff --git a/package/armadillo/armadillo.mk b/package/armadillo/armadillo.mk
index 58b8fc1ec6..607103cd18 100644
--- a/package/armadillo/armadillo.mk
+++ b/package/armadillo/armadillo.mk
@@ -4,8 +4,8 @@
#
################################################################################
-ARMADILLO_VERSION_MAJOR = 4.000
-ARMADILLO_VERSION = $(ARMADILLO_VERSION_MAJOR).4
+ARMADILLO_VERSION_MAJOR = 5.100
+ARMADILLO_VERSION = $(ARMADILLO_VERSION_MAJOR).2
ARMADILLO_SITE = http://downloads.sourceforge.net/project/arma
ARMADILLO_DEPENDENCIES = clapack
ARMADILLO_INSTALL_STAGING = YES
diff --git a/package/at/0008-remove-glibc-__isleap-assumption.patch b/package/at/0008-remove-glibc-__isleap-assumption.patch
new file mode 100644
index 0000000000..21522492c8
--- /dev/null
+++ b/package/at/0008-remove-glibc-__isleap-assumption.patch
@@ -0,0 +1,59 @@
+From 7f811d9c4ebc9444e613e251c31d6bf537a24dc1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 13 Apr 2015 16:35:30 -0700
+Subject: [PATCH] remove glibc assumption
+
+glibc time.h header has an undocumented __isleap macro
+that we are using anf musl is missing it.
+Since it is undocumented & does not appear
+on any other libc, stop using it and just define the macro in
+locally instead.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+[patch from: http://patchwork.openembedded.org/patch/91893/ ]
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+---
+ parsetime.y | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/parsetime.y b/parsetime.y
+index 7005e88..324e6d3 100644
+--- a/parsetime.y
++++ b/parsetime.y
+@@ -8,6 +8,9 @@
+
+ #define YYDEBUG 1
+
++#define is_leap_year(y) \
++ ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))
++
+ struct tm exectm;
+ static int isgmt;
+ static int yearspec;
+@@ -217,8 +220,8 @@ date : month_name day_number
+ mnum == 12) && dnum > 31)
+ || ((mnum == 4 || mnum == 6 || mnum == 9 ||
+ mnum == 11) && dnum > 30)
+- || (mnum == 2 && dnum > 29 && __isleap(ynum+1900))
+- || (mnum == 2 && dnum > 28 && !__isleap(ynum+1900))
++ || (mnum == 2 && dnum > 29 && is_leap_year(ynum+1900))
++ || (mnum == 2 && dnum > 28 && !is_leap_year(ynum+1900))
+ )
+ {
+ yyerror("Error in day of month");
+@@ -261,8 +264,8 @@ date : month_name day_number
+ mnum == 12) && dnum > 31)
+ || ((mnum == 4 || mnum == 6 || mnum == 9 ||
+ mnum == 11) && dnum > 30)
+- || (mnum == 2 && dnum > 29 && __isleap(ynum+1900))
+- || (mnum == 2 && dnum > 28 && !__isleap(ynum+1900))
++ || (mnum == 2 && dnum > 29 && is_leap_year(ynum+1900))
++ || (mnum == 2 && dnum > 28 && !is_leap_year(ynum+1900))
+ )
+ {
+ yyerror("Error in day of month");
+--
+2.1.4
diff --git a/package/attr/attr.mk b/package/attr/attr.mk
index 2cbcc6e08f..a66891b857 100644
--- a/package/attr/attr.mk
+++ b/package/attr/attr.mk
@@ -26,4 +26,14 @@ ATTR_INSTALL_TARGET_OPTS = \
exec_prefix=$(TARGET_DIR)/usr \
install install-lib
+# The libdir variable in libattr.la is empty, so let's fix it. This is
+# probably due to attr not using automake, and not doing fully the
+# right thing with libtool.
+define ATTR_FIX_LIBTOOL_LA_LIBDIR
+ $(SED) "s,libdir=.*,libdir='$(STAGING_DIR)'," \
+ $(STAGING_DIR)/usr/lib/libattr.la
+endef
+
+ATTR_POST_INSTALL_STAGING_HOOKS += ATTR_FIX_LIBTOOL_LA_LIBDIR
+
$(eval $(autotools-package))
diff --git a/package/autoconf-archive/0001-AX_TLS-fix-syntax-error.patch b/package/autoconf-archive/0001-AX_TLS-fix-syntax-error.patch
new file mode 100644
index 0000000000..6d345d3468
--- /dev/null
+++ b/package/autoconf-archive/0001-AX_TLS-fix-syntax-error.patch
@@ -0,0 +1,46 @@
+From 1870301013d79be781ead2b0e62fc08f91715ca9 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@openwide.fr>
+Date: Sun, 3 May 2015 23:02:34 +0200
+Subject: [PATCH] AX_TLS: fix syntax error
+
+The commit e012eb17b3d67f31dee477592328207437206c33 introduce
+a syntax error due to an empty "else" statement.
+
+confifure:
+if test "$ac_cv_tls" != "none"; then :
+cat >>confdefs.h <<_ACEOF
+_ACEOF
+else
+
+fi
+
+Remove the [] on the third part of AS_IF.
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ m4/ax_tls.m4 | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/m4/ax_tls.m4 b/m4/ax_tls.m4
+index 809b761..2135dd2 100644
+--- a/m4/ax_tls.m4
++++ b/m4/ax_tls.m4
+@@ -44,7 +44,7 @@
+ # modified version of the Autoconf Macro, you may extend this special
+ # exception to the GPL to apply to your modified version as well.
+
+-#serial 11
++#serial 12
+
+ AC_DEFUN([AX_TLS], [
+ AC_MSG_CHECKING([for thread local storage (TLS) class])
+@@ -70,5 +70,5 @@ AC_DEFUN([AX_TLS], [
+ AS_IF([test "$ac_cv_tls" != "none"],
+ [AC_DEFINE_UNQUOTED([TLS],[$ac_cv_tls],[If the compiler supports a TLS storage class define it to that here])
+ m4_ifnblank([$1],[$1])],
+- [m4_ifnblank([$2],[$2])])
++ m4_ifnblank([$2],[$2]))
+ ])
+--
+1.9.3
+
diff --git a/package/autoconf-archive/autoconf-archive.mk b/package/autoconf-archive/autoconf-archive.mk
index bd3b0c83e3..673a57f116 100644
--- a/package/autoconf-archive/autoconf-archive.mk
+++ b/package/autoconf-archive/autoconf-archive.mk
@@ -9,5 +9,6 @@ AUTOCONF_ARCHIVE_SOURCE = autoconf-archive-$(AUTOCONF_ARCHIVE_VERSION).tar.xz
AUTOCONF_ARCHIVE_SITE = $(BR2_GNU_MIRROR)/autoconf-archive
AUTOCONF_ARCHIVE_LICENSE = GPLv3+ with exception
AUTOCONF_ARCHIVE_LICENSE_FILES = COPYING COPYING.EXCEPTION
+HOST_AUTOCONF_ARCHIVE_INSTALL_OPTS = aclocaldir=$(HOST_DIR)/usr/share/autoconf-archive install
$(eval $(host-autotools-package))
diff --git a/package/bandwidthd/Config.in b/package/bandwidthd/Config.in
index 0d51f5e8a4..b4a47f2ec6 100644
--- a/package/bandwidthd/Config.in
+++ b/package/bandwidthd/Config.in
@@ -33,12 +33,16 @@ if BR2_PACKAGE_BANDWIDTHD
config BR2_PACKAGE_BANDWIDTHD_POSTGRESQL
bool "enable postgresql log target support"
select BR2_PACKAGE_POSTGRESQL
+ depends on !BR2_STATIC_LIBS
help
Enable support for logging the bandwidthd data to a remote
(or local) postgresql server. This data can then be viewed
through a php site. See README in the source code
(github.com/nroach44/bandwidthd) for more information.
+comment "postgresql support needs a toolchain w/ dynamic library"
+ depends on BR2_STATIC_LIBS
+
config BR2_PACKAGE_BANDWIDTHD_SQLITE3
bool "enable sqlite3 log storage"
select BR2_PACKAGE_SQLITE
diff --git a/package/binutils/2.22/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch b/package/binutils/2.22/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
new file mode 100644
index 0000000000..9ad6b3be05
--- /dev/null
+++ b/package/binutils/2.22/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
@@ -0,0 +1,57 @@
+From 8ec76b16f62d1bf386fb2c39af5f66c3afddc5cb Mon Sep 17 00:00:00 2001
+From: Max Filippov <jcmvbkbc@gmail.com>
+Date: Thu, 14 May 2015 05:22:55 +0300
+Subject: [PATCH] xtensa: fix localized symbol refcounting with --gc-sections
+
+elf_xtensa_gc_sweep_hook doesn't correctly unreference symbols that were
+made local, that results in link failure with the following message:
+
+ BFD (GNU Binutils) 2.24 internal error, aborting at elf32-xtensa.c line
+ 3372 in elf_xtensa_finish_dynamic_sections
+
+elf_xtensa_gc_sweep_hook determines symbol reference type (PLT or GOT) by
+relocation type. Relocation types are not changed when symbol becomes
+local, but its PLT references are added to GOT references and
+plt.refcount is set to 0. Such symbol cannot be unreferences in the
+elf_xtensa_gc_sweep_hook and its extra references make calculated GOT
+relocations section size not match number of GOT relocations.
+
+Fix it by treating PLT reference as GOT reference when plt.refcount is
+not positive.
+
+2015-05-14 Max Filippov <jcmvbkbc@gmail.com>
+bfd/
+ * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference
+ as GOT reference when plt.refcount is not positive.
+
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+---
+Backported from: e6c9a083ec5ae7a45bd71682b26aae1939849388
+Changes to ChangeLog are dropped.
+
+ bfd/elf32-xtensa.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
+index 53af1c6..2523670 100644
+--- a/bfd/elf32-xtensa.c
++++ b/bfd/elf32-xtensa.c
+@@ -1360,10 +1360,14 @@ elf_xtensa_gc_sweep_hook (bfd *abfd,
+ {
+ if (is_plt)
+ {
++ /* If the symbol has been localized its plt.refcount got moved
++ to got.refcount. Handle it as GOT. */
+ if (h->plt.refcount > 0)
+ h->plt.refcount--;
++ else
++ is_got = TRUE;
+ }
+- else if (is_got)
++ if (is_got)
+ {
+ if (h->got.refcount > 0)
+ h->got.refcount--;
+--
+1.8.1.4
+
diff --git a/package/binutils/2.23.2/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch b/package/binutils/2.23.2/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
new file mode 100644
index 0000000000..9ad6b3be05
--- /dev/null
+++ b/package/binutils/2.23.2/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
@@ -0,0 +1,57 @@
+From 8ec76b16f62d1bf386fb2c39af5f66c3afddc5cb Mon Sep 17 00:00:00 2001
+From: Max Filippov <jcmvbkbc@gmail.com>
+Date: Thu, 14 May 2015 05:22:55 +0300
+Subject: [PATCH] xtensa: fix localized symbol refcounting with --gc-sections
+
+elf_xtensa_gc_sweep_hook doesn't correctly unreference symbols that were
+made local, that results in link failure with the following message:
+
+ BFD (GNU Binutils) 2.24 internal error, aborting at elf32-xtensa.c line
+ 3372 in elf_xtensa_finish_dynamic_sections
+
+elf_xtensa_gc_sweep_hook determines symbol reference type (PLT or GOT) by
+relocation type. Relocation types are not changed when symbol becomes
+local, but its PLT references are added to GOT references and
+plt.refcount is set to 0. Such symbol cannot be unreferences in the
+elf_xtensa_gc_sweep_hook and its extra references make calculated GOT
+relocations section size not match number of GOT relocations.
+
+Fix it by treating PLT reference as GOT reference when plt.refcount is
+not positive.
+
+2015-05-14 Max Filippov <jcmvbkbc@gmail.com>
+bfd/
+ * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference
+ as GOT reference when plt.refcount is not positive.
+
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+---
+Backported from: e6c9a083ec5ae7a45bd71682b26aae1939849388
+Changes to ChangeLog are dropped.
+
+ bfd/elf32-xtensa.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
+index 53af1c6..2523670 100644
+--- a/bfd/elf32-xtensa.c
++++ b/bfd/elf32-xtensa.c
+@@ -1360,10 +1360,14 @@ elf_xtensa_gc_sweep_hook (bfd *abfd,
+ {
+ if (is_plt)
+ {
++ /* If the symbol has been localized its plt.refcount got moved
++ to got.refcount. Handle it as GOT. */
+ if (h->plt.refcount > 0)
+ h->plt.refcount--;
++ else
++ is_got = TRUE;
+ }
+- else if (is_got)
++ if (is_got)
+ {
+ if (h->got.refcount > 0)
+ h->got.refcount--;
+--
+1.8.1.4
+
diff --git a/package/binutils/2.24/910-xtensa-optimize-trampolines-relaxation.patch b/package/binutils/2.24/910-xtensa-optimize-trampolines-relaxation.patch
new file mode 100644
index 0000000000..043ff4df1e
--- /dev/null
+++ b/package/binutils/2.24/910-xtensa-optimize-trampolines-relaxation.patch
@@ -0,0 +1,345 @@
+From cbe53e134d4c3a656880a906738ce19fdcd38e8b Mon Sep 17 00:00:00 2001
+From: Max Filippov <jcmvbkbc@gmail.com>
+Date: Fri, 1 May 2015 11:39:12 +0300
+Subject: [PATCH] xtensa: optimize trampolines relaxation
+
+Currently every fixup in the current segment is checked when relaxing
+trampoline frag. This is very expensive. Make a searchable array of
+fixups pointing at potentially oversized jumps at the beginning of every
+relaxation pass and only check subset of this cache in the reach of
+single jump from the trampoline frag currently being relaxed.
+
+Original profile:
+
+% time self children called name
+-----------------------------------------
+ 370.16 593.38 12283048/12283048 relax_segment
+ 98.4 370.16 593.38 12283048 xtensa_relax_frag
+ 58.91 269.26 2691463834/2699602236 xtensa_insnbuf_from_chars
+ 68.35 68.17 811266668/813338977 S_GET_VALUE
+ 36.85 29.51 2684369246/2685538060 xtensa_opcode_decode
+ 28.34 8.84 2684369246/2685538060 xtensa_format_get_slot
+ 12.39 5.94 2691463834/2699775044 xtensa_format_decode
+ 0.03 4.60 4101109/4101109 relax_frag_for_align
+ 0.18 1.76 994617/994617 relax_frag_immed
+ 0.07 0.09 24556277/24851220 new_logical_line
+ 0.06 0.00 12283048/14067410 as_where
+ 0.04 0.00 7094588/15460506 xtensa_format_num_slots
+ 0.00 0.00 1/712477 xtensa_insnbuf_alloc
+-----------------------------------------
+
+Same data, after optimization:
+
+% time self children called name
+-----------------------------------------
+ 0.51 7.47 12283048/12283048 relax_segment
+ 58.0 0.51 7.47 12283048 xtensa_relax_frag
+ 0.02 4.08 4101109/4101109 relax_frag_for_align
+ 0.18 1.39 994617/994617 relax_frag_immed
+ 0.01 0.98 555/555 xtensa_cache_relaxable_fixups
+ 0.21 0.25 7094588/16693271 xtensa_insnbuf_from_chars
+ 0.06 0.12 24556277/24851220 new_logical_line
+ 0.06 0.00 7094588/15460506 xtensa_format_num_slots
+ 0.02 0.04 7094588/16866079 xtensa_format_decode
+ 0.05 0.00 12283048/14067410 as_where
+ 0.00 0.00 1/712477 xtensa_insnbuf_alloc
+ 0.00 0.00 93808/93808 xtensa_find_first_cached_fixup
+-----------------------------------------
+
+2015-05-02 Max Filippov <jcmvbkbc@gmail.com>
+gas/
+ * config/tc-xtensa.c (cached_fixupS, fixup_cacheS): New typedefs.
+ (struct cached_fixup, struct fixup_cache): New structures.
+ (fixup_order, xtensa_make_cached_fixup),
+ (xtensa_realloc_fixup_cache, xtensa_cache_relaxable_fixups),
+ (xtensa_find_first_cached_fixup, xtensa_delete_cached_fixup),
+ (xtensa_add_cached_fixup): New functions.
+ (xtensa_relax_frag): Cache fixups pointing at potentially
+ oversized jumps at the beginning of every relaxation pass. Only
+ check subset of this cache in the reach of single jump from the
+ trampoline frag currently being relaxed.
+
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+---
+Backported from: b76f99d702c3501ac320396ea06bc7f9237173c3
+Changes to ChangeLog are dropped.
+
+ gas/config/tc-xtensa.c | 220 +++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 194 insertions(+), 26 deletions(-)
+
+diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
+index 3e85b69..31c0b6b 100644
+--- a/gas/config/tc-xtensa.c
++++ b/gas/config/tc-xtensa.c
+@@ -8785,6 +8785,154 @@ static long relax_frag_for_align (fragS *, long);
+ static long relax_frag_immed
+ (segT, fragS *, long, int, xtensa_format, int, int *, bfd_boolean);
+
++typedef struct cached_fixup cached_fixupS;
++struct cached_fixup
++{
++ int addr;
++ int target;
++ int delta;
++ fixS *fixP;
++};
++
++typedef struct fixup_cache fixup_cacheS;
++struct fixup_cache
++{
++ cached_fixupS *fixups;
++ unsigned n_fixups;
++ unsigned n_max;
++
++ segT seg;
++ fragS *first_frag;
++};
++
++static int fixup_order (const void *a, const void *b)
++{
++ const cached_fixupS *pa = a;
++ const cached_fixupS *pb = b;
++
++ if (pa->addr == pb->addr)
++ {
++ if (pa->target == pb->target)
++ {
++ if (pa->fixP->fx_r_type == pb->fixP->fx_r_type)
++ return 0;
++ return pa->fixP->fx_r_type < pb->fixP->fx_r_type ? -1 : 1;
++ }
++ return pa->target - pb->target;
++ }
++ return pa->addr - pb->addr;
++}
++
++static bfd_boolean xtensa_make_cached_fixup (cached_fixupS *o, fixS *fixP)
++{
++ xtensa_isa isa = xtensa_default_isa;
++ int addr = fixP->fx_frag->fr_address;
++ int target;
++ int delta;
++ symbolS *s = fixP->fx_addsy;
++ int slot;
++ xtensa_format fmt;
++ xtensa_opcode opcode;
++
++ if (fixP->fx_r_type < BFD_RELOC_XTENSA_SLOT0_OP ||
++ fixP->fx_r_type > BFD_RELOC_XTENSA_SLOT14_OP)
++ return FALSE;
++ target = S_GET_VALUE (s);
++ delta = target - addr;
++
++ if (abs(delta) < J_RANGE / 2)
++ return FALSE;
++
++ xtensa_insnbuf_from_chars (isa, trampoline_buf,
++ (unsigned char *) fixP->fx_frag->fr_literal +
++ fixP->fx_where, 0);
++ fmt = xtensa_format_decode (isa, trampoline_buf);
++ gas_assert (fmt != XTENSA_UNDEFINED);
++ slot = fixP->tc_fix_data.slot;
++ xtensa_format_get_slot (isa, fmt, slot, trampoline_buf, trampoline_slotbuf);
++ opcode = xtensa_opcode_decode (isa, fmt, slot, trampoline_slotbuf);
++ if (opcode != xtensa_j_opcode)
++ return FALSE;
++
++ o->addr = addr;
++ o->target = target;
++ o->delta = delta;
++ o->fixP = fixP;
++
++ return TRUE;
++}
++
++static void xtensa_realloc_fixup_cache (fixup_cacheS *cache, unsigned add)
++{
++ if (cache->n_fixups + add > cache->n_max)
++ {
++ cache->n_max = (cache->n_fixups + add) * 2;
++ cache->fixups = xrealloc (cache->fixups,
++ sizeof (*cache->fixups) * cache->n_max);
++ }
++}
++
++static void xtensa_cache_relaxable_fixups (fixup_cacheS *cache,
++ segment_info_type *seginfo)
++{
++ fixS *fixP;
++
++ cache->n_fixups = 0;
++
++ for (fixP = seginfo->fix_root; fixP ; fixP = fixP->fx_next)
++ {
++ xtensa_realloc_fixup_cache (cache, 1);
++
++ if (xtensa_make_cached_fixup (cache->fixups + cache->n_fixups, fixP))
++ ++cache->n_fixups;
++ }
++ qsort (cache->fixups, cache->n_fixups, sizeof (*cache->fixups), fixup_order);
++}
++
++static unsigned xtensa_find_first_cached_fixup (const fixup_cacheS *cache,
++ int addr)
++{
++ unsigned a = 0;
++ unsigned b = cache->n_fixups;
++
++ while (b - a > 1)
++ {
++ unsigned c = (a + b) / 2;
++
++ if (cache->fixups[c].addr < addr)
++ a = c;
++ else
++ b = c;
++ }
++ return a;
++}
++
++static void xtensa_delete_cached_fixup (fixup_cacheS *cache, unsigned i)
++{
++ memmove (cache->fixups + i, cache->fixups + i + 1,
++ (cache->n_fixups - i - 1) * sizeof (*cache->fixups));
++ --cache->n_fixups;
++}
++
++static bfd_boolean xtensa_add_cached_fixup (fixup_cacheS *cache, fixS *fixP)
++{
++ cached_fixupS o;
++ unsigned i;
++
++ if (!xtensa_make_cached_fixup (&o, fixP))
++ return FALSE;
++ xtensa_realloc_fixup_cache (cache, 1);
++ i = xtensa_find_first_cached_fixup (cache, o.addr);
++ if (i < cache->n_fixups)
++ {
++ ++i;
++ memmove (cache->fixups + i + 1, cache->fixups + i,
++ (cache->n_fixups - i) * sizeof (*cache->fixups));
++ }
++ cache->fixups[i] = o;
++ ++cache->n_fixups;
++ return TRUE;
++}
+
+ /* Return the number of bytes added to this fragment, given that the
+ input has been stretched already by "stretch". */
+@@ -8896,35 +9044,42 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
+ case RELAX_TRAMPOLINE:
+ if (fragP->tc_frag_data.relax_seen)
+ {
+- segment_info_type *seginfo = seg_info (now_seg);
+- fragS *fP; /* The out-of-range jump. */
+- fixS *fixP;
++ static fixup_cacheS fixup_cache;
++ segment_info_type *seginfo = seg_info (now_seg);
++ int trampaddr = fragP->fr_address + fragP->fr_fix;
++ int searchaddr = trampaddr < J_RANGE ? 0 : trampaddr - J_RANGE;
++ unsigned i;
++
++ if (now_seg != fixup_cache.seg ||
++ fragP == fixup_cache.first_frag ||
++ fixup_cache.first_frag == NULL)
++ {
++ xtensa_cache_relaxable_fixups (&fixup_cache, seginfo);
++ fixup_cache.seg = now_seg;
++ fixup_cache.first_frag = fragP;
++ }
+
+ /* Scan for jumps that will not reach. */
+- for (fixP = seginfo->fix_root; fixP ; fixP = fixP->fx_next)
++ for (i = xtensa_find_first_cached_fixup (&fixup_cache, searchaddr);
++ i < fixup_cache.n_fixups; ++i)
++
+ {
+- symbolS *s = fixP->fx_addsy;
+- xtensa_opcode opcode;
+- int target;
+- int addr;
+- int delta;
+-
+- if (fixP->fx_r_type < BFD_RELOC_XTENSA_SLOT0_OP ||
+- fixP->fx_r_type > BFD_RELOC_XTENSA_SLOT14_OP)
+- continue;
+- xtensa_insnbuf_from_chars (isa, trampoline_buf,
+- (unsigned char *) fixP->fx_frag->fr_literal + fixP->fx_where,
+- 0);
+- fmt = xtensa_format_decode (isa, trampoline_buf);
+- gas_assert (fmt != XTENSA_UNDEFINED);
+- slot = fixP->tc_fix_data.slot;
+- xtensa_format_get_slot (isa, fmt, slot, trampoline_buf, trampoline_slotbuf);
+- opcode = xtensa_opcode_decode (isa, fmt, slot, trampoline_slotbuf);
+- if (opcode != xtensa_j_opcode)
++ fixS *fixP = fixup_cache.fixups[i].fixP;
++ int target = fixup_cache.fixups[i].target;
++ int addr = fixup_cache.fixups[i].addr;
++ int delta = fixup_cache.fixups[i].delta + stretch;
++
++ trampaddr = fragP->fr_address + fragP->fr_fix;
++
++ if (addr + J_RANGE < trampaddr)
+ continue;
+- target = S_GET_VALUE (s);
+- addr = fixP->fx_frag->fr_address;
+- delta = target - addr + stretch;
++ if (addr > trampaddr + J_RANGE)
++ break;
++ if (abs (delta) < J_RANGE)
++ continue;
++
++ slot = fixP->tc_fix_data.slot;
++
+ if (delta > J_RANGE || delta < -1 * J_RANGE)
+ { /* Found an out-of-range jump; scan the list of trampolines for the best match. */
+ struct trampoline_seg *ts = find_trampoline_seg (now_seg);
+@@ -8978,14 +9133,13 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
+ }
+ if (tf->fragP == fragP)
+ {
+- int trampaddr = fragP->fr_address + fragP->fr_fix;
+-
+ if (abs (addr - trampaddr) < J_RANGE)
+ { /* The trampoline is in range of original; fix it! */
+ fixS *newfixP;
+ int offset;
+ TInsn insn;
+ symbolS *lsym;
++ fragS *fP; /* The out-of-range jump. */
+
+ new_stretch += init_trampoline_frag (tf);
+ offset = fragP->fr_fix; /* Where to assemble the j insn. */
+@@ -9009,10 +9163,20 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
+ newfixP->tc_fix_data.X_add_symbol = lsym;
+ newfixP->tc_fix_data.X_add_number = offset;
+ newfixP->tc_fix_data.slot = slot;
++
++ xtensa_delete_cached_fixup (&fixup_cache, i);
++ xtensa_add_cached_fixup (&fixup_cache, newfixP);
++
+ /* Move the fix-up from the original j insn to this one. */
+ fixP->fx_frag = fragP;
+ fixP->fx_where = fragP->fr_fix - 3;
+ fixP->tc_fix_data.slot = 0;
++
++ xtensa_add_cached_fixup (&fixup_cache, fixP);
++
++ /* re-do current fixup */
++ --i;
++
+ /* Adjust the jump around this trampoline (if present). */
+ if (tf->fixP != NULL)
+ {
+@@ -9027,6 +9191,8 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
+ fragP->fr_subtype = 0;
+ /* Remove from the trampoline_list. */
+ prev->next = tf->next;
++ if (fragP == fixup_cache.first_frag)
++ fixup_cache.first_frag = NULL;
+ break;
+ }
+ }
+--
+1.8.1.4
+
diff --git a/package/binutils/2.24/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch b/package/binutils/2.24/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
new file mode 100644
index 0000000000..9ad6b3be05
--- /dev/null
+++ b/package/binutils/2.24/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
@@ -0,0 +1,57 @@
+From 8ec76b16f62d1bf386fb2c39af5f66c3afddc5cb Mon Sep 17 00:00:00 2001
+From: Max Filippov <jcmvbkbc@gmail.com>
+Date: Thu, 14 May 2015 05:22:55 +0300
+Subject: [PATCH] xtensa: fix localized symbol refcounting with --gc-sections
+
+elf_xtensa_gc_sweep_hook doesn't correctly unreference symbols that were
+made local, that results in link failure with the following message:
+
+ BFD (GNU Binutils) 2.24 internal error, aborting at elf32-xtensa.c line
+ 3372 in elf_xtensa_finish_dynamic_sections
+
+elf_xtensa_gc_sweep_hook determines symbol reference type (PLT or GOT) by
+relocation type. Relocation types are not changed when symbol becomes
+local, but its PLT references are added to GOT references and
+plt.refcount is set to 0. Such symbol cannot be unreferences in the
+elf_xtensa_gc_sweep_hook and its extra references make calculated GOT
+relocations section size not match number of GOT relocations.
+
+Fix it by treating PLT reference as GOT reference when plt.refcount is
+not positive.
+
+2015-05-14 Max Filippov <jcmvbkbc@gmail.com>
+bfd/
+ * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference
+ as GOT reference when plt.refcount is not positive.
+
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+---
+Backported from: e6c9a083ec5ae7a45bd71682b26aae1939849388
+Changes to ChangeLog are dropped.
+
+ bfd/elf32-xtensa.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
+index 53af1c6..2523670 100644
+--- a/bfd/elf32-xtensa.c
++++ b/bfd/elf32-xtensa.c
+@@ -1360,10 +1360,14 @@ elf_xtensa_gc_sweep_hook (bfd *abfd,
+ {
+ if (is_plt)
+ {
++ /* If the symbol has been localized its plt.refcount got moved
++ to got.refcount. Handle it as GOT. */
+ if (h->plt.refcount > 0)
+ h->plt.refcount--;
++ else
++ is_got = TRUE;
+ }
+- else if (is_got)
++ if (is_got)
+ {
+ if (h->got.refcount > 0)
+ h->got.refcount--;
+--
+1.8.1.4
+
diff --git a/package/binutils/2.25/910-xtensa-optimize-trampolines-relaxation.patch b/package/binutils/2.25/910-xtensa-optimize-trampolines-relaxation.patch
new file mode 100644
index 0000000000..043ff4df1e
--- /dev/null
+++ b/package/binutils/2.25/910-xtensa-optimize-trampolines-relaxation.patch
@@ -0,0 +1,345 @@
+From cbe53e134d4c3a656880a906738ce19fdcd38e8b Mon Sep 17 00:00:00 2001
+From: Max Filippov <jcmvbkbc@gmail.com>
+Date: Fri, 1 May 2015 11:39:12 +0300
+Subject: [PATCH] xtensa: optimize trampolines relaxation
+
+Currently every fixup in the current segment is checked when relaxing
+trampoline frag. This is very expensive. Make a searchable array of
+fixups pointing at potentially oversized jumps at the beginning of every
+relaxation pass and only check subset of this cache in the reach of
+single jump from the trampoline frag currently being relaxed.
+
+Original profile:
+
+% time self children called name
+-----------------------------------------
+ 370.16 593.38 12283048/12283048 relax_segment
+ 98.4 370.16 593.38 12283048 xtensa_relax_frag
+ 58.91 269.26 2691463834/2699602236 xtensa_insnbuf_from_chars
+ 68.35 68.17 811266668/813338977 S_GET_VALUE
+ 36.85 29.51 2684369246/2685538060 xtensa_opcode_decode
+ 28.34 8.84 2684369246/2685538060 xtensa_format_get_slot
+ 12.39 5.94 2691463834/2699775044 xtensa_format_decode
+ 0.03 4.60 4101109/4101109 relax_frag_for_align
+ 0.18 1.76 994617/994617 relax_frag_immed
+ 0.07 0.09 24556277/24851220 new_logical_line
+ 0.06 0.00 12283048/14067410 as_where
+ 0.04 0.00 7094588/15460506 xtensa_format_num_slots
+ 0.00 0.00 1/712477 xtensa_insnbuf_alloc
+-----------------------------------------
+
+Same data, after optimization:
+
+% time self children called name
+-----------------------------------------
+ 0.51 7.47 12283048/12283048 relax_segment
+ 58.0 0.51 7.47 12283048 xtensa_relax_frag
+ 0.02 4.08 4101109/4101109 relax_frag_for_align
+ 0.18 1.39 994617/994617 relax_frag_immed
+ 0.01 0.98 555/555 xtensa_cache_relaxable_fixups
+ 0.21 0.25 7094588/16693271 xtensa_insnbuf_from_chars
+ 0.06 0.12 24556277/24851220 new_logical_line
+ 0.06 0.00 7094588/15460506 xtensa_format_num_slots
+ 0.02 0.04 7094588/16866079 xtensa_format_decode
+ 0.05 0.00 12283048/14067410 as_where
+ 0.00 0.00 1/712477 xtensa_insnbuf_alloc
+ 0.00 0.00 93808/93808 xtensa_find_first_cached_fixup
+-----------------------------------------
+
+2015-05-02 Max Filippov <jcmvbkbc@gmail.com>
+gas/
+ * config/tc-xtensa.c (cached_fixupS, fixup_cacheS): New typedefs.
+ (struct cached_fixup, struct fixup_cache): New structures.
+ (fixup_order, xtensa_make_cached_fixup),
+ (xtensa_realloc_fixup_cache, xtensa_cache_relaxable_fixups),
+ (xtensa_find_first_cached_fixup, xtensa_delete_cached_fixup),
+ (xtensa_add_cached_fixup): New functions.
+ (xtensa_relax_frag): Cache fixups pointing at potentially
+ oversized jumps at the beginning of every relaxation pass. Only
+ check subset of this cache in the reach of single jump from the
+ trampoline frag currently being relaxed.
+
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+---
+Backported from: b76f99d702c3501ac320396ea06bc7f9237173c3
+Changes to ChangeLog are dropped.
+
+ gas/config/tc-xtensa.c | 220 +++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 194 insertions(+), 26 deletions(-)
+
+diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
+index 3e85b69..31c0b6b 100644
+--- a/gas/config/tc-xtensa.c
++++ b/gas/config/tc-xtensa.c
+@@ -8785,6 +8785,154 @@ static long relax_frag_for_align (fragS *, long);
+ static long relax_frag_immed
+ (segT, fragS *, long, int, xtensa_format, int, int *, bfd_boolean);
+
++typedef struct cached_fixup cached_fixupS;
++struct cached_fixup
++{
++ int addr;
++ int target;
++ int delta;
++ fixS *fixP;
++};
++
++typedef struct fixup_cache fixup_cacheS;
++struct fixup_cache
++{
++ cached_fixupS *fixups;
++ unsigned n_fixups;
++ unsigned n_max;
++
++ segT seg;
++ fragS *first_frag;
++};
++
++static int fixup_order (const void *a, const void *b)
++{
++ const cached_fixupS *pa = a;
++ const cached_fixupS *pb = b;
++
++ if (pa->addr == pb->addr)
++ {
++ if (pa->target == pb->target)
++ {
++ if (pa->fixP->fx_r_type == pb->fixP->fx_r_type)
++ return 0;
++ return pa->fixP->fx_r_type < pb->fixP->fx_r_type ? -1 : 1;
++ }
++ return pa->target - pb->target;
++ }
++ return pa->addr - pb->addr;
++}
++
++static bfd_boolean xtensa_make_cached_fixup (cached_fixupS *o, fixS *fixP)
++{
++ xtensa_isa isa = xtensa_default_isa;
++ int addr = fixP->fx_frag->fr_address;
++ int target;
++ int delta;
++ symbolS *s = fixP->fx_addsy;
++ int slot;
++ xtensa_format fmt;
++ xtensa_opcode opcode;
++
++ if (fixP->fx_r_type < BFD_RELOC_XTENSA_SLOT0_OP ||
++ fixP->fx_r_type > BFD_RELOC_XTENSA_SLOT14_OP)
++ return FALSE;
++ target = S_GET_VALUE (s);
++ delta = target - addr;
++
++ if (abs(delta) < J_RANGE / 2)
++ return FALSE;
++
++ xtensa_insnbuf_from_chars (isa, trampoline_buf,
++ (unsigned char *) fixP->fx_frag->fr_literal +
++ fixP->fx_where, 0);
++ fmt = xtensa_format_decode (isa, trampoline_buf);
++ gas_assert (fmt != XTENSA_UNDEFINED);
++ slot = fixP->tc_fix_data.slot;
++ xtensa_format_get_slot (isa, fmt, slot, trampoline_buf, trampoline_slotbuf);
++ opcode = xtensa_opcode_decode (isa, fmt, slot, trampoline_slotbuf);
++ if (opcode != xtensa_j_opcode)
++ return FALSE;
++
++ o->addr = addr;
++ o->target = target;
++ o->delta = delta;
++ o->fixP = fixP;
++
++ return TRUE;
++}
++
++static void xtensa_realloc_fixup_cache (fixup_cacheS *cache, unsigned add)
++{
++ if (cache->n_fixups + add > cache->n_max)
++ {
++ cache->n_max = (cache->n_fixups + add) * 2;
++ cache->fixups = xrealloc (cache->fixups,
++ sizeof (*cache->fixups) * cache->n_max);
++ }
++}
++
++static void xtensa_cache_relaxable_fixups (fixup_cacheS *cache,
++ segment_info_type *seginfo)
++{
++ fixS *fixP;
++
++ cache->n_fixups = 0;
++
++ for (fixP = seginfo->fix_root; fixP ; fixP = fixP->fx_next)
++ {
++ xtensa_realloc_fixup_cache (cache, 1);
++
++ if (xtensa_make_cached_fixup (cache->fixups + cache->n_fixups, fixP))
++ ++cache->n_fixups;
++ }
++ qsort (cache->fixups, cache->n_fixups, sizeof (*cache->fixups), fixup_order);
++}
++
++static unsigned xtensa_find_first_cached_fixup (const fixup_cacheS *cache,
++ int addr)
++{
++ unsigned a = 0;
++ unsigned b = cache->n_fixups;
++
++ while (b - a > 1)
++ {
++ unsigned c = (a + b) / 2;
++
++ if (cache->fixups[c].addr < addr)
++ a = c;
++ else
++ b = c;
++ }
++ return a;
++}
++
++static void xtensa_delete_cached_fixup (fixup_cacheS *cache, unsigned i)
++{
++ memmove (cache->fixups + i, cache->fixups + i + 1,
++ (cache->n_fixups - i - 1) * sizeof (*cache->fixups));
++ --cache->n_fixups;
++}
++
++static bfd_boolean xtensa_add_cached_fixup (fixup_cacheS *cache, fixS *fixP)
++{
++ cached_fixupS o;
++ unsigned i;
++
++ if (!xtensa_make_cached_fixup (&o, fixP))
++ return FALSE;
++ xtensa_realloc_fixup_cache (cache, 1);
++ i = xtensa_find_first_cached_fixup (cache, o.addr);
++ if (i < cache->n_fixups)
++ {
++ ++i;
++ memmove (cache->fixups + i + 1, cache->fixups + i,
++ (cache->n_fixups - i) * sizeof (*cache->fixups));
++ }
++ cache->fixups[i] = o;
++ ++cache->n_fixups;
++ return TRUE;
++}
+
+ /* Return the number of bytes added to this fragment, given that the
+ input has been stretched already by "stretch". */
+@@ -8896,35 +9044,42 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
+ case RELAX_TRAMPOLINE:
+ if (fragP->tc_frag_data.relax_seen)
+ {
+- segment_info_type *seginfo = seg_info (now_seg);
+- fragS *fP; /* The out-of-range jump. */
+- fixS *fixP;
++ static fixup_cacheS fixup_cache;
++ segment_info_type *seginfo = seg_info (now_seg);
++ int trampaddr = fragP->fr_address + fragP->fr_fix;
++ int searchaddr = trampaddr < J_RANGE ? 0 : trampaddr - J_RANGE;
++ unsigned i;
++
++ if (now_seg != fixup_cache.seg ||
++ fragP == fixup_cache.first_frag ||
++ fixup_cache.first_frag == NULL)
++ {
++ xtensa_cache_relaxable_fixups (&fixup_cache, seginfo);
++ fixup_cache.seg = now_seg;
++ fixup_cache.first_frag = fragP;
++ }
+
+ /* Scan for jumps that will not reach. */
+- for (fixP = seginfo->fix_root; fixP ; fixP = fixP->fx_next)
++ for (i = xtensa_find_first_cached_fixup (&fixup_cache, searchaddr);
++ i < fixup_cache.n_fixups; ++i)
++
+ {
+- symbolS *s = fixP->fx_addsy;
+- xtensa_opcode opcode;
+- int target;
+- int addr;
+- int delta;
+-
+- if (fixP->fx_r_type < BFD_RELOC_XTENSA_SLOT0_OP ||
+- fixP->fx_r_type > BFD_RELOC_XTENSA_SLOT14_OP)
+- continue;
+- xtensa_insnbuf_from_chars (isa, trampoline_buf,
+- (unsigned char *) fixP->fx_frag->fr_literal + fixP->fx_where,
+- 0);
+- fmt = xtensa_format_decode (isa, trampoline_buf);
+- gas_assert (fmt != XTENSA_UNDEFINED);
+- slot = fixP->tc_fix_data.slot;
+- xtensa_format_get_slot (isa, fmt, slot, trampoline_buf, trampoline_slotbuf);
+- opcode = xtensa_opcode_decode (isa, fmt, slot, trampoline_slotbuf);
+- if (opcode != xtensa_j_opcode)
++ fixS *fixP = fixup_cache.fixups[i].fixP;
++ int target = fixup_cache.fixups[i].target;
++ int addr = fixup_cache.fixups[i].addr;
++ int delta = fixup_cache.fixups[i].delta + stretch;
++
++ trampaddr = fragP->fr_address + fragP->fr_fix;
++
++ if (addr + J_RANGE < trampaddr)
+ continue;
+- target = S_GET_VALUE (s);
+- addr = fixP->fx_frag->fr_address;
+- delta = target - addr + stretch;
++ if (addr > trampaddr + J_RANGE)
++ break;
++ if (abs (delta) < J_RANGE)
++ continue;
++
++ slot = fixP->tc_fix_data.slot;
++
+ if (delta > J_RANGE || delta < -1 * J_RANGE)
+ { /* Found an out-of-range jump; scan the list of trampolines for the best match. */
+ struct trampoline_seg *ts = find_trampoline_seg (now_seg);
+@@ -8978,14 +9133,13 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
+ }
+ if (tf->fragP == fragP)
+ {
+- int trampaddr = fragP->fr_address + fragP->fr_fix;
+-
+ if (abs (addr - trampaddr) < J_RANGE)
+ { /* The trampoline is in range of original; fix it! */
+ fixS *newfixP;
+ int offset;
+ TInsn insn;
+ symbolS *lsym;
++ fragS *fP; /* The out-of-range jump. */
+
+ new_stretch += init_trampoline_frag (tf);
+ offset = fragP->fr_fix; /* Where to assemble the j insn. */
+@@ -9009,10 +9163,20 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
+ newfixP->tc_fix_data.X_add_symbol = lsym;
+ newfixP->tc_fix_data.X_add_number = offset;
+ newfixP->tc_fix_data.slot = slot;
++
++ xtensa_delete_cached_fixup (&fixup_cache, i);
++ xtensa_add_cached_fixup (&fixup_cache, newfixP);
++
+ /* Move the fix-up from the original j insn to this one. */
+ fixP->fx_frag = fragP;
+ fixP->fx_where = fragP->fr_fix - 3;
+ fixP->tc_fix_data.slot = 0;
++
++ xtensa_add_cached_fixup (&fixup_cache, fixP);
++
++ /* re-do current fixup */
++ --i;
++
+ /* Adjust the jump around this trampoline (if present). */
+ if (tf->fixP != NULL)
+ {
+@@ -9027,6 +9191,8 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
+ fragP->fr_subtype = 0;
+ /* Remove from the trampoline_list. */
+ prev->next = tf->next;
++ if (fragP == fixup_cache.first_frag)
++ fixup_cache.first_frag = NULL;
+ break;
+ }
+ }
+--
+1.8.1.4
+
diff --git a/package/binutils/2.25/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch b/package/binutils/2.25/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
new file mode 100644
index 0000000000..9ad6b3be05
--- /dev/null
+++ b/package/binutils/2.25/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
@@ -0,0 +1,57 @@
+From 8ec76b16f62d1bf386fb2c39af5f66c3afddc5cb Mon Sep 17 00:00:00 2001
+From: Max Filippov <jcmvbkbc@gmail.com>
+Date: Thu, 14 May 2015 05:22:55 +0300
+Subject: [PATCH] xtensa: fix localized symbol refcounting with --gc-sections
+
+elf_xtensa_gc_sweep_hook doesn't correctly unreference symbols that were
+made local, that results in link failure with the following message:
+
+ BFD (GNU Binutils) 2.24 internal error, aborting at elf32-xtensa.c line
+ 3372 in elf_xtensa_finish_dynamic_sections
+
+elf_xtensa_gc_sweep_hook determines symbol reference type (PLT or GOT) by
+relocation type. Relocation types are not changed when symbol becomes
+local, but its PLT references are added to GOT references and
+plt.refcount is set to 0. Such symbol cannot be unreferences in the
+elf_xtensa_gc_sweep_hook and its extra references make calculated GOT
+relocations section size not match number of GOT relocations.
+
+Fix it by treating PLT reference as GOT reference when plt.refcount is
+not positive.
+
+2015-05-14 Max Filippov <jcmvbkbc@gmail.com>
+bfd/
+ * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference
+ as GOT reference when plt.refcount is not positive.
+
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+---
+Backported from: e6c9a083ec5ae7a45bd71682b26aae1939849388
+Changes to ChangeLog are dropped.
+
+ bfd/elf32-xtensa.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
+index 53af1c6..2523670 100644
+--- a/bfd/elf32-xtensa.c
++++ b/bfd/elf32-xtensa.c
+@@ -1360,10 +1360,14 @@ elf_xtensa_gc_sweep_hook (bfd *abfd,
+ {
+ if (is_plt)
+ {
++ /* If the symbol has been localized its plt.refcount got moved
++ to got.refcount. Handle it as GOT. */
+ if (h->plt.refcount > 0)
+ h->plt.refcount--;
++ else
++ is_got = TRUE;
+ }
+- else if (is_got)
++ if (is_got)
+ {
+ if (h->got.refcount > 0)
+ h->got.refcount--;
+--
+1.8.1.4
+
diff --git a/package/binutils/arc-2014.12/0001-PR-other-56780.patch b/package/binutils/arc-2014.12/0001-PR-other-56780.patch
new file mode 100644
index 0000000000..b418a2f4a9
--- /dev/null
+++ b/package/binutils/arc-2014.12/0001-PR-other-56780.patch
@@ -0,0 +1,236 @@
+From 7827cdf59a1894abe18aa20043a63c8c875c3fce Mon Sep 17 00:00:00 2001
+From: DJ Delorie <dj@redhat.com>
+Date: Sat, 1 Jun 2013 01:01:44 +0000
+Subject: [PATCH] PR other/56780 merge from gcc
+
+binutils-gdb upstream a4818a052efb4cea976a03a2f7cb0b38b23d12d0
+
+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.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4
+
+[Romain
+ rename patch name
+ squash the two upstream commits
+ Remove the ChangeLog]
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ libiberty/Makefile.in | 24 ++++++++++-----------
+ libiberty/configure | 57 +++++++++++++++++++++++++++-----------------------
+ libiberty/configure.ac | 47 ++++++++++++++++++++++-------------------
+ 3 files changed, 68 insertions(+), 60 deletions(-)
+
+diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
+index 0a5da31..4f40c72 100644
+--- a/libiberty/Makefile.in
++++ b/libiberty/Makefile.in
+@@ -354,19 +354,19 @@ install-strip: install
+ # since it will be passed the multilib flags.
+ MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
+ install_to_libdir: all
+- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR)
+- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n
+- ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n )
+- mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)
+ if test -n "${target_header_dir}"; then \
+- case "${target_header_dir}" in \
+- /*) thd=${target_header_dir};; \
+- *) thd=${includedir}/${target_header_dir};; \
+- esac; \
+- ${mkinstalldirs} $(DESTDIR)$${thd}; \
+- for h in ${INSTALLED_HEADERS}; do \
+- ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
+- done; \
++ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
++ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \
++ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \
++ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \
++ case "${target_header_dir}" in \
++ /*) thd=${target_header_dir};; \
++ *) thd=${includedir}/${target_header_dir};; \
++ esac; \
++ ${mkinstalldirs} $(DESTDIR)$${thd}; \
++ for h in ${INSTALLED_HEADERS}; do \
++ ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
++ done; \
+ fi
+ @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
+
+diff --git a/libiberty/configure b/libiberty/configure
+index 6e98352..44d1f78 100755
+--- a/libiberty/configure
++++ b/libiberty/configure
+@@ -675,8 +675,8 @@ with_cross_host
+ with_newlib
+ enable_maintainer_mode
+ enable_multilib
+-enable_largefile
+ enable_install_libiberty
++enable_largefile
+ '
+ ac_precious_vars='build_alias
+ host_alias
+@@ -1303,8 +1303,8 @@ Optional Features:
+ enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer
+ --enable-multilib build many library versions (default)
++ --enable-install-libiberty Install headers and library for end users
+ --disable-largefile omit support for large files
+- --enable-install-libiberty Install headers for end users
+
+ Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+@@ -2784,6 +2784,35 @@ if test $cross_compiling = no && test $multilib = yes \
+ cross_compiling=maybe
+ fi
+
++# We may wish to install the target headers somewhere.
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to install libiberty headers and static library" >&5
++$as_echo_n "checking whether to install libiberty headers and static library... " >&6; }
++
++# Check whether --enable-install-libiberty was given.
++if test "${enable_install_libiberty+set}" = set; then :
++ enableval=$enable_install_libiberty; enable_install_libiberty=$enableval
++else
++ enable_install_libiberty=no
++fi
++
++# Option parsed, now set things appropriately.
++case x"$enable_install_libiberty" in
++ xyes|x)
++ target_header_dir=libiberty
++ ;;
++ xno)
++ target_header_dir=
++ ;;
++ *)
++ # This could be sanity-checked in various ways...
++ target_header_dir="${enable_install_libiberty}"
++ ;;
++esac
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_install_libiberty" >&5
++$as_echo "$enable_install_libiberty" >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: target_header_dir = $target_header_dir" >&5
++$as_echo "$as_me: target_header_dir = $target_header_dir" >&6;}
++
+
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+@@ -5475,7 +5504,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
+@@ -5752,29 +5780,6 @@ _ACEOF
+
+ esac
+
+- # We may wish to install the target headers somewhere.
+- # Check whether --enable-install-libiberty was given.
+-if test "${enable_install_libiberty+set}" = set; then :
+- enableval=$enable_install_libiberty; enable_install_libiberty=$enableval
+-else
+- enable_install_libiberty=no
+-fi
+-
+- # Option parsed, now set things appropriately.
+- case x"$enable_install_libiberty" in
+- xyes|x)
+- target_header_dir=libiberty
+- ;;
+- xno)
+- target_header_dir=
+- ;;
+- *)
+- # This could be sanity-checked in various ways...
+- target_header_dir="${enable_install_libiberty}"
+- ;;
+- esac
+-
+-
+ else
+
+ # Not a target library, so we set things up to run the test suite.
+diff --git a/libiberty/configure.ac b/libiberty/configure.ac
+index 754b66a..04260ec 100644
+--- a/libiberty/configure.ac
++++ b/libiberty/configure.ac
+@@ -128,6 +128,31 @@ if test $cross_compiling = no && test $multilib = yes \
+ cross_compiling=maybe
+ fi
+
++# We may wish to install the target headers somewhere.
++AC_MSG_CHECKING([whether to install libiberty headers and static library])
++dnl install-libiberty is disabled by default
++
++AC_ARG_ENABLE(install-libiberty,
++[ --enable-install-libiberty Install headers and library for end users],
++enable_install_libiberty=$enableval,
++enable_install_libiberty=no)dnl
++
++# Option parsed, now set things appropriately.
++case x"$enable_install_libiberty" in
++ xyes|x)
++ target_header_dir=libiberty
++ ;;
++ xno)
++ target_header_dir=
++ ;;
++ *)
++ # This could be sanity-checked in various ways...
++ target_header_dir="${enable_install_libiberty}"
++ ;;
++esac
++AC_MSG_RESULT($enable_install_libiberty)
++AC_MSG_NOTICE([target_header_dir = $target_header_dir])
++
+ GCC_NO_EXECUTABLES
+ AC_PROG_CC
+ AC_SYS_LARGEFILE
+@@ -379,7 +404,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
+@@ -490,27 +514,6 @@ if test -n "${with_target_subdir}"; then
+
+ esac
+
+- # We may wish to install the target headers somewhere.
+- AC_ARG_ENABLE(install-libiberty,
+- [ --enable-install-libiberty Install headers for end users],
+- enable_install_libiberty=$enableval,
+- enable_install_libiberty=no)dnl
+-
+- # Option parsed, now set things appropriately.
+- case x"$enable_install_libiberty" in
+- xyes|x)
+- target_header_dir=libiberty
+- ;;
+- xno)
+- target_header_dir=
+- ;;
+- *)
+- # This could be sanity-checked in various ways...
+- target_header_dir="${enable_install_libiberty}"
+- ;;
+- esac
+-
+-
+ else
+
+ # Not a target library, so we set things up to run the test suite.
+--
+1.9.3
+
diff --git a/package/boost/Config.in b/package/boost/Config.in
index add7069e33..92d59c2ec1 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -1,9 +1,15 @@
comment "boost needs a toolchain w/ C++, threads"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
+config BR2_PACKAGE_BOOST_ARCH_SUPPORTS
+ bool
+ default y if !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405 && \
+ !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
+
config BR2_PACKAGE_BOOST
bool "boost"
depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
# Boost could theorically be built with threading=single, but
# that unfortunately doesn't work. Until someone fixes that,
# let's depend on threads.
@@ -93,9 +99,13 @@ comment "boost-locale needs a toolchain w/ wchar"
config BR2_PACKAGE_BOOST_LOG
bool "boost-log"
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+ # for some reason, uClibc on PowerPC fails to build the boost
+ # log module
+ depends on !(BR2_powerpc && BR2_TOOLCHAIN_USES_UCLIBC)
comment "boost-log needs a toolchain w/ NPTL"
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
+ depends on !(BR2_powerpc && BR2_TOOLCHAIN_USES_UCLIBC)
config BR2_PACKAGE_BOOST_MATH
bool "boost-math"
diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index c658628ca8..dbb5de521f 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -148,7 +148,7 @@ define HOST_BOOST_INSTALL_CMDS
endef
define BOOST_INSTALL_STAGING_CMDS
- (cd $(@D) && ./bjam -j$(PARALLEL_JOBS) -d+1 \
+ (cd $(@D) && ./bjam -j$(PARALLEL_JOBS) -q -d+1 \
--user-config=$(@D)/user-config.jam \
$(BOOST_OPTS) \
--prefix=$(STAGING_DIR)/usr \
diff --git a/package/c-periphery/Config.in b/package/c-periphery/Config.in
new file mode 100644
index 0000000000..0bfb4b1f11
--- /dev/null
+++ b/package/c-periphery/Config.in
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_C_PERIPHERY
+ bool "c-periphery"
+ help
+ c-periphery is a set of C wrapper functions for GPIO, SPI,
+ I2C, MMIO, and Serial peripheral I/O interface access in
+ userspace Linux. The c-periphery wrappers simplify and
+ consolidate the native Linux APIs to these
+ interfaces. c-periphery is useful in embedded Linux
+ environments (including BeagleBone, Raspberry Pi,
+ etc. platforms) for interfacing with external
+ peripherals. c-periphery is re-entrant, uses static
+ allocations, has no dependencies outside the standard C
+ library and Linux, compiles into a static library for easy
+ integration with other projects, and is MIT licensed.
+
+ https://github.com/vsergeev/c-periphery
diff --git a/package/c-periphery/c-periphery.mk b/package/c-periphery/c-periphery.mk
new file mode 100644
index 0000000000..68193d7995
--- /dev/null
+++ b/package/c-periphery/c-periphery.mk
@@ -0,0 +1,27 @@
+################################################################################
+#
+# c-periphery
+#
+################################################################################
+
+C_PERIPHERY_VERSION = 0fdfac3264f1dce32991f4ec30d084e34b35181d
+C_PERIPHERY_SITE = $(call github,vsergeev,c-periphery,$(C_PERIPHERY_VERSION))
+C_PERIPHERY_INSTALL_STAGING = YES
+# only a static library
+C_PERIPHERY_INSTALL_TARGET = NO
+C_PERIPHERY_LICENSE = MIT
+C_PERIPHERY_LICENSE_FILES = LICENSE
+
+define C_PERIPHERY_BUILD_CMDS
+ $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
+endef
+
+# There is no 'install' rule in the Makefile, so we handle things
+# manually.
+define C_PERIPHERY_INSTALL_STAGING_CMDS
+ $(INSTALL) -D -m 0644 $(@D)/periphery.a $(STAGING_DIR)/usr/lib/libc-periphery.a
+ mkdir -p $(STAGING_DIR)/usr/include/c-periphery/
+ cp -dpfr $(@D)/src/*.h $(STAGING_DIR)/usr/include/c-periphery/
+endef
+
+$(eval $(generic-package))
diff --git a/package/cc-tool/Config.in b/package/cc-tool/Config.in
index 5087f4acc6..be115997a3 100644
--- a/package/cc-tool/Config.in
+++ b/package/cc-tool/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_CC_TOOL
bool "cc-tool"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
select BR2_PACKAGE_LIBUSB
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
@@ -17,4 +18,5 @@ config BR2_PACKAGE_CC_TOOL
http://sourceforge.net/projects/cctool/
comment "cc-tool needs a toolchain w/ C++, threads"
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/cc-tool/cc-tool.mk b/package/cc-tool/cc-tool.mk
index 7312bd384e..3a3f85ac42 100644
--- a/package/cc-tool/cc-tool.mk
+++ b/package/cc-tool/cc-tool.mk
@@ -14,4 +14,10 @@ CC_TOOL_DEPENDENCIES = boost libusb
# Configure script "discovers" boost in /usr/local if not given explicitly
CC_TOOL_CONF_OPTS = --with-boost=$(STAGING_DIR)/usr
+# Help boost.m4 find the Boost Regex library, which needs the pthread
+# library, but isn't detected using a modern (pkg-config) mechanism.
+ifeq ($(BR2_STATIC_LIBS),y)
+CC_TOOL_CONF_ENV += LIBS="-lpthread"
+endif
+
$(eval $(autotools-package))
diff --git a/package/connman/Config.in b/package/connman/Config.in
index a887c2fba2..ba238af13d 100644
--- a/package/connman/Config.in
+++ b/package/connman/Config.in
@@ -52,6 +52,7 @@ config BR2_PACKAGE_CONNMAN_NEARD
config BR2_PACKAGE_CONNMAN_OFONO
bool "enable ofono support"
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405 # libcap-ng
select BR2_PACKAGE_OFONO
config BR2_PACKAGE_CONNMAN_DEBUG
diff --git a/package/conntrack-tools/Config.in b/package/conntrack-tools/Config.in
index 84d3fd467d..87bf2d0c50 100644
--- a/package/conntrack-tools/Config.in
+++ b/package/conntrack-tools/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_CONNTRACK_TOOLS
bool "conntrack-tools"
depends on BR2_USE_MMU # fork()
depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC || BR2_TOOLCHAIN_HAS_THREADS # libtirpc
+ depends on !BR2_STATIC_LIBS # dlopen()
select BR2_PACKAGE_LIBNETFILTER_CONNTRACK
select BR2_PACKAGE_LIBNETFILTER_CTHELPER
select BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT
@@ -15,6 +16,7 @@ config BR2_PACKAGE_CONNTRACK_TOOLS
http://www.netfilter.org/projects/conntrack-tools/
-comment "conntrack-tools needs a toolchain w/ threads"
+comment "conntrack-tools needs a toolchain w/ threads, dynamic library"
depends on BR2_USE_MMU
- depends on !(BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_HAS_NATIVE_RPC)
+ depends on !(BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_HAS_NATIVE_RPC) || \
+ BR2_STATIC_LIBS
diff --git a/package/cryptsetup/Config.in b/package/cryptsetup/Config.in
index 89cc4b5dd0..3d3c47d40c 100644
--- a/package/cryptsetup/Config.in
+++ b/package/cryptsetup/Config.in
@@ -8,6 +8,9 @@ config BR2_PACKAGE_CRYPTSETUP
depends on BR2_USE_MMU # lvm2, e2fsprogs
depends on !BR2_STATIC_LIBS # lvm2
depends on BR2_USE_WCHAR # util-linux
+ # Triggers the _gp link issue
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
help
This tool helps manipulate dm-crypt and luks partitions for
on-disk encryption.
@@ -17,3 +20,5 @@ config BR2_PACKAGE_CRYPTSETUP
comment "cryptsetup needs a toolchain w/ wchar, threads, dynamic library"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
diff --git a/package/czmq/czmq.mk b/package/czmq/czmq.mk
index d25bf01c63..3d82095094 100644
--- a/package/czmq/czmq.mk
+++ b/package/czmq/czmq.mk
@@ -10,7 +10,7 @@ CZMQ_SITE = $(call github,zeromq,czmq,$(CZMQ_VERSION))
# Autoreconf required as we use the git tree
CZMQ_AUTORECONF = YES
CZMQ_INSTALL_STAGING = YES
-CZMQ_DEPENDENCIES = zeromq
+CZMQ_DEPENDENCIES = zeromq host-pkgconf
CZMQ_LICENSE = MPLv2.0
CZMQ_LICENSE_FILES = LICENSE
diff --git a/package/dhcpcd/Config.in b/package/dhcpcd/Config.in
index f2ca0998f8..88f2e489d2 100644
--- a/package/dhcpcd/Config.in
+++ b/package/dhcpcd/Config.in
@@ -1,9 +1,11 @@
+comment "dhcpcd needs a toolchain w/ headers >= 3.1"
+ depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
+
config BR2_PACKAGE_DHCPCD
bool "dhcpcd"
# No support for AI_ADDRCONFIG
depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2
- # bad headers, no sa_family_t in linux/socket.h
- depends on !(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103 || BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009)
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1 # sa_family_t in linux/socket.h
help
An RFC2131 compliant DHCP client
diff --git a/package/directfb/directfb.hash b/package/directfb/directfb.hash
new file mode 100644
index 0000000000..a577cba06e
--- /dev/null
+++ b/package/directfb/directfb.hash
@@ -0,0 +1,2 @@
+# locally computed hash
+sha256 7a96aced0f69b2ec0810e9923068e61c21e6b19dd593e09394c872414df75e70 DirectFB-1.6.3.tar.gz
diff --git a/package/dstat/Config.in b/package/dstat/Config.in
index 63db87bc93..6536a5e544 100644
--- a/package/dstat/Config.in
+++ b/package/dstat/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_DSTAT
depends on BR2_USE_WCHAR # python
depends on BR2_USE_MMU # python
depends on BR2_TOOLCHAIN_HAS_THREADS # python
+ depends on !BR2_STATIC_LIBS # python
select BR2_PACKAGE_PYTHON
help
Dstat, written in Python, is a versatile replacement for vmstat,
@@ -21,6 +22,6 @@ config BR2_PACKAGE_DSTAT
http://dag.wieers.com/home-made/dstat/
-comment "dstat needs a toolchain w/ wchar, threads"
+comment "dstat needs a toolchain w/ wchar, threads, dynamic library"
depends on BR2_USE_MMU
- depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
diff --git a/package/duma/Config.in b/package/duma/Config.in
index 7679e647c2..b1f55faa73 100644
--- a/package/duma/Config.in
+++ b/package/duma/Config.in
@@ -6,6 +6,9 @@ config BR2_PACKAGE_DUMA
# allocations. Non-MMU platforms cannot perform such
# things.
depends on BR2_USE_MMU
+ # duma works using LD_PRELOAD, so it always needs to build a
+ # shared library
+ depends on !BR2_STATIC_LIBS
help
D.U.M.A. - Detect Unintended Memory Access. A fork of the
Electric Fence library. Detects buffer overflow and
@@ -20,6 +23,7 @@ config BR2_PACKAGE_DUMA_NO_LEAKDETECTION
endif # BR2_PACKAGE_DUMA
-comment "duma needs a toolchain w/ C++, threads"
+comment "duma needs a toolchain w/ C++, threads, dynamic library"
depends on BR2_USE_MMU
- depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
+ BR2_STATIC_LIBS
diff --git a/package/ecryptfs-utils/Config.in b/package/ecryptfs-utils/Config.in
index d243da6fd4..cb70e000ae 100644
--- a/package/ecryptfs-utils/Config.in
+++ b/package/ecryptfs-utils/Config.in
@@ -13,7 +13,7 @@ config BR2_PACKAGE_ECRYPTFS_UTILS
depends on BR2_TOOLCHAIN_HAS_THREADS # libnss -> libnspr
depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT # libnss -> libnspr
depends on !BR2_MIPS_NABI32 # libnss
- depends on !BR2_STATIC_LIBS # libnss
+ depends on !BR2_STATIC_LIBS # libnss, keyutils
help
eCryptfs is a POSIX-compliant enterprise cryptographic
filesystem for Linux. It is stacked on top of any other
diff --git a/package/efl/expedite/Config.in b/package/efl/expedite/Config.in
index ddbf020f07..1e121088ad 100644
--- a/package/efl/expedite/Config.in
+++ b/package/efl/expedite/Config.in
@@ -12,5 +12,4 @@ config BR2_PACKAGE_EXPEDITE
reproduce real world usage cases.
comment "expedite needs a toolchain w/ C++, threads"
- depends on !BR2_INSTALL_LIBSTDCPP
- depends on !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/efl/expedite/expedite.mk b/package/efl/expedite/expedite.mk
index f0361bf7b3..02a4ca08c5 100644
--- a/package/efl/expedite/expedite.mk
+++ b/package/efl/expedite/expedite.mk
@@ -11,4 +11,10 @@ EXPEDITE_LICENSE_FILES = COPYING
EXPEDITE_DEPENDENCIES = libevas libeina libeet
+ifeq ($(BR2_PACKAGE_LIBEVAS_X11),y)
+EXPEDITE_CONF_OPTS += --with-x=$(STAGING_DIR) \
+ --x-includes=$(STAGING_DIR)/usr/include \
+ --x-libraries=$(STAGING_DIR)/usr/lib
+endif
+
$(eval $(autotools-package))
diff --git a/package/efl/libelementary/Config.in b/package/efl/libelementary/Config.in
index c193ef128c..4f62592cc9 100644
--- a/package/efl/libelementary/Config.in
+++ b/package/efl/libelementary/Config.in
@@ -1,5 +1,5 @@
-comment "libelementary needs a toolchain w/ threads"
- depends on !BR2_TOOLCHAIN_HAS_THREADS
+comment "libelementary needs a toolchain w/ threads, dynamic library"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
config BR2_PACKAGE_LIBELEMENTARY
bool "libelementary"
@@ -8,6 +8,7 @@ config BR2_PACKAGE_LIBELEMENTARY
select BR2_PACKAGE_LIBECORE
select BR2_PACKAGE_LIBEDJE
depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
+ depends on !BR2_STATIC_LIBS
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/enlightenment/enlightenment.mk b/package/enlightenment/enlightenment.mk
index ddebe065a1..ac156420f6 100644
--- a/package/enlightenment/enlightenment.mk
+++ b/package/enlightenment/enlightenment.mk
@@ -34,6 +34,11 @@ ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC)$(BR2_powerpc)$(BR2_sparc),yy)
ENLIGHTENMENT_CONF_ENV += ac_cv_header_sys_ptrace_h=no
endif
+# uClibc-ng has an old incomplete sys/ptrace.h for xtensa
+ifeq ($(BR2_UCLIBC_VERSION_NG)$(BR2_xtensa),yy)
+ENLIGHTENMENT_CONF_ENV += ac_cv_header_sys_ptrace_h=no
+endif
+
# alsa backend needs mixer support
ifeq ($(BR2_PACKAGE_ALSA_LIB)$(BR2_PACKAGE_ALSA_LIB_MIXER),yy)
ENLIGHTENMENT_DEPENDENCIES += alsa-lib
diff --git a/package/exim/exim.mk b/package/exim/exim.mk
index ed309de1d6..b852793574 100644
--- a/package/exim/exim.mk
+++ b/package/exim/exim.mk
@@ -46,6 +46,8 @@ define EXIM_USE_DEFAULT_CONFIG_FILE
$(call exim-config-change,PCRE_CONFIG,no)
$(call exim-config-change,HAVE_ICONV,no)
$(call exim-config-unset,EXIM_MONITOR)
+ $(call exim-config-change,AUTH_PLAINTEXT,yes)
+ $(call exim-config-change,AUTH_CRAM_MD5,yes)
endef
ifeq ($(BR2_PACKAGE_DOVECOT),y)
diff --git a/package/fbterm/fbterm.mk b/package/fbterm/fbterm.mk
index 7e9d32441c..d78d6b75af 100644
--- a/package/fbterm/fbterm.mk
+++ b/package/fbterm/fbterm.mk
@@ -10,4 +10,10 @@ FBTERM_LICENSE = GPLv2+
FBTERM_LICENSE_FILES = COPYING
FBTERM_DEPENDENCIES = fontconfig liberation
+ifeq ($(BR2_STATIC_LIBS)$(BR2_TOOLCHAIN_HAS_THREADS),yy)
+# fontconfig uses pthreads if available, but fbterm forgets to link
+# with it breaking static builds
+FBTERM_CONF_ENV += LIBS='-lpthread'
+endif
+
$(eval $(autotools-package))
diff --git a/package/fio/Config.in b/package/fio/Config.in
index 75af6a7906..b1f90456e1 100644
--- a/package/fio/Config.in
+++ b/package/fio/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_FIO
bool "fio"
depends on BR2_USE_MMU # fork()
+ depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HAS_THREADS
# fio uses posix_madvise(), which is not part of any official
# release of uClibc, but is part of uClibc Git, and backported
@@ -17,7 +18,7 @@ config BR2_PACKAGE_FIO
http://git.kernel.dk/?p=fio.git;a=summary
-comment "fio needs a toolchain w/ threads"
- depends on !BR2_TOOLCHAIN_HAS_THREADS
+comment "fio needs a toolchain w/ dynamic library, threads"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
depends on !BR2_nios2
depends on BR2_USE_MMU
diff --git a/package/flite/flite.hash b/package/flite/flite.hash
new file mode 100644
index 0000000000..e4dd0c633b
--- /dev/null
+++ b/package/flite/flite.hash
@@ -0,0 +1,2 @@
+# locally computed hash
+sha256 45c662160aeca6560589f78daf42ab62c6111dd4d244afc28118c4e6f553cd0c flite-1.4-release.tar.bz2
diff --git a/package/freerdp/0003-dont-use-unavailable-c99-math.patch b/package/freerdp/0003-dont-use-unavailable-c99-math.patch
new file mode 100644
index 0000000000..1e23c0d0b6
--- /dev/null
+++ b/package/freerdp/0003-dont-use-unavailable-c99-math.patch
@@ -0,0 +1,95 @@
+From c0d27019745184052bd428ba74a50de96053cea1 Mon Sep 17 00:00:00 2001
+From: Baruch Siach <baruch@tkos.co.il>
+Date: Sun, 3 May 2015 20:46:22 +0300
+Subject: [PATCH] Don't use unavailable C99 long double math functions
+
+uClibc variants do not provide the C99 long double math functions like ceill,
+powl, etc.. For future compatibility use check_symbol_exists() to check
+whether these functions are available, and keep the result in
+HAVE_MATH_C99_LONG_DOUBLE. Use that instead of the fragile Cygwin version
+check in triodef.h.
+
+Fixes build failures under uClibc(-ng) like:
+
+../../libwinpr/utils/libwinpr-utils.so.0.1.0: undefined reference to `powl'
+../../libwinpr/utils/libwinpr-utils.so.0.1.0: undefined reference to `fmodl'
+../../libwinpr/utils/libwinpr-utils.so.0.1.0: undefined reference to `ceill'
+../../libwinpr/utils/libwinpr-utils.so.0.1.0: undefined reference to `log10l'
+../../libwinpr/utils/libwinpr-utils.so.0.1.0: undefined reference to `floorl'
+collect2: error: ld returned 1 exit status
+
+Backported from upstream commit
+https://github.com/FreeRDP/FreeRDP/commit/414663cc363108cb71a290de1c86a1b04384fb39
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+ CMakeLists.txt | 3 +++
+ config.h.in | 1 +
+ winpr/libwinpr/utils/trio/triodef.h | 25 ++++++-------------------
+ 3 files changed, 10 insertions(+), 19 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5b7887601aa0..177e44cfff10 100755
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -279,6 +279,9 @@ if(UNIX OR CYGWIN)
+ if (HAVE_EVENTFD_H)
+ check_symbol_exists(eventfd_read sys/eventfd.h WITH_EVENTFD_READ_WRITE)
+ endif()
++ list(APPEND CMAKE_REQUIRED_LIBRARIES m)
++ check_symbol_exists(ceill math.h HAVE_MATH_C99_LONG_DOUBLE)
++ list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES m)
+ set(X11_FEATURE_TYPE "RECOMMENDED")
+ else()
+ set(X11_FEATURE_TYPE "DISABLED")
+diff --git a/config.h.in b/config.h.in
+index 55c595d0e162..983310d5b9e6 100755
+--- a/config.h.in
++++ b/config.h.in
+@@ -34,6 +34,7 @@
+ #cmakedefine WITH_WIN8
+ #cmakedefine WITH_RDPSND_DSOUND
+ #cmakedefine WITH_EVENTFD_READ_WRITE
++#cmakedefine HAVE_MATH_C99_LONG_DOUBLE
+
+ /* Plugins */
+ #cmakedefine STATIC_CHANNELS
+diff --git a/winpr/libwinpr/utils/trio/triodef.h b/winpr/libwinpr/utils/trio/triodef.h
+index 11c14b9c42c7..2a0479526f33 100644
+--- a/winpr/libwinpr/utils/trio/triodef.h
++++ b/winpr/libwinpr/utils/trio/triodef.h
+@@ -313,25 +313,12 @@ typedef void * trio_pointer_t;
+ # define TRIO_COMPILER_SUPPORTS_LL
+ #endif
+
+-#if defined(__CYGWIN__)
+-/*
+- * Cygwin defines the macros for hosted C99, but does not support certain
+- * long double math functions.
+- */
+-# include <cygwin/version.h>
+-# define TRIO_CYGWIN_VERSION_API CYGWIN_VERSION_API_MAJOR * 1000 + \
+- CYGWIN_VERSION_API_MINOR
+-/*
+- * Please change the version number below when the Cygwin API supports
+- * long double math functions (powl, fmodl, etc.)
+- */
+-# if TRIO_CYGWIN_VERSION_API < 99999999
+-# define TRIO_NO_FLOORL 1
+-# define TRIO_NO_CEILL 1
+-# define TRIO_NO_POWL 1
+-# define TRIO_NO_FMODL 1
+-# define TRIO_NO_LOG10L 1
+-# endif
++#if !defined(HAVE_MATH_C99_LONG_DOUBLE)
++# define TRIO_NO_FLOORL 1
++# define TRIO_NO_CEILL 1
++# define TRIO_NO_POWL 1
++# define TRIO_NO_FMODL 1
++# define TRIO_NO_LOG10L 1
+ #endif
+
+ #endif /* TRIO_TRIODEF_H */
+--
+2.1.4
+
diff --git a/package/freerdp/Config.in b/package/freerdp/Config.in
index 2e879b47e1..f7d6550956 100644
--- a/package/freerdp/Config.in
+++ b/package/freerdp/Config.in
@@ -5,6 +5,8 @@ config BR2_PACKAGE_FREERDP
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_ZLIB
+ select BR2_PACKAGE_GST_PLUGINS_BASE if BR2_PACKAGE_GSTREAMER
+ select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP if BR2_PACKAGE_GSTREAMER
help
FreeRDP is a free implementation of the Remote Desktop
Protocol (RDP), released under the Apache license
diff --git a/package/freerdp/freerdp.mk b/package/freerdp/freerdp.mk
index c7c933e177..0d10ef8530 100644
--- a/package/freerdp/freerdp.mk
+++ b/package/freerdp/freerdp.mk
@@ -17,7 +17,8 @@ FREERDP_CONF_OPTS = -DWITH_MANPAGES=OFF -Wno-dev
ifeq ($(BR2_PACKAGE_GSTREAMER),y)
FREERDP_CONF_OPTS += -DWITH_GSTREAMER=ON
-FREERDP_DEPENDENCIES += gstreamer
+# freerdp needs gstinterface and gstapp from gst-plugins-base
+FREERDP_DEPENDENCIES += gstreamer gst-plugins-base
else
FREERDP_CONF_OPTS += -DWITH_GSTREAMER=OFF
endif
diff --git a/package/gcc/4.7.4/111-pr65730.patch b/package/gcc/4.7.4/111-pr65730.patch
new file mode 100644
index 0000000000..f195e308da
--- /dev/null
+++ b/package/gcc/4.7.4/111-pr65730.patch
@@ -0,0 +1,37 @@
+From b9a7775674d91c7af8043a83211ffeaa576327d7 Mon Sep 17 00:00:00 2001
+From: Max Filippov <jcmvbkbc@gmail.com>
+Date: Fri, 10 Apr 2015 17:46:30 +0300
+Subject: [PATCH] Fix PR target/65730
+
+2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
+gcc/
+ * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
+ by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
+
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+---
+Backported from: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223452
+Changes to ChangeLog are dropped.
+
+ gcc/config/xtensa/xtensa.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
+index eb039ba..7296e36 100644
+--- a/gcc/config/xtensa/xtensa.c
++++ b/gcc/config/xtensa/xtensa.c
+@@ -1461,8 +1461,9 @@ init_alignment_context (struct alignment_context *ac, rtx mem)
+ if (ac->shift != NULL_RTX)
+ {
+ /* Shift is the byte count, but we need the bitcount. */
+- ac->shift = expand_simple_binop (SImode, MULT, ac->shift,
+- GEN_INT (BITS_PER_UNIT),
++ gcc_assert (exact_log2 (BITS_PER_UNIT) >= 0);
++ ac->shift = expand_simple_binop (SImode, ASHIFT, ac->shift,
++ GEN_INT (exact_log2 (BITS_PER_UNIT)),
+ NULL_RTX, 1, OPTAB_DIRECT);
+ ac->modemask = expand_simple_binop (SImode, ASHIFT,
+ GEN_INT (GET_MODE_MASK (mode)),
+--
+1.8.1.4
+
diff --git a/package/gcc/4.8.4/111-pr65730.patch b/package/gcc/4.8.4/111-pr65730.patch
new file mode 100644
index 0000000000..f195e308da
--- /dev/null
+++ b/package/gcc/4.8.4/111-pr65730.patch
@@ -0,0 +1,37 @@
+From b9a7775674d91c7af8043a83211ffeaa576327d7 Mon Sep 17 00:00:00 2001
+From: Max Filippov <jcmvbkbc@gmail.com>
+Date: Fri, 10 Apr 2015 17:46:30 +0300
+Subject: [PATCH] Fix PR target/65730
+
+2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
+gcc/
+ * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
+ by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
+
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+---
+Backported from: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223452
+Changes to ChangeLog are dropped.
+
+ gcc/config/xtensa/xtensa.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
+index eb039ba..7296e36 100644
+--- a/gcc/config/xtensa/xtensa.c
++++ b/gcc/config/xtensa/xtensa.c
+@@ -1461,8 +1461,9 @@ init_alignment_context (struct alignment_context *ac, rtx mem)
+ if (ac->shift != NULL_RTX)
+ {
+ /* Shift is the byte count, but we need the bitcount. */
+- ac->shift = expand_simple_binop (SImode, MULT, ac->shift,
+- GEN_INT (BITS_PER_UNIT),
++ gcc_assert (exact_log2 (BITS_PER_UNIT) >= 0);
++ ac->shift = expand_simple_binop (SImode, ASHIFT, ac->shift,
++ GEN_INT (exact_log2 (BITS_PER_UNIT)),
+ NULL_RTX, 1, OPTAB_DIRECT);
+ ac->modemask = expand_simple_binop (SImode, ASHIFT,
+ GEN_INT (GET_MODE_MASK (mode)),
+--
+1.8.1.4
+
diff --git a/package/gcc/4.8.4/851-PR-other-56780.patch b/package/gcc/4.8.4/851-PR-other-56780.patch
new file mode 100644
index 0000000000..feb433920d
--- /dev/null
+++ b/package/gcc/4.8.4/851-PR-other-56780.patch
@@ -0,0 +1,244 @@
+From afe990251bd9b3a063f03da31a3b8d139d033bc3 Mon Sep 17 00:00:00 2001
+From: ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Sat, 1 Jun 2013 00:20:49 +0000
+Subject: [PATCH] PR other/56780
+
+* libiberty/configure.ac: Move test for --enable-install-libiberty
+outside of the 'with_target_subdir' test so that it actually gets
+run. Add output messages to show the test result.
+* libiberty/configure: Regenerate.
+* libiberty/Makefile.in (install_to_libdir): Place the
+installation of the libiberty library in the same guard as that
+used for the headers to prevent it being installed unless
+requested via --enable-install-libiberty.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199570 138bc75d-0d04-0410-961f-82ee72b054a4
+
+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.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4
+
+[Romain
+ squash the two upstream commits
+ Remove the ChangeLog]
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ libiberty/Makefile.in | 24 ++++++++++-----------
+ libiberty/configure | 57 +++++++++++++++++++++++++++-----------------------
+ libiberty/configure.ac | 47 ++++++++++++++++++++++-------------------
+ 3 files changed, 68 insertions(+), 60 deletions(-)
+
+diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
+index f6a3ebd..75ff82d 100644
+--- a/libiberty/Makefile.in
++++ b/libiberty/Makefile.in
+@@ -355,19 +355,19 @@ install-strip: install
+ # since it will be passed the multilib flags.
+ MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
+ install_to_libdir: all
+- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR)
+- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n
+- ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n )
+- mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)
+ if test -n "${target_header_dir}"; then \
+- case "${target_header_dir}" in \
+- /*) thd=${target_header_dir};; \
+- *) thd=${includedir}/${target_header_dir};; \
+- esac; \
+- ${mkinstalldirs} $(DESTDIR)$${thd}; \
+- for h in ${INSTALLED_HEADERS}; do \
+- ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
+- done; \
++ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
++ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \
++ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \
++ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \
++ case "${target_header_dir}" in \
++ /*) thd=${target_header_dir};; \
++ *) thd=${includedir}/${target_header_dir};; \
++ esac; \
++ ${mkinstalldirs} $(DESTDIR)$${thd}; \
++ for h in ${INSTALLED_HEADERS}; do \
++ ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
++ done; \
+ fi
+ @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
+
+diff --git a/libiberty/configure b/libiberty/configure
+index 5367027..4feb95a 100755
+--- a/libiberty/configure
++++ b/libiberty/configure
+@@ -675,8 +675,8 @@ with_cross_host
+ with_newlib
+ enable_maintainer_mode
+ enable_multilib
+-enable_largefile
+ enable_install_libiberty
++enable_largefile
+ '
+ ac_precious_vars='build_alias
+ host_alias
+@@ -1303,8 +1303,8 @@ Optional Features:
+ enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer
+ --enable-multilib build many library versions (default)
++ --enable-install-libiberty Install headers and library for end users
+ --disable-largefile omit support for large files
+- --enable-install-libiberty Install headers for end users
+
+ Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+@@ -2784,6 +2784,35 @@ if test $cross_compiling = no && test $multilib = yes \
+ cross_compiling=maybe
+ fi
+
++# We may wish to install the target headers somewhere.
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to install libiberty headers and static library" >&5
++$as_echo_n "checking whether to install libiberty headers and static library... " >&6; }
++
++# Check whether --enable-install-libiberty was given.
++if test "${enable_install_libiberty+set}" = set; then :
++ enableval=$enable_install_libiberty; enable_install_libiberty=$enableval
++else
++ enable_install_libiberty=no
++fi
++
++# Option parsed, now set things appropriately.
++case x"$enable_install_libiberty" in
++ xyes|x)
++ target_header_dir=libiberty
++ ;;
++ xno)
++ target_header_dir=
++ ;;
++ *)
++ # This could be sanity-checked in various ways...
++ target_header_dir="${enable_install_libiberty}"
++ ;;
++esac
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_install_libiberty" >&5
++$as_echo "$enable_install_libiberty" >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: target_header_dir = $target_header_dir" >&5
++$as_echo "$as_me: target_header_dir = $target_header_dir" >&6;}
++
+
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+@@ -5476,7 +5505,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
+@@ -5759,29 +5787,6 @@ _ACEOF
+
+ esac
+
+- # We may wish to install the target headers somewhere.
+- # Check whether --enable-install-libiberty was given.
+-if test "${enable_install_libiberty+set}" = set; then :
+- enableval=$enable_install_libiberty; enable_install_libiberty=$enableval
+-else
+- enable_install_libiberty=no
+-fi
+-
+- # Option parsed, now set things appropriately.
+- case x"$enable_install_libiberty" in
+- xyes|x)
+- target_header_dir=libiberty
+- ;;
+- xno)
+- target_header_dir=
+- ;;
+- *)
+- # This could be sanity-checked in various ways...
+- target_header_dir="${enable_install_libiberty}"
+- ;;
+- esac
+-
+-
+ else
+
+ # Not a target library, so we set things up to run the test suite.
+diff --git a/libiberty/configure.ac b/libiberty/configure.ac
+index c763894..f17e6b6 100644
+--- a/libiberty/configure.ac
++++ b/libiberty/configure.ac
+@@ -128,6 +128,31 @@ if test $cross_compiling = no && test $multilib = yes \
+ cross_compiling=maybe
+ fi
+
++# We may wish to install the target headers somewhere.
++AC_MSG_CHECKING([whether to install libiberty headers and static library])
++dnl install-libiberty is disabled by default
++
++AC_ARG_ENABLE(install-libiberty,
++[ --enable-install-libiberty Install headers and library for end users],
++enable_install_libiberty=$enableval,
++enable_install_libiberty=no)dnl
++
++# Option parsed, now set things appropriately.
++case x"$enable_install_libiberty" in
++ xyes|x)
++ target_header_dir=libiberty
++ ;;
++ xno)
++ target_header_dir=
++ ;;
++ *)
++ # This could be sanity-checked in various ways...
++ target_header_dir="${enable_install_libiberty}"
++ ;;
++esac
++AC_MSG_RESULT($enable_install_libiberty)
++AC_MSG_NOTICE([target_header_dir = $target_header_dir])
++
+ GCC_NO_EXECUTABLES
+ AC_PROG_CC
+ AC_SYS_LARGEFILE
+@@ -380,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
+@@ -492,27 +516,6 @@ if test -n "${with_target_subdir}"; then
+
+ esac
+
+- # We may wish to install the target headers somewhere.
+- AC_ARG_ENABLE(install-libiberty,
+- [ --enable-install-libiberty Install headers for end users],
+- enable_install_libiberty=$enableval,
+- enable_install_libiberty=no)dnl
+-
+- # Option parsed, now set things appropriately.
+- case x"$enable_install_libiberty" in
+- xyes|x)
+- target_header_dir=libiberty
+- ;;
+- xno)
+- target_header_dir=
+- ;;
+- *)
+- # This could be sanity-checked in various ways...
+- target_header_dir="${enable_install_libiberty}"
+- ;;
+- esac
+-
+-
+ else
+
+ # Not a target library, so we set things up to run the test suite.
+--
+1.9.3
+
diff --git a/package/gcc/4.9.2/111-pr65730.patch b/package/gcc/4.9.2/111-pr65730.patch
new file mode 100644
index 0000000000..f195e308da
--- /dev/null
+++ b/package/gcc/4.9.2/111-pr65730.patch
@@ -0,0 +1,37 @@
+From b9a7775674d91c7af8043a83211ffeaa576327d7 Mon Sep 17 00:00:00 2001
+From: Max Filippov <jcmvbkbc@gmail.com>
+Date: Fri, 10 Apr 2015 17:46:30 +0300
+Subject: [PATCH] Fix PR target/65730
+
+2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
+gcc/
+ * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
+ by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
+
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+---
+Backported from: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223452
+Changes to ChangeLog are dropped.
+
+ gcc/config/xtensa/xtensa.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
+index eb039ba..7296e36 100644
+--- a/gcc/config/xtensa/xtensa.c
++++ b/gcc/config/xtensa/xtensa.c
+@@ -1461,8 +1461,9 @@ init_alignment_context (struct alignment_context *ac, rtx mem)
+ if (ac->shift != NULL_RTX)
+ {
+ /* Shift is the byte count, but we need the bitcount. */
+- ac->shift = expand_simple_binop (SImode, MULT, ac->shift,
+- GEN_INT (BITS_PER_UNIT),
++ gcc_assert (exact_log2 (BITS_PER_UNIT) >= 0);
++ ac->shift = expand_simple_binop (SImode, ASHIFT, ac->shift,
++ GEN_INT (exact_log2 (BITS_PER_UNIT)),
+ NULL_RTX, 1, OPTAB_DIRECT);
+ ac->modemask = expand_simple_binop (SImode, ASHIFT,
+ GEN_INT (GET_MODE_MASK (mode)),
+--
+1.8.1.4
+
diff --git a/package/gcc/arc-2014.12/851-PR-other-56780.patch b/package/gcc/arc-2014.12/851-PR-other-56780.patch
new file mode 100644
index 0000000000..feb433920d
--- /dev/null
+++ b/package/gcc/arc-2014.12/851-PR-other-56780.patch
@@ -0,0 +1,244 @@
+From afe990251bd9b3a063f03da31a3b8d139d033bc3 Mon Sep 17 00:00:00 2001
+From: ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Sat, 1 Jun 2013 00:20:49 +0000
+Subject: [PATCH] PR other/56780
+
+* libiberty/configure.ac: Move test for --enable-install-libiberty
+outside of the 'with_target_subdir' test so that it actually gets
+run. Add output messages to show the test result.
+* libiberty/configure: Regenerate.
+* libiberty/Makefile.in (install_to_libdir): Place the
+installation of the libiberty library in the same guard as that
+used for the headers to prevent it being installed unless
+requested via --enable-install-libiberty.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199570 138bc75d-0d04-0410-961f-82ee72b054a4
+
+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.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4
+
+[Romain
+ squash the two upstream commits
+ Remove the ChangeLog]
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ libiberty/Makefile.in | 24 ++++++++++-----------
+ libiberty/configure | 57 +++++++++++++++++++++++++++-----------------------
+ libiberty/configure.ac | 47 ++++++++++++++++++++++-------------------
+ 3 files changed, 68 insertions(+), 60 deletions(-)
+
+diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
+index f6a3ebd..75ff82d 100644
+--- a/libiberty/Makefile.in
++++ b/libiberty/Makefile.in
+@@ -355,19 +355,19 @@ install-strip: install
+ # since it will be passed the multilib flags.
+ MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
+ install_to_libdir: all
+- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR)
+- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n
+- ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n )
+- mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)
+ if test -n "${target_header_dir}"; then \
+- case "${target_header_dir}" in \
+- /*) thd=${target_header_dir};; \
+- *) thd=${includedir}/${target_header_dir};; \
+- esac; \
+- ${mkinstalldirs} $(DESTDIR)$${thd}; \
+- for h in ${INSTALLED_HEADERS}; do \
+- ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
+- done; \
++ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
++ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \
++ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \
++ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \
++ case "${target_header_dir}" in \
++ /*) thd=${target_header_dir};; \
++ *) thd=${includedir}/${target_header_dir};; \
++ esac; \
++ ${mkinstalldirs} $(DESTDIR)$${thd}; \
++ for h in ${INSTALLED_HEADERS}; do \
++ ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
++ done; \
+ fi
+ @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
+
+diff --git a/libiberty/configure b/libiberty/configure
+index 5367027..4feb95a 100755
+--- a/libiberty/configure
++++ b/libiberty/configure
+@@ -675,8 +675,8 @@ with_cross_host
+ with_newlib
+ enable_maintainer_mode
+ enable_multilib
+-enable_largefile
+ enable_install_libiberty
++enable_largefile
+ '
+ ac_precious_vars='build_alias
+ host_alias
+@@ -1303,8 +1303,8 @@ Optional Features:
+ enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer
+ --enable-multilib build many library versions (default)
++ --enable-install-libiberty Install headers and library for end users
+ --disable-largefile omit support for large files
+- --enable-install-libiberty Install headers for end users
+
+ Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+@@ -2784,6 +2784,35 @@ if test $cross_compiling = no && test $multilib = yes \
+ cross_compiling=maybe
+ fi
+
++# We may wish to install the target headers somewhere.
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to install libiberty headers and static library" >&5
++$as_echo_n "checking whether to install libiberty headers and static library... " >&6; }
++
++# Check whether --enable-install-libiberty was given.
++if test "${enable_install_libiberty+set}" = set; then :
++ enableval=$enable_install_libiberty; enable_install_libiberty=$enableval
++else
++ enable_install_libiberty=no
++fi
++
++# Option parsed, now set things appropriately.
++case x"$enable_install_libiberty" in
++ xyes|x)
++ target_header_dir=libiberty
++ ;;
++ xno)
++ target_header_dir=
++ ;;
++ *)
++ # This could be sanity-checked in various ways...
++ target_header_dir="${enable_install_libiberty}"
++ ;;
++esac
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_install_libiberty" >&5
++$as_echo "$enable_install_libiberty" >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: target_header_dir = $target_header_dir" >&5
++$as_echo "$as_me: target_header_dir = $target_header_dir" >&6;}
++
+
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+@@ -5476,7 +5505,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
+@@ -5759,29 +5787,6 @@ _ACEOF
+
+ esac
+
+- # We may wish to install the target headers somewhere.
+- # Check whether --enable-install-libiberty was given.
+-if test "${enable_install_libiberty+set}" = set; then :
+- enableval=$enable_install_libiberty; enable_install_libiberty=$enableval
+-else
+- enable_install_libiberty=no
+-fi
+-
+- # Option parsed, now set things appropriately.
+- case x"$enable_install_libiberty" in
+- xyes|x)
+- target_header_dir=libiberty
+- ;;
+- xno)
+- target_header_dir=
+- ;;
+- *)
+- # This could be sanity-checked in various ways...
+- target_header_dir="${enable_install_libiberty}"
+- ;;
+- esac
+-
+-
+ else
+
+ # Not a target library, so we set things up to run the test suite.
+diff --git a/libiberty/configure.ac b/libiberty/configure.ac
+index c763894..f17e6b6 100644
+--- a/libiberty/configure.ac
++++ b/libiberty/configure.ac
+@@ -128,6 +128,31 @@ if test $cross_compiling = no && test $multilib = yes \
+ cross_compiling=maybe
+ fi
+
++# We may wish to install the target headers somewhere.
++AC_MSG_CHECKING([whether to install libiberty headers and static library])
++dnl install-libiberty is disabled by default
++
++AC_ARG_ENABLE(install-libiberty,
++[ --enable-install-libiberty Install headers and library for end users],
++enable_install_libiberty=$enableval,
++enable_install_libiberty=no)dnl
++
++# Option parsed, now set things appropriately.
++case x"$enable_install_libiberty" in
++ xyes|x)
++ target_header_dir=libiberty
++ ;;
++ xno)
++ target_header_dir=
++ ;;
++ *)
++ # This could be sanity-checked in various ways...
++ target_header_dir="${enable_install_libiberty}"
++ ;;
++esac
++AC_MSG_RESULT($enable_install_libiberty)
++AC_MSG_NOTICE([target_header_dir = $target_header_dir])
++
+ GCC_NO_EXECUTABLES
+ AC_PROG_CC
+ AC_SYS_LARGEFILE
+@@ -380,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
+@@ -492,27 +516,6 @@ if test -n "${with_target_subdir}"; then
+
+ esac
+
+- # We may wish to install the target headers somewhere.
+- AC_ARG_ENABLE(install-libiberty,
+- [ --enable-install-libiberty Install headers for end users],
+- enable_install_libiberty=$enableval,
+- enable_install_libiberty=no)dnl
+-
+- # Option parsed, now set things appropriately.
+- case x"$enable_install_libiberty" in
+- xyes|x)
+- target_header_dir=libiberty
+- ;;
+- xno)
+- target_header_dir=
+- ;;
+- *)
+- # This could be sanity-checked in various ways...
+- target_header_dir="${enable_install_libiberty}"
+- ;;
+- esac
+-
+-
+ else
+
+ # Not a target library, so we set things up to run the test suite.
+--
+1.9.3
+
diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk
index d873aa65b0..8d7009bbad 100644
--- a/package/gcc/gcc-final/gcc-final.mk
+++ b/package/gcc/gcc-final/gcc-final.mk
@@ -185,4 +185,8 @@ endef
HOST_GCC_FINAL_POST_INSTALL_HOOKS += HOST_GCC_FINAL_INSTALL_USR_LIBS
endif
+ifeq ($(BR2_xtensa),y)
+HOST_GCC_FINAL_CONF_OPTS += --enable-cxx-flags="$(TARGET_ABI)"
+endif
+
$(eval $(host-autotools-package))
diff --git a/package/gdk-pixbuf/gdk-pixbuf.mk b/package/gdk-pixbuf/gdk-pixbuf.mk
index 0977d92c03..eb30215d79 100644
--- a/package/gdk-pixbuf/gdk-pixbuf.mk
+++ b/package/gdk-pixbuf/gdk-pixbuf.mk
@@ -33,7 +33,9 @@ endif
ifneq ($(BR2_PACKAGE_TIFF),y)
GDK_PIXBUF_CONF_OPTS += --without-libtiff
else
-GDK_PIXBUF_DEPENDENCIES += tiff
+GDK_PIXBUF_DEPENDENCIES += tiff host-pkgconf
+GDK_PIXBUF_CONF_ENV += \
+ LIBS='$(shell $(PKG_CONFIG_HOST_BINARY) --libs libtiff-4)'
endif
ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
diff --git a/package/giflib/Config.in b/package/giflib/Config.in
index 70368dcc70..fc1f85d093 100644
--- a/package/giflib/Config.in
+++ b/package/giflib/Config.in
@@ -1,8 +1,6 @@
config BR2_PACKAGE_GIFLIB
bool "giflib"
help
- giflib is a library for reading and writing gif images. It is API and
- ABI compatible with libungif which was in wide use while the LZW
- compression algorithm was patented.
+ giflib is a library for reading and writing gif images.
http://sourceforge.net/projects/giflib
diff --git a/package/gnuchess/0001-fix-static-build-with-uClibc.patch b/package/gnuchess/0001-fix-static-build-with-uClibc.patch
new file mode 100644
index 0000000000..20a0835e6d
--- /dev/null
+++ b/package/gnuchess/0001-fix-static-build-with-uClibc.patch
@@ -0,0 +1,47 @@
+From 5bb2bc6384024c2344ef5cc6785131b382c38170 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@openwide.fr>
+Date: Sun, 10 May 2015 22:19:03 +0200
+Subject: [PATCH] fix static build with uClibc
+
+uClibc doesn't provide lintl which should be provided
+by gettext. If gnuchess is linked statically, -lintl should
+be placed after libfrontend.a libadapter.a libengine.a.
+
+Fixes:
+http://autobuild.buildroot.net/results/dcb/dcb1c0eb7212bd8d1e0d8b51fd517b73b7569cea/
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ src/Makefile.am | 2 +-
+ src/Makefile.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index ba90bce..fc02543 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -34,7 +34,7 @@ DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
+ DISTCLEANFILES = *~
+
+ SUBDIRS = frontend adapter engine
+-gnuchess_LDADD = $(LIBINTL) frontend/libfrontend.a adapter/libadapter.a engine/libengine.a
++gnuchess_LDADD = frontend/libfrontend.a adapter/libadapter.a engine/libengine.a $(LIBINTL)
+
+ configmake.h: Makefile
+ rm -f $@-t $@
+diff --git a/src/Makefile.in b/src/Makefile.in
+index 9460bfd..424da52 100644
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -395,7 +395,7 @@ AM_LDFLAGS = $(PTHREAD_LDFLAGS) $(PTHREAD_LIBS)
+ AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_builddir)/lib
+ DISTCLEANFILES = *~
+ SUBDIRS = frontend adapter engine
+-gnuchess_LDADD = $(LIBINTL) frontend/libfrontend.a adapter/libadapter.a engine/libengine.a
++gnuchess_LDADD = frontend/libfrontend.a adapter/libadapter.a engine/libengine.a $(LIBINTL)
+ BUILT_SOURCES = configmake.h
+ CLEANFILES = configmake.h configmake.h-t
+ all: $(BUILT_SOURCES) config.h
+--
+1.9.3
+
diff --git a/package/gnuchess/Config.in b/package/gnuchess/Config.in
index aa446f4b22..4993b1adf0 100644
--- a/package/gnuchess/Config.in
+++ b/package/gnuchess/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_GNUCHESS
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_FLEX
+ select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
help
GNU Chess lets most modern computers play a full game of chess.
diff --git a/package/gnuchess/gnuchess.hash b/package/gnuchess/gnuchess.hash
new file mode 100644
index 0000000000..26342bccd3
--- /dev/null
+++ b/package/gnuchess/gnuchess.hash
@@ -0,0 +1,2 @@
+# sha256 locally computed
+sha256 17caab725539447bcb17a14b17905242cbf287087e53a6777524feb7bbaeed06 gnuchess-6.2.1.tar.gz
diff --git a/package/gnuchess/gnuchess.mk b/package/gnuchess/gnuchess.mk
index 48e8bc8965..0555cb17b4 100644
--- a/package/gnuchess/gnuchess.mk
+++ b/package/gnuchess/gnuchess.mk
@@ -10,6 +10,7 @@ GNUCHESS_LICENSE = GPLv2+
GNUCHESS_LICENSE_FILES = COPYING
GNUCHESS_DEPENDENCIES = host-flex flex
-GNUCHESS_DEPENDENCIES += $(if $(BR2_PACKAGE_READLINE),readline)
+GNUCHESS_DEPENDENCIES += $(if $(BR2_PACKAGE_READLINE),readline) \
+ $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
$(eval $(autotools-package))
diff --git a/package/gnuradio/Config.in b/package/gnuradio/Config.in
index 752a50b2da..574eab46fd 100644
--- a/package/gnuradio/Config.in
+++ b/package/gnuradio/Config.in
@@ -1,5 +1,6 @@
comment "gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library"
depends on BR2_USE_MMU
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
@@ -10,6 +11,7 @@ config BR2_PACKAGE_GNURADIO
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_USE_MMU # use fork()
depends on BR2_USE_WCHAR # boost
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_DATE_TIME
select BR2_PACKAGE_BOOST_FILESYSTEM
diff --git a/package/google-breakpad/0001-add-missing-asm-ptrace-include.patch b/package/google-breakpad/0001-add-missing-asm-ptrace-include.patch
new file mode 100644
index 0000000000..281c7a042a
--- /dev/null
+++ b/package/google-breakpad/0001-add-missing-asm-ptrace-include.patch
@@ -0,0 +1,31 @@
+Include <asm/ptrace.h> to get necessary definitions on AArch64
+
+In glibc commit
+https://sourceware.org/git/?p=glibc.git;a=commit;h=7d05a8168b45c0580e1f9a79c2dd26c8f0d31fca,
+including <asm/ptrace.h> from <sys/user.h> on AArch64 has been
+removed. So the Google Breakpad code, which used to build fine on
+glibc 2.18 (CodeSourcery toolchain for example), no longer builds with
+glibc 2.19 (Linaro toolchain for example).
+
+To fix this, this patch adds the missing <asm/ptrace.h> include (for
+AArch64 only, to be conservative).
+
+This patch has not been submitted upstream, since more recent versions
+of Google Breakpad have completely changed this part of the code.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/src/client/linux/minidump_writer/linux_dumper.h
+===================================================================
+--- a/src/client/linux/minidump_writer/linux_dumper.h
++++ b/src/client/linux/minidump_writer/linux_dumper.h
+@@ -43,6 +43,9 @@
+ #include <stdint.h>
+ #include <sys/types.h>
+ #include <sys/user.h>
++#if defined(__aarch64__)
++#include <asm/ptrace.h>
++#endif
+
+ #include "common/memory.h"
+ #include "google_breakpad/common/minidump_format.h"
diff --git a/package/gpsd/Config.in b/package/gpsd/Config.in
index fac8756dd3..fa8b8f6b2a 100644
--- a/package/gpsd/Config.in
+++ b/package/gpsd/Config.in
@@ -1,6 +1,6 @@
-comment "gpsd needs a toolchain w/ threads"
+comment "gpsd needs a toolchain w/ threads, dynamic library"
depends on BR2_USE_MMU
- depends on !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
depends on !BR2_microblaze
config BR2_PACKAGE_GPSD
@@ -8,6 +8,8 @@ config BR2_PACKAGE_GPSD
# Uses fork()
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_THREADS
+ # Always tries to build a shared library
+ depends on !BR2_STATIC_LIBS
# triggers gcc ice
depends on !BR2_microblaze
help
diff --git a/package/gptfdisk/Config.in b/package/gptfdisk/Config.in
index 61692f6bb1..befdf77715 100644
--- a/package/gptfdisk/Config.in
+++ b/package/gptfdisk/Config.in
@@ -38,6 +38,7 @@ config BR2_PACKAGE_GPTFDISK_CGDISK
bool "ncurses cgdisk"
select BR2_PACKAGE_NCURSES
select BR2_PACKAGE_NCURSES_WCHAR # needed because of UTF-16
+ depends on !(BR2_bfin && BR2_BINFMT_FLAT) # ncurses wchar support
help
Install the ncurses-based GUID partition table (GPT)
manipulator /usr/sbin/cgdisk.
diff --git a/package/gptfdisk/gptfdisk.mk b/package/gptfdisk/gptfdisk.mk
index c11b1d9cd4..f812376dea 100644
--- a/package/gptfdisk/gptfdisk.mk
+++ b/package/gptfdisk/gptfdisk.mk
@@ -21,13 +21,23 @@ ifeq ($(BR2_PACKAGE_GPTFDISK_CGDISK),y)
GPTFDISK_DEPENDENCIES += ncurses
endif
-ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE)$(BR2_STATIC_LIBS),yy)
-GPTFDISK_MAKE_OPTS += LDLIBS=-lintl
+ifeq ($(BR2_STATIC_LIBS),y)
+# gptfdisk dependencies may link against libintl/libiconv, so we need
+# to do so as well when linking statically
+ifeq ($(BR2_PACKAGE_GETTEXT),y)
+GPTFDISK_DEPENDENCIES += gettext
+GPTFDISK_LDLIBS += -lintl
+endif
+
+ifeq ($(BR2_PACKAGE_LIBICONV),y)
+GPTFDISK_DEPENDENCIES += libiconv
+GPTFDISK_LDLIBS += -liconv
+endif
endif
define GPTFDISK_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \
- $(GPTFDISK_MAKE_OPTS) $(GPTFDISK_TARGETS_y)
+ LDLIBS='$(GPTFDISK_LDLIBS)' $(GPTFDISK_TARGETS_y)
endef
define GPTFDISK_INSTALL_TARGET_CMDS
diff --git a/package/gstreamer/gst-plugins-good/Config.in b/package/gstreamer/gst-plugins-good/Config.in
index 70ae9c1796..0544b7cc04 100644
--- a/package/gstreamer/gst-plugins-good/Config.in
+++ b/package/gstreamer/gst-plugins-good/Config.in
@@ -205,13 +205,14 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_PULSE
depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
depends on BR2_USE_MMU # pulseaudio
depends on BR2_ARCH_HAS_ATOMICS # pulseaudio
+ depends on !BR2_STATIC_LIBS # pulseaudio
select BR2_PACKAGE_PULSEAUDIO
bool "pulseaudio"
-comment "pulseaudio support needs a toolchain w/ threads"
+comment "pulseaudio support needs a toolchain w/ threads, dynamic library"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
- depends on !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC
bool "souphttpsrc (http client)"
diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in
index b3929b440b..6216c7f934 100644
--- a/package/gstreamer1/gst1-plugins-good/Config.in
+++ b/package/gstreamer1/gst1-plugins-good/Config.in
@@ -312,15 +312,16 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE
depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
depends on BR2_USE_MMU # pulseaudio
depends on BR2_ARCH_HAS_ATOMICS # pulseaudio
+ depends on !BR2_STATIC_LIBS # pulseaudio
select BR2_PACKAGE_PULSEAUDIO
bool "pulseaudio"
help
PulseAudio plugin library
-comment "pulseaudio support needs a toolchain w/ threads"
+comment "pulseaudio support needs a toolchain w/ threads, dynamic library"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
- depends on !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC
bool "souphttpsrc (http client)"
diff --git a/package/guile/0004-workaround-ice-ssa-corruption.patch b/package/guile/0004-workaround-ice-ssa-corruption.patch
new file mode 100644
index 0000000000..54f3158a91
--- /dev/null
+++ b/package/guile/0004-workaround-ice-ssa-corruption.patch
@@ -0,0 +1,64 @@
+libguile/vm-i-system.c: workaround ice ssa corruption while compiling with option -g -O
+
+While compiling with option -g -O, there was a ssa corruption:
+..
+Unable to coalesce ssa_names 48 and 3476 which are marked as MUST COALESCE.
+sp_48(ab) and sp_3476(ab)
+guile-2.0.11/libguile/vm-engine.c: In function 'vm_debug_engine':
+guile-2.0.11/libguile/vm.c:673:19: internal compiler error: SSA corruption
+ #define VM_NAME vm_debug_engine
+ ^
+guile-2.0.11/libguile/vm-engine.c:39:1: note: in expansion of macro 'VM_NAME'
+ VM_NAME (SCM vm, SCM program, SCM *argv, int nargs)
+ ^
+Please submit a full bug report,
+with preprocessed source if appropriate.
+See <http://gcc.gnu.org/bugs.html> for instructions.
+...
+
+Tweak libguile/vm-i-system.c to add boundary value check to workaround it.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+Fixes Buildroot autobuilder failures on AArch64.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ libguile/vm-i-system.c | 20 ++++++++++++++++----
+ 1 file changed, 16 insertions(+), 4 deletions(-)
+
+diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c
+--- a/libguile/vm-i-system.c
++++ b/libguile/vm-i-system.c
+@@ -625,10 +625,22 @@ VM_DEFINE_INSTRUCTION (47, bind_optionals_shuffle, "bind-optionals/shuffle", 6,
+ /* now shuffle up, from walk to ntotal */
+ {
+ scm_t_ptrdiff nshuf = sp - walk + 1, i;
+- sp = (fp - 1) + ntotal + nshuf;
+- CHECK_OVERFLOW ();
+- for (i = 0; i < nshuf; i++)
+- sp[-i] = walk[nshuf-i-1];
++ /* check the value of nshuf to workaround ice ssa corruption */
++ /* while compiling with -O -g */
++ if (nshuf > 0)
++ {
++ sp = (fp - 1) + ntotal + nshuf;
++ CHECK_OVERFLOW ();
++ for (i = 0; i < nshuf; i++)
++ sp[-i] = walk[nshuf-i-1];
++ }
++ else
++ {
++ sp = (fp - 1) + ntotal + nshuf;
++ CHECK_OVERFLOW ();
++ for (i = 0; i < nshuf; i++)
++ sp[-i] = walk[nshuf-i-1];
++ }
+ }
+ /* and fill optionals & keyword args with SCM_UNDEFINED */
+ while (walk <= (fp - 1) + ntotal)
+--
+1.9.1
+
diff --git a/package/heirloom-mailx/heirloom-mailx.mk b/package/heirloom-mailx/heirloom-mailx.mk
index 73434796b7..044cd8cf3a 100644
--- a/package/heirloom-mailx/heirloom-mailx.mk
+++ b/package/heirloom-mailx/heirloom-mailx.mk
@@ -18,8 +18,11 @@ define HEIRLOOM_MAILX_CONFIGURE_CMDS
(cd $(@D); $(TARGET_CONFIGURE_OPTS) $(SHELL) ./makeconfig)
endef
+# -fPIC is needed to build with NIOS2 toolchains.
define HEIRLOOM_MAILX_BUILD_CMDS
- $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
+ $(TARGET_CONFIGURE_OPTS) $(MAKE) \
+ CFLAGS="$(TARGET_CFLAGS) -fPIC" \
+ -C $(@D)
endef
define HEIRLOOM_MAILX_INSTALL_TARGET_CMDS
diff --git a/package/hwloc/0001-utils-hwloc-Makefile.am-fix-install-man-race-conditi.patch b/package/hwloc/0001-utils-hwloc-Makefile.am-fix-install-man-race-conditi.patch
new file mode 100644
index 0000000000..c27bdd4dc3
--- /dev/null
+++ b/package/hwloc/0001-utils-hwloc-Makefile.am-fix-install-man-race-conditi.patch
@@ -0,0 +1,35 @@
+From d5e802c9c2ed8dbe5c937e84bc3ab440218aa8de Mon Sep 17 00:00:00 2001
+From: Peter Korsgaard <peter@korsgaard.com>
+Date: Tue, 12 May 2015 16:03:14 +0200
+Subject: [PATCH] utils/hwloc/Makefile.am: fix install-man race condition
+
+Make install contains a race condition in utils/hwloc, as both
+install-exec-hook (through intall-exec) and install-data trigger
+install-man:
+
+http://autobuild.buildroot.net/results/414/41403f8ce4751a27dd1bb9c43f5a97895dea3980/build-end.log
+
+The install-exec-hook target doesn't do anything with the manual pages, so
+fix the race condition by dropping the dependency.
+
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+---
+ utils/hwloc/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/utils/hwloc/Makefile.am b/utils/hwloc/Makefile.am
+index 7ca8027..8bbee86 100644
+--- a/utils/hwloc/Makefile.am
++++ b/utils/hwloc/Makefile.am
+@@ -108,7 +108,7 @@ endif HWLOC_HAVE_LINUX
+ -e 's/#HWLOC_DATE#/@HWLOC_RELEASE_DATE@/g' \
+ > $@ < $<
+
+-install-exec-hook: install-man
++install-exec-hook:
+ $(SED) -e 's/HWLOC_top_builddir\/utils\/hwloc/bindir/' -e 's/HWLOC_top_builddir\/utils\/lstopo/bindir/' -e '/HWLOC_top_builddir/d' $(DESTDIR)$(bindir)/hwloc-assembler-remote > $(DESTDIR)$(bindir)/hwloc-assembler-remote.tmp && mv -f $(DESTDIR)$(bindir)/hwloc-assembler-remote.tmp $(DESTDIR)$(bindir)/hwloc-assembler-remote
+ $(SED) -e 's/HWLOC_top_builddir\/utils\/hwloc/bindir/' -e 's/HWLOC_top_builddir\/utils\/lstopo/bindir/' -e '/HWLOC_top_builddir/d' $(DESTDIR)$(bindir)/hwloc-compress-dir > $(DESTDIR)$(bindir)/hwloc-compress-dir.tmp && mv -f $(DESTDIR)$(bindir)/hwloc-compress-dir.tmp $(DESTDIR)$(bindir)/hwloc-compress-dir
+ chmod +x $(DESTDIR)$(bindir)/hwloc-assembler-remote $(DESTDIR)$(bindir)/hwloc-compress-dir
+--
+2.1.4
+
diff --git a/package/hwloc/Config.in b/package/hwloc/Config.in
index 51aef4a0e0..1fb23027bb 100644
--- a/package/hwloc/Config.in
+++ b/package/hwloc/Config.in
@@ -12,4 +12,4 @@ config BR2_PACKAGE_HWLOC
http://www.open-mpi.org/projects/hwloc/
comment "hwloc needs a toolchain w/ threads"
- depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/hwloc/hwloc.mk b/package/hwloc/hwloc.mk
index c1f6fea3be..9b5eae8e1a 100644
--- a/package/hwloc/hwloc.mk
+++ b/package/hwloc/hwloc.mk
@@ -11,6 +11,8 @@ HWLOC_SITE = http://www.open-mpi.org/software/hwloc/v$(HWLOC_VERSION_MAJOR)/down
HWLOC_LICENSE = BSD-3c
HWLOC_LICENSE_FILES = COPYING
HWLOC_DEPENDENCIES = host-pkgconf
+# 0001-utils-hwloc-Makefile.am-fix-install-man-race-conditi.patch touches Makefile.am
+HWLOC_AUTORECONF = YES
HWLOC_CONF_OPTS = \
--disable-opencl \
diff --git a/package/ipmiutil/0003-really-disable-lanplus.patch b/package/ipmiutil/0003-really-disable-lanplus.patch
new file mode 100644
index 0000000000..33dd249196
--- /dev/null
+++ b/package/ipmiutil/0003-really-disable-lanplus.patch
@@ -0,0 +1,95 @@
+lib: do not try to build lanplus if it is disabled
+
+If lanplus is disabled, we do not want to build it, especially when
+openssl is disabled, otherwise it fails to build with:
+
+ make[4]: Entering directory `/home/buildroot/build/instance-0/output/build/ipmiutil-2.9.5/lib/lanplus'
+ /home/buildroot/build/instance-0/output/host/usr/bin/i686-ctng-linux-gnu-gcc -DHAVE_CONFIG_H
+ -I. -I../.. -I. -I./inc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
+ -DLINUX -DSKIP_MD2 -fPIC -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fPIC
+ -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -c -o lanplus.o lanplus.c
+ In file included from lanplus.c:78:0:
+ ./inc/ipmitool/ipmi.h:51:25: fatal error: openssl/evp.h: No such file or directory
+
+Sample build error visible at:
+ http://autobuild.buildroot.org/results/04a/04a1c48d484debd7894fd32997ed50d3a0110b93/build-end.log
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN ipmiutil-2.9.5.orig/configure.ac ipmiutil-2.9.5/configure.ac
+--- ipmiutil-2.9.5.orig/configure.ac 2015-05-23 19:33:54.293468417 +0200
++++ ipmiutil-2.9.5/configure.ac 2015-05-23 19:31:41.595877435 +0200
+@@ -474,6 +474,8 @@
+ AC_SUBST(SHR_LINK)
+ AC_SUBST(pkgconfigdir)
+
++AM_CONDITIONAL([LANPLUS], [test x$LANPLUS_SAM = xyes])
++
+ AC_OUTPUT(Makefile util/Makefile lib/Makefile lib/libipmiutil.pc lib/lanplus/Makefile doc/Makefile scripts/Makefile)
+
+ if test "x$sysname" = "xSunOS"; then
+diff -durN ipmiutil-2.9.5.orig/lib/lanplus/Makefile.am ipmiutil-2.9.5/lib/lanplus/Makefile.am
+--- ipmiutil-2.9.5.orig/lib/lanplus/Makefile.am 2014-11-04 18:46:11.000000000 +0100
++++ ipmiutil-2.9.5/lib/lanplus/Makefile.am 2015-05-23 19:32:30.956469461 +0200
+@@ -1,5 +1,7 @@
+ # Makefile.am for libipmi_lanplus.so and libipmi_lanplus.a
+
++if LANPLUS
++
+ ODIR = obj
+ CFLAGS_STATIC = @OS_CFLAGS@ -DSTATIC -fno-strict-aliasing -fPIC $(CFLAGS)
+ AM_CFLAGS = @OS_CFLAGS@ -fPIC @LANPLUS_CFLAGS@
+@@ -53,3 +55,4 @@
+ #$(ODIR)/%.o: %.c $(ODIR)
+ # $(CC) -c $(CFLAGS_STATIC) $(INCLUDES) -o $@ $<
+
++endif
+diff -durN ipmiutil-2.9.5.orig/lib/Makefile.am ipmiutil-2.9.5/lib/Makefile.am
+--- ipmiutil-2.9.5.orig/lib/Makefile.am 2014-11-04 18:46:11.000000000 +0100
++++ ipmiutil-2.9.5/lib/Makefile.am 2015-05-23 19:41:06.378636668 +0200
+@@ -32,28 +32,39 @@
+ else cp -f libipmiapi64.a.redhat libipmiapi.a; fi \
+ else cp -f libipmiapi32.a libipmiapi.a; fi \
+ fi
++if LANPLUS
+ cd lanplus; make clean; make
+ cp -f lanplus/libipmi_lanplus.a .
++endif # LANPLUS
+
+ clean:
+ rm -f libipmiapi.a lib*_lanplus.a lib*_lanplus.so
++if LANPLUS
+ cd lanplus; make clean
++endif # LANPLUS
+
+ clobber:
+ rm -f libipmiapi.a lib*_lanplus.a lib*_lanplus.so
++if LANPLUS
+ cd lanplus; make clean
++endif # LANPLUS
+
+ distclean:
+ rm -f libipmiapi.a lib*.a lib*_lanplus.so
++if LANPLUS
+ cd lanplus; make distclean
++endif # LANPLUS
+
+ install:
+ $(MKDIR) ${datato}
++if LANPLUS
+ cd lanplus; make install
++endif # LANPLUS
+
+ check:
+
+ installso:
++if LANPLUS
+ @if [ -d /usr/lib64 ]; then \
+ $(MKDIR) ${lib64} ; \
+ echo "installing libipmi_lanplus into ${lib64}"; \
+@@ -68,4 +79,5 @@
+ (cd ${lib32} && rm -f libipmi_lanplus.* ); \
+ ../../libtool --finish ${lib64} \
+ fi
++endif # LANPLUS
+
diff --git a/package/ipmiutil/Config.in b/package/ipmiutil/Config.in
index 2500583095..a2a898b5c5 100644
--- a/package/ipmiutil/Config.in
+++ b/package/ipmiutil/Config.in
@@ -3,7 +3,6 @@ config BR2_PACKAGE_IPMIUTIL
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_x86_64 || BR2_i386
- select BR2_PACKAGE_OPENSSL
help
The ipmiutil package provides easy-to-use utilities to view
the SEL, perform an IPMI chassis reset, set up the IPMI LAN
diff --git a/package/ipmiutil/ipmiutil.mk b/package/ipmiutil/ipmiutil.mk
index 8e281d408f..6f462b9655 100644
--- a/package/ipmiutil/ipmiutil.mk
+++ b/package/ipmiutil/ipmiutil.mk
@@ -8,9 +8,20 @@ IPMIUTIL_VERSION = 2.9.5
IPMIUTIL_SITE = http://sourceforge.net/projects/ipmiutil/files/
IPMIUTIL_LICENSE = BSD-3c
IPMIUTIL_LICENSE_FILES = COPYING
-# We're patching configure.ac
+# We're patching configure.ac , lib/Makefile.am and lib/lanplus/Makefile.am
IPMIUTIL_AUTORECONF = YES
-IPMIUTIL_DEPENDENCIES = openssl
+IPMIUTIL_MAKE = $(MAKE1)
+
+# forgets to link against libcrypto dependencies breaking static link
+ifeq ($(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yx)
+# tests against distro libcrypto so it might get a false positive when
+# the openssl version is old, so force it off
+# SKIP_MD2 can be used only if ALLOW_GNU is defined.
+IPMIUTIL_CONF_OPTS += CPPFLAGS="$(TARGET_CPPFLAGS) -DALLOW_GNU -DSKIP_MD2"
+IPMIUTIL_DEPENDENCIES += openssl
+else
+IPMIUTIL_CONF_OPTS += --disable-lanplus
+endif
$(eval $(autotools-package))
diff --git a/package/iproute2/iproute2.mk b/package/iproute2/iproute2.mk
index 102a222da1..a8f4400604 100644
--- a/package/iproute2/iproute2.mk
+++ b/package/iproute2/iproute2.mk
@@ -7,7 +7,7 @@
IPROUTE2_VERSION = 4.0.0
IPROUTE2_SOURCE = iproute2-$(IPROUTE2_VERSION).tar.xz
IPROUTE2_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/net/iproute2
-IPROUTE2_DEPENDENCIES = host-bison host-flex
+IPROUTE2_DEPENDENCIES = host-bison host-flex host-pkgconf
IPROUTE2_LICENSE = GPLv2
IPROUTE2_LICENSE_FILES = COPYING
@@ -18,17 +18,17 @@ IPROUTE2_DEPENDENCIES += busybox
endif
# If we've got iptables enable xtables support for tc
-ifeq ($(BR2_PACKAGE_IPTABLES),y)
+ifeq ($(BR2_PACKAGE_IPTABLES)x$(BR2_STATIC_LIBS),yx)
IPROUTE2_DEPENDENCIES += iptables
define IPROUTE2_WITH_IPTABLES
# Makefile is busted so it never passes IPT_LIB_DIR properly
$(SED) "s/-DIPT/-DXT/" $(IPROUTE2_DIR)/tc/Makefile
- echo "TC_CONFIG_XT:=y" >>$(IPROUTE2_DIR)/Config
endef
else
define IPROUTE2_WITH_IPTABLES
# em_ipset needs xtables, but configure misdetects it
echo "TC_CONFIG_IPSET:=n" >>$(IPROUTE2_DIR)/Config
+ echo "TC_CONFIG_XT:=n" >>$(IPROUTE2_DIR)/Config
endef
endif
@@ -51,17 +51,16 @@ endif
define IPROUTE2_CONFIGURE_CMDS
$(SED) 's/gcc/$$CC $$CFLAGS/g' $(@D)/configure
cd $(@D) && $(TARGET_CONFIGURE_OPTS) ./configure
- $(SED) 's/-Werror//' $(IPROUTE2_DIR)/Makefile
- echo "IPT_LIB_DIR:=/usr/lib/xtables" >>$(IPROUTE2_DIR)/Config
$(IPROUTE2_DISABLE_ARPD)
$(IPROUTE2_WITH_IPTABLES)
endef
define IPROUTE2_BUILD_CMDS
$(SED) 's/$$(CCOPTS)//' $(@D)/netem/Makefile
- $(TARGET_MAKE_ENV) $(MAKE) \
+ $(TARGET_MAKE_ENV) LDFLAGS="$(TARGET_LDFLAGS)" $(MAKE) \
DBM_INCLUDE="$(STAGING_DIR)/usr/include" \
- CCOPTS="$(TARGET_CFLAGS) -D_GNU_SOURCE" -C $(@D)
+ CCOPTS="$(TARGET_CFLAGS) -D_GNU_SOURCE" \
+ SHARED_LIBS="$(if $(BR2_STATIC_LIBS),n,y)" -C $(@D)
endef
define IPROUTE2_INSTALL_TARGET_CMDS
diff --git a/package/jack2/Config.in b/package/jack2/Config.in
index eeeb8daad8..350a34256b 100644
--- a/package/jack2/Config.in
+++ b/package/jack2/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_JACK2
depends on BR2_USE_MMU # fork()
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_ARCH_HAS_ATOMICS
+ depends on !BR2_STATIC_LIBS
select BR2_PACKAGE_LIBSAMPLERATE
select BR2_PACKAGE_LIBSNDFILE
select BR2_PACKAGE_ALSA_LIB
@@ -20,7 +21,8 @@ config BR2_PACKAGE_JACK2
http://jackaudio.org/
-comment "jack2 needs a toolchain w/ threads, C++"
+comment "jack2 needs a toolchain w/ threads, C++, dynamic library"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
- depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \
+ BR2_STATIC_LIBS
diff --git a/package/janus-gateway/Config.in b/package/janus-gateway/Config.in
index 6ba5f6a1e1..035ee6c334 100644
--- a/package/janus-gateway/Config.in
+++ b/package/janus-gateway/Config.in
@@ -10,12 +10,13 @@ config BR2_PACKAGE_JANUS_GATEWAY
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, libmicrohttpd
depends on BR2_USE_WCHAR # libnice -> libglib2
depends on BR2_USE_MMU # libnice
+ depends on !BR2_STATIC_LIBS # dlopen
help
Janus is an open source, general purpose, WebRTC gateway
designed and developed by Meetecho.
https://github.com/meetecho/janus-gateway
-comment "janus-gateway needs a toolchain w/ threads, wchar"
+comment "janus-gateway needs a toolchain w/ dynamic library, threads, wchar"
depends on BR2_USE_MMU
- depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
+ depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
diff --git a/package/jasper/0007-preserve-cflags.patch b/package/jasper/0007-preserve-cflags.patch
new file mode 100644
index 0000000000..7e4c4a26f0
--- /dev/null
+++ b/package/jasper/0007-preserve-cflags.patch
@@ -0,0 +1,27 @@
+From: Max Filippov <jcmvbkbc@gmail.com>
+Subject: Don't overwrite CFLAGS when configured with --enable-debug
+
+This drops architecture-specific ABI flags, which may be important.
+
+Signded-off-by: Max Filippov <jcmvbkbc@gmail.com>
+
+--- jasper-1.900.1/configure.ac.orig 2015-05-18 22:27:53.057512760 +0300
++++ jasper-1.900.1/configure.ac 2015-05-18 22:28:36.090415422 +0300
+@@ -327,7 +327,7 @@
+ AC_DEFINE(DEBUG)
+ AC_DEFINE(DEBUG_OVERFLOW)
+ if test "$GCC" = yes; then
+- CFLAGS="-g -O0"
++ CFLAGS="$CFLAGS -g -O0"
+ fi
+ ;;
+ no)
+@@ -357,7 +357,7 @@
+ case "${enableval}" in
+ yes)
+ if test "$GCC" = yes; then
+- CFLAGS="-g -O0"
++ CFLAGS="$CFLAGS -g -O0"
+ fi
+ ;;
+ no)
diff --git a/package/jasper/jasper.mk b/package/jasper/jasper.mk
index b2da07d763..db86ae88e1 100644
--- a/package/jasper/jasper.mk
+++ b/package/jasper/jasper.mk
@@ -14,4 +14,10 @@ JASPER_LICENSE_FILES = LICENSE
# needed to fix rpath issue (http://autobuild.buildroot.net/results/307/307cac65287420252a5bb64715d9a1edd90e72fa/)
JASPER_AUTORECONF = YES
+# Xtensa gcc is unable to generate correct code with -O0 enabled by
+# --enable-debug. Allow package build but disable debug.
+ifeq ($(BR2_xtensa)$(BR2_ENABLE_DEBUG),yy)
+JASPER_CONF_OPTS += --disable-debug
+endif
+
$(eval $(autotools-package))
diff --git a/package/keyutils/Config.in b/package/keyutils/Config.in
index fcb075fa91..6f0758f473 100644
--- a/package/keyutils/Config.in
+++ b/package/keyutils/Config.in
@@ -2,8 +2,14 @@ config BR2_PACKAGE_KEYUTILS
bool "keyutils"
depends on !BR2_microblaze
depends on BR2_USE_MMU # fork()
+ depends on !BR2_STATIC_LIBS # dlopen
help
These tools are used to control the key management system
built into the Linux kernel.
http://people.redhat.com/~dhowells/keyutils/
+
+comment "keyutils needs a toolchain w/ dynamic library"
+ depends on !BR2_microblaze
+ depends on BR2_USE_MMU
+ depends on BR2_STATIC_LIBS
diff --git a/package/keyutils/keyutils.mk b/package/keyutils/keyutils.mk
index 36588e6c37..3d6697eb9b 100644
--- a/package/keyutils/keyutils.mk
+++ b/package/keyutils/keyutils.mk
@@ -19,10 +19,6 @@ KEYUTILS_MAKE_PARAMS = \
CPPFLAGS="$(TARGET_CPPFLAGS) -I." \
LNS="$(HOSTLN) -sf"
-ifeq ($(BR2_STATIC_LIBS),y)
-KEYUTILS_MAKE_PARAMS += NO_SOLIB=1
-endif
-
ifeq ($(BR2_SHARED_LIBS),y)
KEYUTILS_MAKE_PARAMS += NO_ARLIB=1
endif
diff --git a/package/kmod/kmod.mk b/package/kmod/kmod.mk
index 1ac83eaadd..98d9998b8e 100644
--- a/package/kmod/kmod.mk
+++ b/package/kmod/kmod.mk
@@ -39,11 +39,6 @@ KMOD_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,python3)
KMOD_CONF_OPTS += --enable-python
endif
-# --gc-sections triggers a bug in the current Xtensa binutils
-ifeq ($(BR2_xtensa),y)
-KMOD_CONF_ENV += cc_cv_LDFLAGS__Wl___gc_sections=no
-endif
-
ifeq ($(BR2_PACKAGE_KMOD_TOOLS),y)
# add license info for kmod tools
diff --git a/package/knock/knock.hash b/package/knock/knock.hash
new file mode 100644
index 0000000000..ae152dbf8f
--- /dev/null
+++ b/package/knock/knock.hash
@@ -0,0 +1,2 @@
+# locally computed hash
+sha256 9938479c321066424f74c61f6bee46dfd355a828263dc89561a1ece3f56578a4 knock-0.7.tar.gz
diff --git a/package/kodi/Config.in b/package/kodi/Config.in
index 254a1df0cd..a4d1aab214 100644
--- a/package/kodi/Config.in
+++ b/package/kodi/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_KODI_ARCH_SUPPORTS
bool
- default y if BR2_arm || BR2_i386 || BR2_x86_64
+ default y if (BR2_arm || BR2_i386 || BR2_x86_64) && BR2_PACKAGE_BOOST_ARCH_SUPPORTS
+
comment "kodi needs a toolchain w/ C++, threads, wchar"
depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS
diff --git a/package/lcdproc/Config.in b/package/lcdproc/Config.in
index f5a8501e59..042abd69df 100644
--- a/package/lcdproc/Config.in
+++ b/package/lcdproc/Config.in
@@ -1,6 +1,10 @@
+comment "lcdproc needs a toolchain w/ dynamic library"
+ depends on BR2_STATIC_LIBS
+
config BR2_PACKAGE_LCDPROC
bool "lcdproc"
depends on BR2_USE_MMU # fork()
+ depends on !BR2_STATIC_LIBS
select BR2_PACKAGE_FREETYPE
select BR2_PACKAGE_NCURSES
select BR2_PACKAGE_ZLIB
diff --git a/package/leafnode2/Config.in b/package/leafnode2/Config.in
index ec5fa804e2..348e6daacf 100644
--- a/package/leafnode2/Config.in
+++ b/package/leafnode2/Config.in
@@ -13,4 +13,4 @@ config BR2_PACKAGE_LEAFNODE2
For example, you can add this line to inetd.conf:
nntp stream tcp nowait news /usr/sbin/leafnode
- http://www.dt.e-technik.uni-dortmund.de/~ma/leafnode/beta/
+ http://www.dt.e-technik.tu-dortmund.de/~ma/leafnode/beta
diff --git a/package/leafnode2/leafnode2.mk b/package/leafnode2/leafnode2.mk
index 0fc2a8d705..5b9b85482b 100644
--- a/package/leafnode2/leafnode2.mk
+++ b/package/leafnode2/leafnode2.mk
@@ -6,7 +6,7 @@
LEAFNODE2_VERSION = 2.0.0.alpha20140727b
LEAFNODE2_SOURCE = leafnode-$(LEAFNODE2_VERSION).tar.bz2
-LEAFNODE2_SITE = http://home.pages.de/~mandree/leafnode/beta
+LEAFNODE2_SITE = http://www.dt.e-technik.tu-dortmund.de/~ma/leafnode/beta
LEAFNODE2_LICENSE = LGPLv2.1
LEAFNODE2_LICENSE_FILES = COPYING COPYING.LGPL
LEAFNODE2_DEPENDENCIES = host-pcre pcre
diff --git a/package/libcap-ng/Config.in b/package/libcap-ng/Config.in
index d1663cdefc..a52d230e60 100644
--- a/package/libcap-ng/Config.in
+++ b/package/libcap-ng/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_LIBCAP_NG
bool "libcap-ng"
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405 # triggers compiler bug
help
The libcap-ng library is intended to make programming with
posix capabilities much easier than the traditional libcap
diff --git a/package/libftdi1/Config.in b/package/libftdi1/Config.in
index 9fb80aebe1..4a490a54eb 100644
--- a/package/libftdi1/Config.in
+++ b/package/libftdi1/Config.in
@@ -9,24 +9,26 @@ config BR2_PACKAGE_LIBFTDI1
if BR2_PACKAGE_LIBFTDI1
-config BR2_PACKAGE_LIBTFDI1_LIBFTDIPP1
- bool "libfdtipp1"
+config BR2_PACKAGE_LIBFTDI1_LIBFTDIPP1
+ bool "libftdipp1"
select BR2_PACKAGE_BOOST
depends on BR2_INSTALL_LIBSTDCPP # boost
depends on BR2_TOOLCHAIN_HAS_THREADS # boost
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
help
C++ bindings for libftdi
-comment "libfdtipp1 needs a toolchain w/ C++"
+comment "libftdipp1 needs a toolchain w/ C++"
depends on !BR2_INSTALL_LIBSTDCPP
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
-config BR2_PACKAGE_LIBTFDI1_PYTHON_BINDINGS
+config BR2_PACKAGE_LIBFTDI1_PYTHON_BINDINGS
bool "python bindings"
depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
help
Python bindings for libftdi
-config BR2_PACKAGE_LIBTFDI1_FDTI_EEPROM
+config BR2_PACKAGE_LIBFTDI1_FDTI_EEPROM
select BR2_PACKAGE_LIBCONFUSE
bool "ftdi_eeprom tool"
diff --git a/package/libftdi1/libftdi1.mk b/package/libftdi1/libftdi1.mk
index 45bb4a59ad..201feb73b4 100644
--- a/package/libftdi1/libftdi1.mk
+++ b/package/libftdi1/libftdi1.mk
@@ -13,21 +13,21 @@ LIBFTDI1_LICENSE = LGPLv2 (libftdi1), GPLv2 with exception (ftdipp1)
LIBFTDI1_LICENSE_FILES = LICENSE COPYING.GPL COPYING.LIB
LIBFTDI1_CONF_OPTS = -DDOCUMENTATION=OFF -DEXAMPLES=OFF
-ifeq ($(BR2_PACKAGE_LIBTFDI1_LIBFTDIPP1),y)
+ifeq ($(BR2_PACKAGE_LIBFTDI1_LIBFTDIPP1),y)
LIBFTDI1_DEPENDENCIES += boost
LIBFTDI1_CONF_OPTS += -DFTDIPP=ON
else
LIBFTDI1_CONF_OPTS += -DFTDIPP=OFF
endif
-ifeq ($(BR2_PACKAGE_LIBTFDI1_PYTHON_BINDINGS),y)
+ifeq ($(BR2_PACKAGE_LIBFTDI1_PYTHON_BINDINGS),y)
LIBFTDI1_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,python3) host-swig
LIBFTDI1_CONF_OPTS += -DPYTHON_BINDINGS=ON
else
LIBFTDI1_CONF_OPTS += -DPYTHON_BINDINGS=OFF
endif
-ifeq ($(BR2_PACKAGE_LIBTFDI1_FDTI_EEPROM),y)
+ifeq ($(BR2_PACKAGE_LIBFTDI1_FDTI_EEPROM),y)
# ftdi_eeprom optionally depends on libintl, so make sure gettext is built
# _before_ libfitdi1 when gettext is enbaled.
LIBFTDI1_DEPENDENCIES += libconfuse $(if $(BR2_PACKAGE_GETTEXT),gettext)
diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk
index 57c5ab1f0d..9153fb847d 100644
--- a/package/libgcrypt/libgcrypt.mk
+++ b/package/libgcrypt/libgcrypt.mk
@@ -16,7 +16,6 @@ LIBGCRYPT_CONFIG_SCRIPTS = libgcrypt-config
LIBGCRYPT_CONF_ENV = \
ac_cv_sys_symbol_underscore=no
LIBGCRYPT_CONF_OPTS = \
- --disable-optimization \
--with-gpg-error-prefix=$(STAGING_DIR)/usr
# Code doesn't build in thumb mode
diff --git a/package/libgsasl/libgsasl.mk b/package/libgsasl/libgsasl.mk
index ea634bc325..f2660ca4fa 100644
--- a/package/libgsasl/libgsasl.mk
+++ b/package/libgsasl/libgsasl.mk
@@ -9,6 +9,6 @@ LIBGSASL_SITE = $(BR2_GNU_MIRROR)/gsasl
LIBGSASL_LICENSE = LGPLv2.1+ (library), GPLv3+ (programs)
LIBGSASL_LICENSE_FILES = README COPYING.LIB COPYING
LIBGSASL_INSTALL_STAGING = YES
-LIBGSAS_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBIDN),libidn)
+LIBGSASL_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBIDN),libidn)
$(eval $(autotools-package))
diff --git a/package/libjpeg/libjpeg.hash b/package/libjpeg/libjpeg.hash
new file mode 100644
index 0000000000..035812a89b
--- /dev/null
+++ b/package/libjpeg/libjpeg.hash
@@ -0,0 +1,2 @@
+# locally computed hash
+sha256 3a753ea48d917945dd54a2d97de388aa06ca2eb1066cbfdc6652036349fe05a7 jpegsrc.v9a.tar.gz
diff --git a/package/libmatroska/libmatroska.mk b/package/libmatroska/libmatroska.mk
index 1086e87638..5e2d9b1a03 100644
--- a/package/libmatroska/libmatroska.mk
+++ b/package/libmatroska/libmatroska.mk
@@ -10,6 +10,6 @@ LIBMATROSKA_SITE = http://dl.matroska.org/downloads/libmatroska
LIBMATROSKA_INSTALL_STAGING = YES
LIBMATROSKA_LICENSE = LGPLv2.1+
LIBMATROSKA_LICENSE_FILES = LICENSE.LGPL
-LIBMATROSKA_DEPENDENCIES = libebml
+LIBMATROSKA_DEPENDENCIES = libebml host-pkgconf
$(eval $(autotools-package))
diff --git a/package/libmemcached/libmemcached.mk b/package/libmemcached/libmemcached.mk
index d442b3c16e..a5ea4f5d3e 100644
--- a/package/libmemcached/libmemcached.mk
+++ b/package/libmemcached/libmemcached.mk
@@ -18,4 +18,14 @@ LIBMEMCACHED_AUTORECONF = YES
LIBMEMCACHED_LICENSE = BSD-3c
LIBMEMCACHED_LICENSE_FILES = COPYING
+# Help libmemcached to understand that -fPIE and -pie should not be
+# used when linking statically.
+ifeq ($(BR2_STATIC_LIBS),y)
+LIBMEMCACHED_CONF_ENV += \
+ ax_cv_check_cflags__Werror__fPIE=no \
+ ax_cv_check_cflags__Werror__pie=no \
+ ax_cv_check_cxxflags__Werror__fPIE=no \
+ ax_cv_check_cxxflags__Werror__pie=no
+endif
+
$(eval $(autotools-package))
diff --git a/package/libmodbus/libmodbus.hash b/package/libmodbus/libmodbus.hash
new file mode 100644
index 0000000000..095164d613
--- /dev/null
+++ b/package/libmodbus/libmodbus.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 046d63f10f755e2160dc56ef681e5f5ad3862a57c1955fd82e0ce036b69471b6 libmodbus-3.0.6.tar.gz
diff --git a/package/libmodbus/libmodbus.mk b/package/libmodbus/libmodbus.mk
index cf3735907e..1f8c730362 100644
--- a/package/libmodbus/libmodbus.mk
+++ b/package/libmodbus/libmodbus.mk
@@ -5,7 +5,7 @@
################################################################################
LIBMODBUS_VERSION = 3.0.6
-LIBMODBUS_SITE = http://libmodbus.org/site_media/build
+LIBMODBUS_SITE = http://libmodbus.org/releases
LIBMODBUS_LICENSE = LGPLv2.1+
LIBMODBUS_LICENSE_FILES = COPYING.LESSER
LIBMODBUS_INSTALL_STAGING = YES
diff --git a/package/libnftnl/Config.in b/package/libnftnl/Config.in
index dcbfde060a..365ab10201 100644
--- a/package/libnftnl/Config.in
+++ b/package/libnftnl/Config.in
@@ -1,7 +1,9 @@
+comment "libnftnl needs a toolchain w/ headers >= 3.1"
+ depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
+
config BR2_PACKAGE_LIBNFTNL
bool "libnftnl"
- # bad headers, no sa_family_t in linux/socket.h
- depends on !(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103 || BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009)
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
select BR2_PACKAGE_LIBMNL
help
libnftnl is a userspace library providing a low-level
diff --git a/package/libsigrok/Config.in b/package/libsigrok/Config.in
index 93bd06f7b4..8bd7d99fd1 100644
--- a/package/libsigrok/Config.in
+++ b/package/libsigrok/Config.in
@@ -22,12 +22,17 @@ config BR2_PACKAGE_LIBSIGROKCXX
bool "build C++ bindings"
select BR2_PACKAGE_GLIBMM
depends on BR2_INSTALL_LIBSTDCPP
+ # CS powerpc g++ are too old. libsigrokcxx needs C++11
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103 && \
+ !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
help
Build libsigrok C++ bindings as well.
comment "C++ bindings need a toolchain w/ C++"
depends on BR2_PACKAGE_LIBSIGROK
depends on !BR2_INSTALL_LIBSTDCPP
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103 && \
+ !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
endif
diff --git a/package/libsigrok/libsigrok.mk b/package/libsigrok/libsigrok.mk
index 7394f649d2..21d8259412 100644
--- a/package/libsigrok/libsigrok.mk
+++ b/package/libsigrok/libsigrok.mk
@@ -48,6 +48,7 @@ endif
ifeq ($(BR2_PACKAGE_LIBSIGROKCXX),y)
LIBSIGROK_CONF_OPTS += --enable-cxx
+LIBSIGROK_AUTORECONF_OPTS += -I $(HOST_DIR)/usr/share/autoconf-archive
LIBSIGROK_DEPENDENCIES += \
host-autoconf-archive \
glibmm \
diff --git a/package/libstrophe/libstrophe.mk b/package/libstrophe/libstrophe.mk
index d7202d7788..8493692e29 100644
--- a/package/libstrophe/libstrophe.mk
+++ b/package/libstrophe/libstrophe.mk
@@ -10,11 +10,7 @@ LIBSTROPHE_DEPENDENCIES = openssl host-pkgconf
LIBSTROPHE_AUTORECONF = YES
LIBSTROPHE_LICENSE = MIT or GPLv3
LIBSTROPHE_LICENSE_FILES = MIT-LICENSE.txt GPL-LICENSE.txt
-
-# This package does not build a dynamic library, so there is nothing
-# to be installed to the target.
LIBSTROPHE_INSTALL_STAGING = YES
-LIBSTROPHE_INSTALL_TARGET = NO
ifeq ($(BR2_PACKAGE_EXPAT),y)
# Passing --without-libxml2 doesn't work, due to how AC_ARG_WITH is
diff --git a/package/libupnpp/libupnpp.mk b/package/libupnpp/libupnpp.mk
index 853a7244ea..defc16aeff 100644
--- a/package/libupnpp/libupnpp.mk
+++ b/package/libupnpp/libupnpp.mk
@@ -12,9 +12,11 @@ LIBUPNPP_INSTALL_STAGING = YES
LIBUPNPP_DEPENDENCIES = expat libcurl libupnp
# configure script fails to link against the dependencies of libupnp
-# causing upnp detection to fail when statically linking
+# and libcurl causing detection to fail when statically linking
ifeq ($(BR2_STATIC_LIBS),y)
-LIBUPNPP_CONF_ENV += LIBS='-lthreadutil -lixml -pthread'
+LIBUPNPP_DEPENDENCIES += host-pkgconf
+LIBUPNPP_CONF_ENV += \
+ LIBS='$(shell $(PKG_CONFIG_HOST_BINARY) --libs libupnp libcurl)'
endif
$(eval $(autotools-package))
diff --git a/package/libuv/Config.in b/package/libuv/Config.in
index 66cd3f2a03..26cb97eecf 100644
--- a/package/libuv/Config.in
+++ b/package/libuv/Config.in
@@ -2,12 +2,13 @@ config BR2_PACKAGE_LIBUV
bool "libuv"
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
+ depends on !BR2_STATIC_LIBS
help
libuv is a multi-platform support library with a focus
on asynchronous I/O.
https://github.com/libuv/libuv
-comment "libuv needs a toolchain w/ threads"
- depends on !BR2_TOOLCHAIN_HAS_THREADS
+comment "libuv needs a toolchain w/ threads, dynamic library"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
depends on BR2_USE_MMU
diff --git a/package/libxml-parser-perl/libxml-parser-perl.hash b/package/libxml-parser-perl/libxml-parser-perl.hash
new file mode 100644
index 0000000000..4a8c0d305d
--- /dev/null
+++ b/package/libxml-parser-perl/libxml-parser-perl.hash
@@ -0,0 +1,2 @@
+# locally computed hash
+sha256 b48197cd2265a26c5f016489f11a7b450d8833cb8b3d6a46ee15975740894de9 XML-Parser-2.41.tar.gz
diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host
index 47a89229df..d81cd366eb 100644
--- a/package/linux-headers/Config.in.host
+++ b/package/linux-headers/Config.in.host
@@ -198,17 +198,17 @@ endchoice
config BR2_DEFAULT_KERNEL_HEADERS
string
default "3.0.101" if BR2_KERNEL_HEADERS_3_0
- default "3.2.68" if BR2_KERNEL_HEADERS_3_2
+ default "3.2.69" if BR2_KERNEL_HEADERS_3_2
default "3.4.107" if BR2_KERNEL_HEADERS_3_4
- default "3.10.76" if BR2_KERNEL_HEADERS_3_10
+ default "3.10.79" if BR2_KERNEL_HEADERS_3_10
default "3.11.10" if BR2_KERNEL_HEADERS_3_11
- default "3.12.41" if BR2_KERNEL_HEADERS_3_12
+ default "3.12.43" if BR2_KERNEL_HEADERS_3_12
default "3.13.11" if BR2_KERNEL_HEADERS_3_13
- default "3.14.40" if BR2_KERNEL_HEADERS_3_14
+ default "3.14.43" if BR2_KERNEL_HEADERS_3_14
default "3.15.10" if BR2_KERNEL_HEADERS_3_15
default "3.16.7" if BR2_KERNEL_HEADERS_3_16
default "3.17.8" if BR2_KERNEL_HEADERS_3_17
- default "3.18.12" if BR2_KERNEL_HEADERS_3_18
- default "3.19.6" if BR2_KERNEL_HEADERS_3_19
- default "4.0.1" if BR2_KERNEL_HEADERS_4_0
+ default "3.18.14" if BR2_KERNEL_HEADERS_3_18
+ default "3.19.8" if BR2_KERNEL_HEADERS_3_19
+ default "4.0.4" if BR2_KERNEL_HEADERS_4_0
default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
diff --git a/package/lirc-tools/0003-Fix-loglevel-redefinition-in-static-library-builds.patch b/package/lirc-tools/0003-Fix-loglevel-redefinition-in-static-library-builds.patch
new file mode 100644
index 0000000000..1e8717c5ad
--- /dev/null
+++ b/package/lirc-tools/0003-Fix-loglevel-redefinition-in-static-library-builds.patch
@@ -0,0 +1,49 @@
+From 2a789161ef17ac1cedd9a4eb11423f6c1020d8d9 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sun, 17 May 2015 16:08:15 +0200
+Subject: [PATCH] Fix loglevel redefinition in static library builds
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ daemons/lircmd.c | 1 -
+ tools/irrecord.c | 5 ++---
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/daemons/lircmd.c b/daemons/lircmd.c
+index 023777c..e69078c 100644
+--- a/daemons/lircmd.c
++++ b/daemons/lircmd.c
+@@ -67,7 +67,6 @@ typedef uint64_t __u64;
+
+ static int uinputfd = -1;
+ static int useuinput = 0;
+-loglevel_t loglevel = 0;
+
+
+ static const struct option lircmd_options[] = {
+diff --git a/tools/irrecord.c b/tools/irrecord.c
+index f52328c..772b090 100644
+--- a/tools/irrecord.c
++++ b/tools/irrecord.c
+@@ -113,9 +113,6 @@ lirc_t aeps = 100;
+
+ #define SAMPLES 80
+
+-// Actual loglevel as per -D option, see lirc_log.h.
+-loglevel_t loglevel = LIRC_WARNING;
+-
+ int daemonized = 0;
+
+ struct ir_remote *emulation_data;
+@@ -407,6 +404,8 @@ int main(int argc, char **argv)
+ char commandline[128];
+ char path[128];
+ int get_pre = 0, get_post = 0, test = 0, invert = 0, trail = 0;
++ // Actual loglevel as per -D option, see lirc_log.h.
++ loglevel_t loglevel = LIRC_WARNING;
+
+ get_commandline(argc, argv, commandline, sizeof(commandline));
+ force = 0;
+--
+2.1.0
+
diff --git a/package/lttng-libust/Config.in b/package/lttng-libust/Config.in
index 7c30d7846d..1c26843e21 100644
--- a/package/lttng-libust/Config.in
+++ b/package/lttng-libust/Config.in
@@ -8,6 +8,7 @@ config BR2_PACKAGE_LTTNG_LIBUST
depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_powerpc || BR2_x86_64
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_58854 # liburcu/gcc-4.8.x bug
depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_STATIC_LIBS
help
Userspace tracing library for the LTTng 2.x tracing
infrastructure. It allows userspace programs to create
@@ -16,9 +17,9 @@ config BR2_PACKAGE_LTTNG_LIBUST
http://lttng.org
-comment "lttng-libust needs a toolchain w/ wchar, threads"
+comment "lttng-libust needs a toolchain w/ dynamic library, wchar, threads"
depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_powerpc || BR2_x86_64
- depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_58854 # liburcu/gcc-4.8.x bug
comment "lttng-libust needs a toolchain not affected by GCC bug 58854"
diff --git a/package/lua-periphery/0001-Makefile-don-t-clone-build-c-periphery.patch b/package/lua-periphery/0001-Makefile-don-t-clone-build-c-periphery.patch
new file mode 100644
index 0000000000..f6d3f271a6
--- /dev/null
+++ b/package/lua-periphery/0001-Makefile-don-t-clone-build-c-periphery.patch
@@ -0,0 +1,32 @@
+From 395bb4cb37612a4ac94346531b13ff0e901ed05e Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 5 May 2015 23:59:17 +0200
+Subject: [PATCH 1/2] Makefile: don't clone/build c-periphery
+
+This patch adjusts lua-periphery Makefile to not clone and build the
+c-periphery library by itself, and instead use the already available
+c-periphery library.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lua-periphery/Makefile b/lua-periphery/Makefile
+index bed9b32..a4c68eb 100644
+--- a/lua-periphery/Makefile
++++ b/lua-periphery/Makefile
+@@ -36,8 +36,8 @@ install:
+
+ ###########################################################################
+
+-$(LIB): $(C_PERIPHERY_LIB) $(SRCS)
+- $(CC) $(CFLAGS) $(LDFLAGS) $(SRCS) $(C_PERIPHERY_LIB) -o $@
++$(LIB): $(SRCS)
++ $(CC) $(CFLAGS) $(LDFLAGS) $(SRCS) -lc-periphery -o $@
+
+ $(C_PERIPHERY_LIB): $(C_PERIPHERY)/Makefile
+ cd $(C_PERIPHERY); $(MAKE)
+--
+2.1.0
+
diff --git a/package/lua-periphery/0002-Fix-include-paths.patch b/package/lua-periphery/0002-Fix-include-paths.patch
new file mode 100644
index 0000000000..ede4e302b0
--- /dev/null
+++ b/package/lua-periphery/0002-Fix-include-paths.patch
@@ -0,0 +1,89 @@
+From b0a48721c48e0857458eb46b36ae575281412c64 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sat, 16 May 2015 15:12:30 +0200
+Subject: [PATCH 2/2] Fix include paths for c-periphery
+
+The lua-periphery source code is designed to have c-periphery cloned
+and built internally, so the include paths are written with this
+assumption.
+
+This commit adjusts the header paths of the c-periphery headers to be
+compatible with a separated build/installation of c-periphery.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ src/lua_gpio.c | 2 +-
+ src/lua_i2c.c | 2 +-
+ src/lua_mmio.c | 2 +-
+ src/lua_serial.c | 2 +-
+ src/lua_spi.c | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/lua-periphery/src/lua_gpio.c b/lua-periphery/src/lua_gpio.c
+index cfeb03d..711d7e1 100644
+--- a/lua-periphery/src/lua_gpio.c
++++ b/lua-periphery/src/lua_gpio.c
+@@ -13,7 +13,7 @@
+ #include <stdint.h>
+ #include <errno.h>
+
+-#include <c-periphery/src/gpio.h>
++#include <c-periphery/gpio.h>
+ #include "lua_periphery.h"
+ #include "lua_51compat.h"
+
+diff --git a/lua-periphery/src/lua_i2c.c b/lua-periphery/src/lua_i2c.c
+index ebdab79..7b38f6f 100644
+--- a/lua-periphery/src/lua_i2c.c
++++ b/lua-periphery/src/lua_i2c.c
+@@ -13,7 +13,7 @@
+ #include <stdint.h>
+ #include <errno.h>
+
+-#include <c-periphery/src/i2c.h>
++#include <c-periphery/i2c.h>
+ #include "lua_periphery.h"
+ #include "lua_51compat.h"
+
+diff --git a/lua-periphery/src/lua_mmio.c b/lua-periphery/src/lua_mmio.c
+index 5ab1188..7dd399b 100644
+--- a/lua-periphery/src/lua_mmio.c
++++ b/lua-periphery/src/lua_mmio.c
+@@ -13,7 +13,7 @@
+ #include <stdint.h>
+ #include <errno.h>
+
+-#include <c-periphery/src/mmio.h>
++#include <c-periphery/mmio.h>
+ #include "lua_periphery.h"
+ #include "lua_51compat.h"
+
+diff --git a/lua-periphery/src/lua_serial.c b/lua-periphery/src/lua_serial.c
+index 7d332af..85afa4a 100644
+--- a/lua-periphery/src/lua_serial.c
++++ b/lua-periphery/src/lua_serial.c
+@@ -13,7 +13,7 @@
+ #include <stdint.h>
+ #include <errno.h>
+
+-#include <c-periphery/src/serial.h>
++#include <c-periphery/serial.h>
+ #include "lua_periphery.h"
+ #include "lua_51compat.h"
+
+diff --git a/lua-periphery/src/lua_spi.c b/lua-periphery/src/lua_spi.c
+index a4735a2..0c1e583 100644
+--- a/lua-periphery/src/lua_spi.c
++++ b/lua-periphery/src/lua_spi.c
+@@ -13,7 +13,7 @@
+ #include <stdint.h>
+ #include <errno.h>
+
+-#include <c-periphery/src/spi.h>
++#include <c-periphery/spi.h>
+ #include "lua_periphery.h"
+ #include "lua_51compat.h"
+
+--
+2.1.0
+
diff --git a/package/lua-periphery/Config.in b/package/lua-periphery/Config.in
index de5a71633c..df0546fabb 100644
--- a/package/lua-periphery/Config.in
+++ b/package/lua-periphery/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_LUA_PERIPHERY
bool "lua-periphery"
depends on BR2_PACKAGE_HAS_LUAINTERPRETER
+ select BR2_PACKAGE_C_PERIPHERY
help
A library for GPIO, SPI, I2C, MMIO, and Serial peripheral I/O
interface access in userspace Linux with Lua.
diff --git a/package/lua-periphery/lua-periphery.mk b/package/lua-periphery/lua-periphery.mk
index 0717a27545..99e1dbea93 100644
--- a/package/lua-periphery/lua-periphery.mk
+++ b/package/lua-periphery/lua-periphery.mk
@@ -7,6 +7,7 @@
LUA_PERIPHERY_VERSION_UPSTREAM = 1.0.4
LUA_PERIPHERY_VERSION = $(LUA_PERIPHERY_VERSION_UPSTREAM)-1
LUA_PERIPHERY_SUBDIR = lua-periphery
+LUA_PERIPHERY_DEPENDENCIES = c-periphery
LUA_PERIPHERY_LICENSE = MIT
LUA_PERIPHERY_LICENSE_FILES = $(LUA_PERIPHERY_SUBDIR)/LICENSE
diff --git a/package/lxc/Config.in b/package/lxc/Config.in
index 10a668d446..ffd9b4a061 100644
--- a/package/lxc/Config.in
+++ b/package/lxc/Config.in
@@ -3,6 +3,8 @@ config BR2_PACKAGE_LXC
select BR2_PACKAGE_LIBCAP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
+ # build system forcefully builds a shared library
+ depends on !BR2_STATIC_LIBS
# the toolchain doesn't support setns syscall
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
@@ -14,9 +16,10 @@ config BR2_PACKAGE_LXC
https://linuxcontainers.org/
-comment "lxc needs a toolchain w/ threads, headers >= 3.0"
+comment "lxc needs a toolchain w/ threads, headers >= 3.0, dynamic library"
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
depends on !BR2_TOOLCHAIN_HAS_THREADS \
- || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
+ || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 \
+ || BR2_STATIC_LIBS
diff --git a/package/mongoose/mongoose.mk b/package/mongoose/mongoose.mk
index e31b099a93..6797e58857 100644
--- a/package/mongoose/mongoose.mk
+++ b/package/mongoose/mongoose.mk
@@ -10,7 +10,7 @@ MONGOOSE_LICENSE = GPLv2
MONGOOSE_LICENSE_FILES = LICENSE
MONGOOSE_INSTALL_STAGING = YES
-MONGOOSE_CFLAGS = $(TARGET_CFLAGS) $(TARGET_LDFLAGS)
+MONGOOSE_CFLAGS = $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -DMONGOOSE_NO_DL
ifeq ($(BR2_PACKAGE_OPENSSL),y)
MONGOOSE_DEPENDENCIES += openssl
@@ -21,7 +21,7 @@ endif
define MONGOOSE_BUILD_CMDS
$(TARGET_CC) $(@D)/examples/web_server/web_server.c $(@D)/mongoose.c \
-I$(@D) -o $(@D)/examples/web_server/web_server \
- $(MONGOOSE_CFLAGS) -pthread -ldl
+ $(MONGOOSE_CFLAGS) -pthread
$(TARGET_CC) -c $(@D)/mongoose.c $(MONGOOSE_CFLAGS) -o $(@D)/mongoose.o
$(TARGET_AR) rcs $(@D)/libmongoose.a $(@D)/mongoose.o
endef
diff --git a/package/mono/0003-fix-parallel-install.patch b/package/mono/0003-fix-parallel-install.patch
new file mode 100644
index 0000000000..c151173247
--- /dev/null
+++ b/package/mono/0003-fix-parallel-install.patch
@@ -0,0 +1,40 @@
+mcs: fix installation with parallel make
+
+In mcs/ the install of xbuild_12 and xbuild_14 will end-up installing
+the same files:
+ ${NETFRAMEWORK_DIR}/v2.0/RedistList/FrameworkList.xml
+ ${NETFRAMEWORK_DIR}/v3.0/RedistList/FrameworkList.xml
+ ${NETFRAMEWORK_DIR}/v3.5/RedistList/FrameworkList.xml
+ ${NETFRAMEWORK_DIR}/v4.0/Profile/Client/RedistList/FrameworkList.xml
+ ${NETFRAMEWORK_DIR}/v4.0/RedistList/FrameworkList.xml
+ ${NETFRAMEWORK_DIR}/v4.5.1/RedistList/FrameworkList.xml
+ ${NETFRAMEWORK_DIR}/v4.5/RedistList/FrameworkList.xml
+
+This is because there is no atomicity when installing each file, and
+xbuild_12 and xbuild_14 may well run in parallel, each trying to install
+each of those files; but the 'install' utility will first check if the
+target file exists or not, and behaves differently if it does than if it
+does not, thus leading to build failures like so:
+ http://autobuild.buildroot.org/results/c32/c3288c5d1fb94474f14a4a889e76135878d403bc/build-end.log
+
+So, ensure ordering of the install of xbuild_12 and xbuild_14 (the
+ordering is completely arbitrary, either way gives the same installed
+files).
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Cc: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+
+diff -durN host-mono-4.0.0.orig/mcs/Makefile host-mono-4.0.0/mcs/Makefile
+--- host-mono-4.0.0.orig/mcs/Makefile 2015-04-09 16:55:53.000000000 +0200
++++ host-mono-4.0.0/mcs/Makefile 2015-05-16 17:25:44.475542483 +0200
+@@ -43,6 +43,10 @@
+ profile-do--%:
+ $(MAKE) PROFILE=$(subst --, ,$*)
+
++# xbuild_12 and xbuild_14 will try to install the same files, so they need
++# to be ordered
++profile-do--xbuild_14--install: profile-do--xbuild_12--install
++
+ # We don't want to run the tests in parallel. We want behaviour like -k.
+ profiles-do--run-test:
+ ret=:; $(foreach p,$(PROFILES), { $(MAKE) PROFILE=$(p) run-test || ret=false; }; ) $$ret
diff --git a/package/mono/mono.hash b/package/mono/mono.hash
new file mode 100644
index 0000000000..c1d0c6ed97
--- /dev/null
+++ b/package/mono/mono.hash
@@ -0,0 +1,2 @@
+# sha256 locally computed
+sha256 4485d8b44a939bef64b3b1b6a7f0388761cfe6803e149aa1e56aab023cfb267e mono-4.0.0.tar.bz2
diff --git a/package/mono/mono.mk b/package/mono/mono.mk
index c0a0827213..63026f1441 100644
--- a/package/mono/mono.mk
+++ b/package/mono/mono.mk
@@ -4,7 +4,7 @@
#
################################################################################
-MONO_VERSION = 4.0.1
+MONO_VERSION = 4.0.0
MONO_SITE = http://download.mono-project.com/sources/mono
MONO_SOURCE = mono-$(MONO_VERSION).tar.bz2
MONO_LICENSE = GPLv2 or MIT (compiler, tools), LGPLv2 (runtime libs), MIT (class libs) or commercial
diff --git a/package/monolite/monolite.hash b/package/monolite/monolite.hash
new file mode 100644
index 0000000000..1139c0af10
--- /dev/null
+++ b/package/monolite/monolite.hash
@@ -0,0 +1,2 @@
+# sha256 locally computed
+sha256 07a8573feef0053ec28b98355feba8c83dcfb3f99c2d0913a16a287382daf4b8 monolite-117-latest.tar.gz
diff --git a/package/mosquitto/Config.in b/package/mosquitto/Config.in
index 50937d0554..4053c62259 100644
--- a/package/mosquitto/Config.in
+++ b/package/mosquitto/Config.in
@@ -2,6 +2,9 @@ config BR2_PACKAGE_MOSQUITTO
bool "mosquitto"
depends on BR2_USE_MMU # fork()
depends on !BR2_STATIC_LIBS # builds .so
+ # Triggers the _gp link issue
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
help
Mosquitto is an open source message broker that implements
the MQ Telemetry Transport protocol versions 3.1 and
@@ -16,3 +19,5 @@ config BR2_PACKAGE_MOSQUITTO
comment "mosquitto needs a toolchain w/ dynamic library"
depends on BR2_USE_MMU
depends on BR2_STATIC_LIBS
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
diff --git a/package/mpd/Config.in b/package/mpd/Config.in
index 41a4d54104..65b46df3e3 100644
--- a/package/mpd/Config.in
+++ b/package/mpd/Config.in
@@ -7,6 +7,7 @@ menuconfig BR2_PACKAGE_MPD
# sparc & CS powerpc gcc are too old
depends on !BR2_sparc
depends on !(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103 || BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009)
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
@@ -225,10 +226,14 @@ config BR2_PACKAGE_MPD_AO
config BR2_PACKAGE_MPD_JACK2
bool "jack2"
depends on BR2_ARCH_HAS_ATOMICS
+ depends on !BR2_STATIC_LIBS # jack2
select BR2_PACKAGE_JACK2
help
Enable jack output support.
+comment "jack support needs a toolchain w/ dynamic library"
+ depends on BR2_STATIC_LIBS
+
config BR2_PACKAGE_MPD_OSS
bool "oss"
help
@@ -237,10 +242,14 @@ config BR2_PACKAGE_MPD_OSS
config BR2_PACKAGE_MPD_PULSEAUDIO
bool "pulseaudio"
depends on BR2_ARCH_HAS_ATOMICS # pulseaudio
+ depends on !BR2_STATIC_LIBS # pulseaudio
select BR2_PACKAGE_PULSEAUDIO
help
Enable pulseaudio output support.
+comment "pulseaudio support needs a toolchain w/ dynamic library"
+ depends on BR2_STATIC_LIBS
+
comment "Miscellaneous plugins"
config BR2_PACKAGE_MPD_AVAHI_SUPPORT
@@ -290,6 +299,7 @@ endif
comment "mpd needs a toolchain w/ C++, threads, wchar"
depends on BR2_USE_MMU
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
depends on !BR2_sparc
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/mpg123/mpg123.mk b/package/mpg123/mpg123.mk
index c2d7b1fc35..c9acb6be86 100644
--- a/package/mpg123/mpg123.mk
+++ b/package/mpg123/mpg123.mk
@@ -52,6 +52,9 @@ ifeq ($(BR2_PACKAGE_PORTAUDIO),y)
MPG123_AUDIO += portaudio
MPG123_CONF_OPTS += --with-default-audio=portaudio
MPG123_DEPENDENCIES += portaudio
+# configure script does NOT use pkg-config to figure out how to link
+# with portaudio, breaking static linking as portaudio uses pthreads
+MPG123_CONF_ENV += LIBS='$(shell $(PKG_CONFIG_HOST_BINARY) --libs portaudio-2.0)'
endif
ifeq ($(BR2_PACKAGE_SDL),y)
diff --git a/package/nbd/nbd.hash b/package/nbd/nbd.hash
index 11360507fa..306e11be71 100644
--- a/package/nbd/nbd.hash
+++ b/package/nbd/nbd.hash
@@ -1,2 +1,3 @@
-# Locally computed:
-sha256 48a223770eb136603dc266587d9a37ed5024132e09e2c8484096d4c46cfed3e2 nbd-3.8.tar.xz
+# From http://sourceforge.net/projects/nbd/files/nbd/3.11/
+md5 73d11644a28b9f335292cdb3bdc4b74b nbd-3.11.tar.xz
+sha1 a9823a656ef3411c7a14f3c1ae843d92a9141476 nbd-3.11.tar.xz
diff --git a/package/nbd/nbd.mk b/package/nbd/nbd.mk
index f512f7a5ac..fee2cf815a 100644
--- a/package/nbd/nbd.mk
+++ b/package/nbd/nbd.mk
@@ -4,7 +4,7 @@
#
################################################################################
-NBD_VERSION = 3.8
+NBD_VERSION = 3.11
NBD_SOURCE = nbd-$(NBD_VERSION).tar.xz
NBD_SITE = http://downloads.sourceforge.net/project/nbd/nbd/$(NBD_VERSION)
NBD_CONF_OPTS = --enable-lfs
diff --git a/package/ncurses/0002-gcc-5.x-MKlib_gen.patch b/package/ncurses/0002-gcc-5.x-MKlib_gen.patch
new file mode 100644
index 0000000000..077120888e
--- /dev/null
+++ b/package/ncurses/0002-gcc-5.x-MKlib_gen.patch
@@ -0,0 +1,33 @@
+Fix GCC 5.x preprocessor failure
+
+Building ncurses 5.9 with GCC 5.x fails with a syntax error, caused by
+earlier preprocessing. This failure is more likely when building for
+host (e.g. host-ncurses) that recently updated to GCC 5.x.
+
+This patch is taken from the following link (more information is also
+available here):
+https://groups.google.com/forum/#!topic/sage-trac/U31shviuqzk
+
+Signed-off-by: Doug Kehn <rdkehn@yahoo.com>
+
+Index: b/ncurses/base/MKlib_gen.sh
+===================================================================
+--- a/ncurses/base/MKlib_gen.sh
++++ b/ncurses/base/MKlib_gen.sh
+@@ -62,7 +62,15 @@ if test "${LC_MESSAGES+set}" = set; then
+ if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+ if test "${LC_COLLATE+set}" = set; then LC_COLLATE=C; export LC_COLLATE; fi
+
+-preprocessor="$1 -DNCURSES_INTERNALS -I../include"
++# Work around "unexpected" output of GCC 5.1.0's cpp w.r.t. #line directives
++# by simply suppressing them:
++case `$1 -dumpversion 2>/dev/null` in
++ 5.[01].*) # assume a "broken" one
++ preprocessor="$1 -P -DNCURSES_INTERNALS -I../include"
++ ;;
++ *)
++ preprocessor="$1 -DNCURSES_INTERNALS -I../include"
++esac
+ AWK="$2"
+ USE="$3"
+
diff --git a/package/neard/Config.in b/package/neard/Config.in
index ed20e0604b..353d1af8c5 100644
--- a/package/neard/Config.in
+++ b/package/neard/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_NEARD
depends on BR2_USE_WCHAR # libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # libnl, dbus, libglib2
depends on BR2_USE_MMU # dbus, libglib2
+ depends on !BR2_STATIC_LIBS # dlopen
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_LIBNL
@@ -23,6 +24,6 @@ config BR2_PACKAGE_NEARD_TOOLS
endif
-comment "neard needs a toolchain w/ wchar, threads"
+comment "neard needs a toolchain w/ wchar, threads, dynamic library"
depends on BR2_USE_MMU
- depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
diff --git a/package/neardal/neardal.mk b/package/neardal/neardal.mk
index 382c42e103..ddaecbeb12 100644
--- a/package/neardal/neardal.mk
+++ b/package/neardal/neardal.mk
@@ -21,6 +21,13 @@ else ifeq ($(BR2_PACKAGE_LIBEDIT),y)
NEARDAL_DEPENDENCIES += libedit
endif
+# Both readline and libedit link with ncurses but the configure script
+# forgets to take that into account, causing the detection to fail
+# when linking statically
+ifeq ($(BR2_STATIC_LIBS),y)
+NEARDAL_CONF_ENV += LIBS='$(shell $(PKG_CONFIG_HOST_BINARY) --libs ncurses)'
+endif
+
define NEARDAL_INSTALL_NCL
$(INSTALL) -m 0755 -D $(@D)/ncl/ncl $(TARGET_DIR)/usr/bin/ncl
endef
diff --git a/package/newt/Config.in b/package/newt/Config.in
index 1b3068a168..a2216155bf 100644
--- a/package/newt/Config.in
+++ b/package/newt/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_NEWT
bool "newt"
depends on BR2_USE_WCHAR
depends on BR2_USE_MMU # slang
+ depends on !BR2_STATIC_LIBS # unconditionally creates .so
select BR2_PACKAGE_SLANG
select BR2_PACKAGE_POPT
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
@@ -10,6 +11,6 @@ config BR2_PACKAGE_NEWT
http://www.redhat.com/
-comment "newt needs a toolchain w/ wchar"
+comment "newt needs a toolchain w/ wchar, dynamic library"
depends on BR2_USE_MMU
- depends on !BR2_USE_WCHAR
+ depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS
diff --git a/package/nmap/nmap.mk b/package/nmap/nmap.mk
index c8c16e6f17..d46d58b4ec 100644
--- a/package/nmap/nmap.mk
+++ b/package/nmap/nmap.mk
@@ -14,6 +14,13 @@ NMAP_CONF_OPTS = --without-liblua --without-zenmap \
NMAP_LICENSE = GPLv2
NMAP_LICENSE_FILES = COPYING
+# needed by libpcap
+NMAP_LIBS_FOR_STATIC_LINK += $(shell $(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs)
+
+ifeq ($(BR2_STATIC_LIBS),y)
+NMAP_CONF_ENV += LIBS='$(NMAP_LIBS_FOR_STATIC_LINK)'
+endif
+
# for 0001-libdnet-wrapper-configure.patch
define NMAP_WRAPPER_EXEC
chmod +x $(@D)/libdnet-stripped/configure.gnu
@@ -22,7 +29,8 @@ NMAP_POST_PATCH_HOOKS += NMAP_WRAPPER_EXEC
ifeq ($(BR2_PACKAGE_OPENSSL),y)
NMAP_CONF_OPTS += --with-openssl="$(STAGING_DIR)/usr"
-NMAP_DEPENDENCIES += openssl
+NMAP_DEPENDENCIES += host-pkgconf openssl
+NMAP_LIBS_FOR_STATIC_LINK += $(shell $(PKG_CONFIG_HOST_BINARY) --libs --static openssl)
else
NMAP_CONF_OPTS += --without-openssl
endif
diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk
index 554094db1b..36fc537920 100644
--- a/package/ntp/ntp.mk
+++ b/package/ntp/ntp.mk
@@ -7,7 +7,7 @@
NTP_VERSION_MAJOR = 4.2
NTP_VERSION = $(NTP_VERSION_MAJOR).8p2
NTP_SITE = http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-$(NTP_VERSION_MAJOR)
-NTP_DEPENDENCIES = host-pkgconf libevent
+NTP_DEPENDENCIES = host-pkgconf libevent $(if $(BR2_PACKAGE_BUSYBOX),busybox)
NTP_LICENSE = ntp license
NTP_LICENSE_FILES = COPYRIGHT
NTP_CONF_ENV = ac_cv_lib_md5_MD5Init=no
diff --git a/package/ofono/Config.in b/package/ofono/Config.in
index b26b5e76a0..eb1856fdb7 100644
--- a/package/ofono/Config.in
+++ b/package/ofono/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_OFONO
depends on BR2_USE_WCHAR # gettext, libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
depends on BR2_USE_MMU # dbus, libglib2
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405 # libcap-ng
select BR2_PACKAGE_LIBCAP_NG
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_LIBGLIB2
@@ -17,3 +18,4 @@ config BR2_PACKAGE_OFONO
comment "ofono needs a toolchain w/ wchar, threads"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
diff --git a/package/ola/0002-autotools-don-t-overwrite-CC-and-CXX-with-ACX_PTHREA.patch b/package/ola/0002-autotools-don-t-overwrite-CC-and-CXX-with-ACX_PTHREA.patch
deleted file mode 100644
index 80d21bc550..0000000000
--- a/package/ola/0002-autotools-don-t-overwrite-CC-and-CXX-with-ACX_PTHREA.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 991eef9f84a5ef58eaab8ea0a85f3b4bce7b00a3 Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@openwide.fr>
-Date: Sat, 2 May 2015 01:50:14 +0200
-Subject: [PATCH] autotools: don't overwrite CC and CXX with ACX_PTHREAD
- success
-
-If ACX_PTHREAD sucess, CC and CXX value are overwriten respectively
-to PTHREAD_CC and PTHREAD_CXX. But ACX_PTHREAD has been hacked to
-set PTHREAD_CXX variable for the C++ compiler and configure.ac has
-been modified accordingly.
-
-If ax_pthread.m4 wich provide standard AX_PTHREAD macro (and it's
-alias ACX_PTHREAD and AX_PTHREAD), is installed on the system by
-autoconf-archive package, then ax_pthread.m4 is used during
-autoreconf instread of acx_pthread.m4 bundled with ola.
-
-AX_PTHREAD macro from ax_pthread.m4 check only the thread support
-with the C compiler. As a result, the C++ compiler variable
-PTHREAD_CXX is not initialized, so CXX become empy and the build
-fail during resolv.h check.
-
-configure:19945: checking for 2-arg pthread_setname_np
-configure:19965: -o conftest -O2 [snip -I and -L] conftest.cpp -ldl >&5
-./configure: line 2037: -o: command not found
-
-In the Buildroot use case, it's safe to remove CC and CXX overwrite
-since only gcc/g++ compiler are used.
-
-Signed-off-by: Romain Naour <romain.naour@openwide.fr>
----
- configure.ac | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index b1946b6..ef85af5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -303,9 +303,7 @@ AM_CONDITIONAL([HAVE_NCURSES], [test "x$have_ncurses" = xyes])
- ACX_PTHREAD([
- LIBS="$PTHREAD_LIBS $LIBS"
- CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-- CXXFLAGS="$CXXFLAGS $PTHREAD_CXXFLAGS"
-- CC="$PTHREAD_CC"
-- CXX="$PTHREAD_CXX"],
-+ CXXFLAGS="$CXXFLAGS $PTHREAD_CXXFLAGS"],
- [AC_MSG_ERROR([Missing pthread, please install it])])
-
- # pthread_setname_np can take either 1 or 2 arguments.
---
-1.9.3
-
diff --git a/package/ola/Config.in b/package/ola/Config.in
index 1c4b8d82fb..f587db5ad0 100644
--- a/package/ola/Config.in
+++ b/package/ola/Config.in
@@ -32,9 +32,8 @@ config BR2_PACKAGE_OLA_WEB
config BR2_PACKAGE_OLA_PYTHON_BINDINGS
bool "python bindings"
- select BR2_PACKAGE_PYTHON
+ depends on BR2_PACKAGE_PYTHON
select BR2_PACKAGE_PYTHON_PROTOBUF
- depends on BR2_USE_MMU
help
Build OLA with support for the Python language.
@@ -55,8 +54,7 @@ config BR2_PACKAGE_OLA_EXAMPLES
config BR2_PACKAGE_OLA_RDM_TESTS
bool "rdm tests"
- select BR2_PACKAGE_OLA_PYTHON_BINDINGS
- depends on BR2_USE_MMU
+ depends on BR2_PACKAGE_OLA_PYTHON_BINDINGS
help
Build OLA RDM tests.
diff --git a/package/opencv/0003-cmake-OpenCVGenPkgconfig.cmake-rework-opencv.pc-gene.patch b/package/opencv/0003-cmake-OpenCVGenPkgconfig.cmake-rework-opencv.pc-gene.patch
new file mode 100644
index 0000000000..768f08d778
--- /dev/null
+++ b/package/opencv/0003-cmake-OpenCVGenPkgconfig.cmake-rework-opencv.pc-gene.patch
@@ -0,0 +1,156 @@
+From eceada586bbf18fc267e437522ec4f1f23ddc656 Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49@gmail.com>
+Date: Fri, 3 Oct 2014 00:32:40 +0200
+Subject: [PATCH] cmake/OpenCVGenPkgconfig.cmake: rework opencv.pc generation
+
+Using absolute path to locate the components in the "Libs:" field of the
+*.pc can badly break cross-compilation, especially when building
+statically linked objects.
+
+Indeed, pkg-config automatically replaces the '-I...' and '-L...' paths
+when the PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_LIBDIR environment
+variables are set [1]. This feature is very helpful and common in
+cross-compilation framework like Buildroot [2,3].
+
+When there are absolute paths in the *.pc files, pkg-config won't be
+able to do the path substitions for these paths when the afromentioned
+environment variables are set.
+In such case, since the prefix is the target one, not the sysroot one,
+these libraries' abolute paths will point to:
+- in the best case: a non-existing file (i.e. these files do not exists
+ on the host system;
+- at worst: the host system's libraries. This will make the linking
+ failed because these host system's libraries will most likely not be
+ build for the target architecture [4].
+
+So, this patch replace the components' absolute paths by the form:
+ -L<libdir> -l<libname>
+
+This way, the linker will be able to resolve each dependency path,
+whatever the kind of objects/build (shared object or static build) it
+is dealing with.
+
+Note that for static link, the library order does matter [5]. The order
+of the opencv components has been carefully chosen to comply with this
+requirement.
+
+Fixes #3931
+
+[1] http://linux.die.net/man/1/pkg-config
+[2] http://buildroot.org/
+[3] http://git.buildroot.net/buildroot/tree/package/pkgconf/pkg-config.in
+[4] http://autobuild.buildroot.net/results/e8a/e8a859276db34aff87ef181b0cce98916b0afc90/build-end.log
+[5] http://stackoverflow.com/questions/45135/linker-order-gcc
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+
+---
+Note: this patch properly applies on top of the master branch, though it
+ has been written on top of the 2.4 branch.
+---
+ cmake/OpenCVGenPkgconfig.cmake | 64 +++++++++++++++++++++++++++---------------
+ 1 file changed, 42 insertions(+), 22 deletions(-)
+
+diff --git a/cmake/OpenCVGenPkgconfig.cmake b/cmake/OpenCVGenPkgconfig.cmake
+index fa57db9..183c56d 100644
+--- a/cmake/OpenCVGenPkgconfig.cmake
++++ b/cmake/OpenCVGenPkgconfig.cmake
+@@ -8,10 +8,6 @@
+ #
+ # ${BIN_DIR}/unix-install/opencv.pc -> For use *with* "make install"
+ # -------------------------------------------------------------------------------------------
+-set(prefix "${CMAKE_INSTALL_PREFIX}")
+-set(exec_prefix "\${prefix}")
+-set(libdir "") #TODO: need link paths for OpenCV_EXTRA_COMPONENTS
+-set(includedir "\${prefix}/${OPENCV_INCLUDE_INSTALL_PATH}")
+
+ if(CMAKE_BUILD_TYPE MATCHES "Release")
+ set(ocv_optkind OPT)
+@@ -35,42 +31,66 @@ ocv_list_reverse(OpenCV_LIB_COMPONENTS)
+ ocv_list_reverse(OpenCV_EXTRA_COMPONENTS)
+
+ #build the list of components
+-set(OpenCV_LIB_COMPONENTS_ "")
+-foreach(CVLib ${OpenCV_LIB_COMPONENTS})
+- get_target_property(libpath ${CVLib} LOCATION_${CMAKE_BUILD_TYPE})
+- get_filename_component(libname "${libpath}" NAME)
+
+- if(INSTALL_TO_MANGLED_PATHS)
+- set(libname "${libname}.${OPENCV_VERSION}")
+- endif()
++# Note:
++# when linking against static libraries, if libfoo depends on libbar, then
++# libfoo must come first in the linker flags.
++
++# world is a special target whose library should come first, especially for
++# static link.
++if(OpenCV_LIB_COMPONENTS MATCHES "opencv_world")
++ list(REMOVE_ITEM OpenCV_LIB_COMPONENTS "opencv_world")
++ list(INSERT OpenCV_LIB_COMPONENTS 0 "opencv_world")
++endif()
++
++set(OpenCV_LIB_COMPONENTS_)
++foreach(CVLib ${OpenCV_LIB_COMPONENTS})
+
+- #need better solution....
+- if(libpath MATCHES "3rdparty")
+- set(installDir "share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH}")
++ get_target_property(libloc ${CVLib} LOCATION_${CMAKE_BUILD_TYPE})
++ if(libloc MATCHES "3rdparty")
++ set(libpath "\${exec_prefix}/share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH}")
+ else()
+- set(installDir "${OPENCV_LIB_INSTALL_PATH}")
++ set(libpath "\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}")
+ endif()
++ list(APPEND OpenCV_LIB_COMPONENTS_ "-L${libpath}")
++
++ get_filename_component(libname ${CVLib} NAME_WE)
++ string(REGEX REPLACE "^lib" "" libname "${libname}")
++ list(APPEND OpenCV_LIB_COMPONENTS_ "-l${libname}")
+
+- set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} \${exec_prefix}/${installDir}/${libname}")
+ endforeach()
+
+ # add extra dependencies required for OpenCV
+-set(OpenCV_LIB_COMPONENTS ${OpenCV_LIB_COMPONENTS_})
+ if(OpenCV_EXTRA_COMPONENTS)
+ foreach(extra_component ${OpenCV_EXTRA_COMPONENTS})
+
+- if(extra_component MATCHES "^-[lL]" OR extra_component MATCHES "[\\/]")
+- set(maybe_l_prefix "")
++ if(extra_component MATCHES "^-[lL]")
++ set(libprefix "")
++ set(libname "${extra_component}")
++ elseif(extra_component MATCHES "[\\/]")
++ get_filename_component(libdir "${extra_component}" PATH)
++ list(APPEND OpenCV_LIB_COMPONENTS_ "-L${libdir}")
++ get_filename_component(libname "${extra_component}" NAME_WE)
++ string(REGEX REPLACE "^lib" "" libname "${libname}")
++ set(libprefix "-l")
+ else()
+- set(maybe_l_prefix "-l")
++ set(libprefix "-l")
++ set(libname "${extra_component}")
+ endif()
+-
+- set(OpenCV_LIB_COMPONENTS "${OpenCV_LIB_COMPONENTS} ${maybe_l_prefix}${extra_component}")
++ list(APPEND OpenCV_LIB_COMPONENTS_ "${libprefix}${libname}")
+
+ endforeach()
+ endif()
+
++list(REMOVE_DUPLICATES OpenCV_LIB_COMPONENTS_)
++string(REPLACE ";" " " OpenCV_LIB_COMPONENTS "${OpenCV_LIB_COMPONENTS_}")
++
+ #generate the .pc file
++set(prefix "${CMAKE_INSTALL_PREFIX}")
++set(exec_prefix "\${prefix}")
++set(libdir "\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}")
++set(includedir "\${prefix}/${OPENCV_INCLUDE_INSTALL_PATH}")
++
+ if(INSTALL_TO_MANGLED_PATHS)
+ set(OPENCV_PC_FILE_NAME "opencv-${OPENCV_VERSION}.pc")
+ else()
+--
+2.4.1
+
diff --git a/package/openldap/openldap.mk b/package/openldap/openldap.mk
index 991d36953f..68464abcea 100644
--- a/package/openldap/openldap.mk
+++ b/package/openldap/openldap.mk
@@ -10,6 +10,7 @@ OPENLDAP_SITE = ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release
OPENLDAP_LICENSE = OpenLDAP Public License
OPENLDAP_LICENSE_FILES = LICENSE
OPENLDAP_INSTALL_STAGING = YES
+OPENLDAP_DEPENDENCIES = host-pkgconf
ifeq ($(BR2_PACKAGE_OPENSSL),y)
OPENLDAP_TLS = openssl
@@ -30,6 +31,7 @@ endif
ifeq ($(BR2_PACKAGE_OPENSSL),y)
OPENLDAP_MP = bignum
OPENLDAP_DEPENDENCIES += openssl
+OPENLDAP_CONF_ENV = LIBS="$(shell $(PKG_CONFIG_HOST_BINARY) --libs libssl libcrypto)"
else ifeq ($(BR2_PACKAGE_GMP),y)
OPENLDAP_MP = gmp
OPENLDAP_DEPENDENCIES += gmp
@@ -37,7 +39,7 @@ else
OPENLDAP_MP = longlong
endif
-OPENLDAP_CONF_ENV = ac_cv_func_memcmp_working=yes
+OPENLDAP_CONF_ENV += ac_cv_func_memcmp_working=yes
OPENLDAP_CONF_OPTS += \
--enable-syslog \
diff --git a/package/php/0001-ditch-unset.patch b/package/php/0001-ditch-unset.patch
index b43b40f0c4..eda83c95a3 100644
--- a/package/php/0001-ditch-unset.patch
+++ b/package/php/0001-ditch-unset.patch
@@ -3,9 +3,9 @@ Terminate them with extreme prejudice.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-diff -Nura php-5.6.7.orig/aclocal.m4 php-5.6.7/aclocal.m4
---- php-5.6.7.orig/aclocal.m4 2015-04-08 11:08:11.208848359 -0300
-+++ php-5.6.7/aclocal.m4 2015-04-08 11:08:49.828160195 -0300
+diff -Nura php-5.6.8.orig/acinclude.m4 php-5.6.8/acinclude.m4
+--- php-5.6.8.orig/acinclude.m4 2015-04-15 20:05:57.000000000 +0200
++++ php-5.6.8/acinclude.m4 2015-05-18 20:03:50.833099001 +0200
@@ -1897,8 +1897,6 @@
dnl
AC_DEFUN([PHP_CHECK_FUNC_LIB],[
diff --git a/package/php/0002-no-iconv-search.patch b/package/php/0002-no-iconv-search.patch
index 3496222166..322395379d 100644
--- a/package/php/0002-no-iconv-search.patch
+++ b/package/php/0002-no-iconv-search.patch
@@ -8,10 +8,10 @@ PHP_ICONV_H_PATH which, again, uses test and absolute paths.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
[Gustavo: convert to nice m4 instead of patching configure]
-diff -Nura php-5.6.7.orig/aclocal.m4 php-5.6.7/aclocal.m4
---- php-5.6.7.orig/aclocal.m4 2015-04-08 11:08:11.208848359 -0300
-+++ php-5.6.7/aclocal.m4 2015-04-08 11:42:17.321044950 -0300
-@@ -2474,7 +2474,7 @@
+diff -Nura php-5.6.8.orig/acinclude.m4 php-5.6.8/acinclude.m4
+--- php-5.6.8.orig/acinclude.m4 2015-05-18 20:06:48.557099001 +0200
++++ php-5.6.8/acinclude.m4 2015-05-18 20:07:33.177099001 +0200
+@@ -2470,7 +2470,7 @@
dnl
if test "$found_iconv" = "no"; then
diff --git a/package/php/Config.ext b/package/php/Config.ext
index 499509037e..5324e7958a 100644
--- a/package/php/Config.ext
+++ b/package/php/Config.ext
@@ -159,9 +159,14 @@ config BR2_PACKAGE_PHP_EXT_PDO_POSTGRESQL
bool "PostgreSQL"
select BR2_PACKAGE_POSTGRESQL
depends on BR2_USE_MMU # postgresql
+ depends on !BR2_STATIC_LIBS
help
PDO driver for PostgreSQL
+comment "PostgreSQL drivers need a toolchain w/ dynamic library"
+ depends on BR2_USE_MMU
+ depends on BR2_STATIC_LIBS
+
config BR2_PACKAGE_PHP_EXT_PDO_SQLITE
bool "SQLite3"
select BR2_PACKAGE_SQLITE
diff --git a/package/php/php.hash b/package/php/php.hash
index 210c9f0430..fe938f5ed1 100644
--- a/package/php/php.hash
+++ b/package/php/php.hash
@@ -1,2 +1,2 @@
# From http://php.net/downloads.php
-md5 526a5a7f593de632cd9e8546335de8b7 php-5.6.8.tar.xz
+sha256 1fac497b596f5e4e87d87a7ca90f8725e39a8ca3f9d7adb500fa83c4bb70a73f php-5.6.9.tar.xz
diff --git a/package/php/php.mk b/package/php/php.mk
index 47811fff76..c9bcfe30ed 100644
--- a/package/php/php.mk
+++ b/package/php/php.mk
@@ -4,7 +4,8 @@
#
################################################################################
-PHP_VERSION = 5.6.8
+PHP_VERSION_MAJOR = 5.6
+PHP_VERSION = $(PHP_VERSION_MAJOR).9
PHP_SITE = http://www.php.net/distributions
PHP_SOURCE = php-$(PHP_VERSION).tar.xz
PHP_INSTALL_STAGING = YES
@@ -24,6 +25,10 @@ PHP_CONF_ENV = \
ac_cv_func_strcasestr=yes \
EXTRA_LIBS="$(PHP_EXTRA_LIBS)"
+ifeq ($(BR2_STATIC_LIBS),y)
+PHP_CONF_ENV += LIBS="$(PHP_STATIC_LIBS)"
+endif
+
ifeq ($(BR2_TARGET_LOCALTIME),)
PHP_LOCALTIME = UTC
else
@@ -109,6 +114,9 @@ endif
ifeq ($(BR2_PACKAGE_PHP_EXT_OPENSSL),y)
PHP_CONF_OPTS += --with-openssl=$(STAGING_DIR)/usr
PHP_DEPENDENCIES += openssl
+# openssl needs zlib, but the configure script forgets to link against
+# it causing detection failures with static linking
+PHP_STATIC_LIBS += $(shell $(PKG_CONFIG_HOST_BINARY) --libs --static openssl)
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_LIBXML2),y)
@@ -179,6 +187,7 @@ endif
ifeq ($(BR2_PACKAGE_PHP_EXT_SQLITE),y)
PHP_CONF_OPTS += --with-sqlite3=$(STAGING_DIR)/usr
PHP_DEPENDENCIES += sqlite
+PHP_STATIC_LIBS += $(shell $(PKG_CONFIG_HOST_BINARY) --libs --static sqlite3)
endif
### PDO
@@ -200,13 +209,31 @@ endif
ifeq ($(BR2_PACKAGE_PHP_EXT_PDO_UNIXODBC),y)
PHP_CONF_OPTS += --with-pdo-odbc=unixODBC,$(STAGING_DIR)/usr
PHP_DEPENDENCIES += unixodbc
+ifeq ($(BR2_STATIC_LIBS)$(BR2_TOOLCHAIN_HAS_THREADS),yy)
+PHP_STATIC_LIBS += -lpthread
endif
endif
+endif
+
+define PHP_DISABLE_PCRE_JIT
+ $(SED) '/^#define SUPPORT_JIT/d' $(@D)/ext/pcre/pcrelib/config.h
+endef
### Use external PCRE if it's available
ifeq ($(BR2_PACKAGE_PCRE),y)
PHP_CONF_OPTS += --with-pcre-regex=$(STAGING_DIR)/usr
PHP_DEPENDENCIES += pcre
+else
+# The bundled pcre library is not configurable through ./configure options,
+# and by default is configured to be thread-safe, so it wants pthreads. So
+# we must explicitly tell it when we don't have threads.
+ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),)
+PHP_CFLAGS += -DSLJIT_SINGLE_THREADED=1
+endif
+# check ext/pcre/pcrelib/sljit/sljitConfigInternal.h for supported archs
+ifeq ($(BR2_i386)$(BR2_x86_64)$(BR2_arm)$(BR2_armeb)$(BR2_aarch64)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_powerpc)$(BR2_sparc),)
+PHP_POST_CONFIGURE_HOOKS += PHP_DISABLE_PCRE_JIT
+endif
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_CURL),y)
@@ -275,6 +302,8 @@ define PHP_INSTALL_FPM_CONF
$(INSTALL) -D -m 0644 package/php/php-fpm.conf \
$(TARGET_DIR)/etc/php-fpm.conf
rm -f $(TARGET_DIR)/etc/php-fpm.conf.default
+ # remove unused sample status page /usr/php/php/fpm/status.html
+ rm -rf $(TARGET_DIR)/usr/php
endef
PHP_POST_INSTALL_TARGET_HOOKS += PHP_INSTALL_FPM_CONF
@@ -290,12 +319,15 @@ endef
PHP_POST_INSTALL_TARGET_HOOKS += PHP_EXTENSIONS_FIXUP
define PHP_INSTALL_FIXUP
- rm -rf $(TARGET_DIR)/usr/lib/php
+ rm -rf $(TARGET_DIR)/usr/lib/php/build
rm -f $(TARGET_DIR)/usr/bin/phpize
$(INSTALL) -D -m 0755 $(PHP_DIR)/php.ini-production \
$(TARGET_DIR)/etc/php.ini
$(SED) 's%;date.timezone =.*%date.timezone = $(PHP_LOCALTIME)%' \
$(TARGET_DIR)/etc/php.ini
+ $(if $(BR2_PACKAGE_PHP_EXT_OPCACHE),
+ $(SED) '/;extension=php_xsl.dll/azend_extension=opcache.so' \
+ $(TARGET_DIR)/etc/php.ini)
endef
PHP_POST_INSTALL_TARGET_HOOKS += PHP_INSTALL_FIXUP
diff --git a/package/pkg-download.mk b/package/pkg-download.mk
index f6ed8be567..c86b9abcff 100644
--- a/package/pkg-download.mk
+++ b/package/pkg-download.mk
@@ -73,12 +73,6 @@ export BR_NO_CHECK_HASH_FOR =
# to get all the sources needed for one's build configuration.
################################################################################
-# Try a shallow clone - but that only works if the version is a ref (tag or
-# branch). Before trying to do a shallow clone we check if $($(PKG)_DL_VERSION)
-# is in the list provided by git ls-remote. If not we fall back on a full clone.
-#
-# Messages for the type of clone used are provided to ease debugging in case of
-# problems
define DOWNLOAD_GIT
$(EXTRA_ENV) $(DL_WRAPPER) -b git \
-o $(DL_DIR)/$($(PKG)_SOURCE) \
diff --git a/package/poppler/poppler.mk b/package/poppler/poppler.mk
index f8b684b18a..234b7ccd16 100644
--- a/package/poppler/poppler.mk
+++ b/package/poppler/poppler.mk
@@ -74,9 +74,9 @@ endif
ifeq ($(BR2_PACKAGE_OPENJPEG),y)
POPPLER_DEPENDENCIES += openjpeg
-POPPLER_CONF_OPTS += -enable-libopenjpeg=openjpeg1
+POPPLER_CONF_OPTS += --enable-libopenjpeg=openjpeg1
else
-POPPLER_CONF_OPTS += -enable-libopenjpeg=none
+POPPLER_CONF_OPTS += --enable-libopenjpeg=none
endif
$(eval $(autotools-package))
diff --git a/package/postgresql/0001-Compare-linker-compiler-output-with-their-default-ou.patch b/package/postgresql/0001-Compare-linker-compiler-output-with-their-default-ou.patch
new file mode 100644
index 0000000000..3eca82ff74
--- /dev/null
+++ b/package/postgresql/0001-Compare-linker-compiler-output-with-their-default-ou.patch
@@ -0,0 +1,56 @@
+From 58d05b2a57802345f43e628bc0807dbf0116cdcc Mon Sep 17 00:00:00 2001
+From: Max Filippov <jcmvbkbc@gmail.com>
+Date: Fri, 20 Mar 2015 16:37:51 +0300
+Subject: [PATCH] Compare linker/compiler output with their default output
+
+linker and compiler may have noisy output by default, making
+acx_pthread.m4 believe that pthread options that it tries are ignored
+as invalid.
+
+Record default compiler and linker output and see if adding pthread
+option changes that, instead of assuming that linker and compiler are
+silent by default.
+
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+---
+ config/acx_pthread.m4 | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/config/acx_pthread.m4 b/config/acx_pthread.m4
+index 581164b..d254612 100644
+--- a/config/acx_pthread.m4
++++ b/config/acx_pthread.m4
+@@ -80,6 +80,22 @@
+ esac
+
+ if test x"$acx_pthread_ok" = xno; then
++
++cat >conftest.$ac_ext <<_ACEOF
++int
++main (int argc, char **argv)
++{
++ (void) argc;
++ (void) argv;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++
++# Record the default linker and compiler output
++ld_default_output="`(eval $ac_link 2>&1 1>&5)`"
++cc_default_output="`(eval $ac_compile 2>&1 1>&5)`"
++
+ for flag in $acx_pthread_flags; do
+
+ tryPTHREAD_CFLAGS=""
+@@ -143,7 +159,7 @@
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ # Check both linking and compiling, because they might tolerate different options.
+- if test "`(eval $ac_link 2>&1 1>&5)`" = "" && test "`(eval $ac_compile 2>&1 1>&5)`" = ""; then
++ if test "`(eval $ac_link 2>&1 1>&5)`" = "$ld_default_output" && test "`(eval $ac_compile 2>&1 1>&5)`" = "$cc_default_output"; then
+ # we continue with more flags because Linux needs -lpthread
+ # for libpq builds on PostgreSQL. The test above only
+ # tests for building binaries, not shared libraries.
+--
+1.8.1.4
diff --git a/package/postgresql/Config.in b/package/postgresql/Config.in
index 4c53703568..e9b8f48d4a 100644
--- a/package/postgresql/Config.in
+++ b/package/postgresql/Config.in
@@ -1,6 +1,10 @@
config BR2_PACKAGE_POSTGRESQL
bool "postgresql"
depends on BR2_USE_MMU # fork()
+ # fails to build in a pure static linking scenario, and
+ # postgresql is unlikely to be used in a pure statically
+ # linked environment.
+ depends on !BR2_STATIC_LIBS
help
PostgreSQL is a powerful, open source object-relational
database system.
@@ -13,3 +17,6 @@ config BR2_PACKAGE_POSTGRESQL
archives with pg_dump and pg_restore.
http://www.postgresql.org
+
+comment "postgresql needs a toolchain w/ dynamic library"
+ depends on BR2_STATIC_LIBS
diff --git a/package/postgresql/postgresql.hash b/package/postgresql/postgresql.hash
index ea2be3e537..2f8de30fa5 100644
--- a/package/postgresql/postgresql.hash
+++ b/package/postgresql/postgresql.hash
@@ -1,2 +1,2 @@
-# From https://ftp.postgresql.org/pub/source/v9.4.1/postgresql-9.4.1.tar.bz2.sha256
-sha256 29ddb77c820095b8f52e5455e9c6c6c20cf979b0834ed1986a8857b84888c3a6 postgresql-9.4.1.tar.bz2
+# From https://ftp.postgresql.org/pub/source/v9.4.2/postgresql-9.4.2.tar.bz2.sha256
+sha256 81fda191c165ba1d25d75cd0166ece5abdcb4a7f5eca01b349371e279ebb4d11 postgresql-9.4.2.tar.bz2
diff --git a/package/postgresql/postgresql.mk b/package/postgresql/postgresql.mk
index 85ac0e6da9..d4895a0adc 100644
--- a/package/postgresql/postgresql.mk
+++ b/package/postgresql/postgresql.mk
@@ -4,14 +4,17 @@
#
################################################################################
-POSTGRESQL_VERSION = 9.4.1
+POSTGRESQL_VERSION = 9.4.2
POSTGRESQL_SOURCE = postgresql-$(POSTGRESQL_VERSION).tar.bz2
POSTGRESQL_SITE = http://ftp.postgresql.org/pub/source/v$(POSTGRESQL_VERSION)
POSTGRESQL_LICENSE = PostgreSQL
POSTGRESQL_LICENSE_FILES = COPYRIGHT
POSTGRESQL_INSTALL_STAGING = YES
POSTGRESQL_CONFIG_SCRIPTS = pg_config
-POSTGRESQL_CONF_ENV = ac_cv_type_struct_sockaddr_in6=yes
+POSTGRESQL_CONF_ENV = ac_cv_type_struct_sockaddr_in6=yes \
+ pgac_cv_snprintf_long_long_int_format="%lld" \
+ pgac_cv_snprintf_size_t_support=yes
+POSTGRESQL_AUTORECONF = YES
ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
# PostgreSQL does not build against uClibc with locales
diff --git a/package/protobuf/Config.in b/package/protobuf/Config.in
index 6015b135ef..bbb927f269 100644
--- a/package/protobuf/Config.in
+++ b/package/protobuf/Config.in
@@ -11,7 +11,7 @@ config BR2_PACKAGE_PROTOBUF
Protocol buffers are Google's language-neutral, platform-neutral,
extensible mechanism for serializing structured data.
- http://code.google.com/p/protobuf/
+ https://developers.google.com/protocol-buffers
comment "protobuf needs a toolchain w/ C++, threads"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/protobuf/protobuf.mk b/package/protobuf/protobuf.mk
index 9043f989cb..0426fcec07 100644
--- a/package/protobuf/protobuf.mk
+++ b/package/protobuf/protobuf.mk
@@ -4,10 +4,12 @@
#
################################################################################
-PROTOBUF_VERSION = 2.5.0
-PROTOBUF_SITE = http://protobuf.googlecode.com/files
+PROTOBUF_VERSION = v2.5.0
+PROTOBUF_SITE = $(call github,google,protobuf,$(PROTOBUF_VERSION))
PROTOBUF_LICENSE = BSD-3c
PROTOBUF_LICENSE_FILES = COPYING.txt
+# no configure script
+PROTOBUF_AUTORECONF = YES
# N.B. Need to use host protoc during cross compilation.
PROTOBUF_DEPENDENCIES = host-protobuf
diff --git a/package/pulseaudio/Config.in b/package/pulseaudio/Config.in
index b2be9ab905..63c8ca4b2e 100644
--- a/package/pulseaudio/Config.in
+++ b/package/pulseaudio/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_PULSEAUDIO
bool "pulseaudio"
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_STATIC_LIBS
select BR2_PACKAGE_LIBTOOL
select BR2_PACKAGE_JSON_C
select BR2_PACKAGE_LIBSNDFILE
@@ -30,7 +31,7 @@ config BR2_PACKAGE_PULSEAUDIO_DAEMON
endif
-comment "pulseaudio needs a toolchain w/ wchar, threads"
+comment "pulseaudio needs a toolchain w/ wchar, threads, dynamic library"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
- depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
diff --git a/package/pulseview/Config.in b/package/pulseview/Config.in
index de899af892..2fb844baef 100644
--- a/package/pulseview/Config.in
+++ b/package/pulseview/Config.in
@@ -15,6 +15,10 @@ config BR2_PACKAGE_PULSEVIEW
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU
depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
+ # libsigrok
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103 && \
+ !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
help
PulseView is a Qt based logic analyzer, oscilloscope
and MSO GUI for sigrok.
@@ -24,4 +28,7 @@ config BR2_PACKAGE_PULSEVIEW
comment "pulseview needs a toolchain w/ wchar, threads, C++"
depends on BR2_USE_MMU
depends on BR2_PACKAGE_QT5
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103 && \
+ !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
diff --git a/package/python-libconfig/Config.in b/package/python-libconfig/Config.in
index 7cc5f8a3cd..b49aa268a8 100644
--- a/package/python-libconfig/Config.in
+++ b/package/python-libconfig/Config.in
@@ -1,4 +1,5 @@
comment "python-libconfig needs a toolchain w/ C++, threads"
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_PYTHON_LIBCONFIG
@@ -8,6 +9,7 @@ config BR2_PACKAGE_PYTHON_LIBCONFIG
select BR2_PACKAGE_LIBCONFIG
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
help
Python bindings to the C++ library libconfig
diff --git a/package/python-pyqt/python-pyqt.mk b/package/python-pyqt/python-pyqt.mk
index 2445567700..fa298c480f 100644
--- a/package/python-pyqt/python-pyqt.mk
+++ b/package/python-pyqt/python-pyqt.mk
@@ -14,8 +14,10 @@ PYTHON_PYQT_DEPENDENCIES = python-sip host-python-sip qt
ifeq ($(BR2_PACKAGE_PYTHON),y)
PYTHON_PYQT_PYTHON_DIR = python$(PYTHON_VERSION_MAJOR)
+PYTHON_PYQT_RM_PORT_BASE = port_v3
else ifeq ($(BR2_PACKAGE_PYTHON3),y)
PYTHON_PYQT_PYTHON_DIR = python$(PYTHON3_VERSION_MAJOR)
+PYTHON_PYQT_RM_PORT_BASE = port_v2
endif
ifeq ($(BR2_PACKAGE_QT_EMBEDDED),y)
@@ -40,6 +42,12 @@ ifeq ($(BR2_PACKAGE_QT_OPENSSL),)
PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES += PyQt_OpenSSL
endif
+# Yes, this looks a bit weird: when OpenGL ES is available, we have to
+# disable the feature that consists in not having OpenGL ES support.
+ifeq ($(BR2_PACKAGE_QT_OPENGL_ES),y)
+PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES += PyQt_NoOpenGLES
+endif
+
# PyQt_qreal_double must be disabled on a number of architectures that
# use float for qreal.
ifeq ($(BR2_PACKAGE_PYTHON_PYQT_ARCH_USES_QREAL_FLOAT),y)
@@ -99,6 +107,7 @@ endef
define PYTHON_PYQT_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) install
touch $(TARGET_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/site-packages/PyQt4/__init__.py
+ $(RM) -rf $(TARGET_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/site-packages/PyQt4/uic/$(PYTHON_PYQT_RM_PORT_BASE)
PYTHONPATH="$(PYTHON_PATH)" \
$(HOST_DIR)/usr/bin/python -c "import compileall; \
compileall.compile_dir('$(TARGET_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/site-packages/PyQt4')"
diff --git a/package/python/018-fix-add-gcc-paths-logic.patch b/package/python/018-fix-add-gcc-paths-logic.patch
new file mode 100644
index 0000000000..af6efcc38c
--- /dev/null
+++ b/package/python/018-fix-add-gcc-paths-logic.patch
@@ -0,0 +1,27 @@
+Override system locale and set to default when adding gcc paths
+
+Forces the use of the default locale in the function
+add_gcc_paths, which is called when cross compiling to add the
+include and library paths. This is necessary because otherwise
+the gcc output is localized and the output parsing fails, which
+results in no paths added and detect_modules not able to find
+any system library (eg. libz, libssl, etc.)
+
+[Thomas: patch taken from https://bugs.python.org/issue23767.]
+
+Signed-off-by: Samuel Cabrero <samuelcabrero@gmail.com>
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/setup.py
+===================================================================
+--- a/setup.py
++++ b/setup.py
+@@ -414,7 +414,7 @@
+ tmpfile = os.path.join(self.build_temp, 'gccpaths')
+ if not os.path.exists(self.build_temp):
+ os.makedirs(self.build_temp)
+- ret = os.system('%s -E -v - </dev/null 2>%s 1>/dev/null' % (gcc, tmpfile))
++ ret = os.system('LC_ALL=C %s -E -v - </dev/null 2>%s 1>/dev/null' % (gcc, tmpfile))
+ is_gcc = False
+ in_incdirs = False
+ inc_dirs = []
diff --git a/package/python3/019-fix-add-gcc-paths-logic.patch b/package/python3/019-fix-add-gcc-paths-logic.patch
new file mode 100644
index 0000000000..179a29a2d0
--- /dev/null
+++ b/package/python3/019-fix-add-gcc-paths-logic.patch
@@ -0,0 +1,27 @@
+Override system locale and set to default when adding gcc paths
+
+Forces the use of the default locale in the function
+add_gcc_paths, which is called when cross compiling to add the
+include and library paths. This is necessary because otherwise
+the gcc output is localized and the output parsing fails, which
+results in no paths added and detect_modules not able to find
+any system library (eg. libz, libssl, etc.)
+
+[Thomas: patch taken from https://bugs.python.org/issue23767.]
+
+Signed-off-by: Samuel Cabrero <samuelcabrero@gmail.com>
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/setup.py
+===================================================================
+--- a/setup.py
++++ b/setup.py
+@@ -423,7 +423,7 @@
+ tmpfile = os.path.join(self.build_temp, 'gccpaths')
+ if not os.path.exists(self.build_temp):
+ os.makedirs(self.build_temp)
+- ret = os.system('%s -E -v - </dev/null 2>%s 1>/dev/null' % (gcc, tmpfile))
++ ret = os.system('LC_ALL=C %s -E -v - </dev/null 2>%s 1>/dev/null' % (gcc, tmpfile))
+ is_gcc = False
+ in_incdirs = False
+ inc_dirs = []
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index d565c88bcd..0620804a00 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -38,8 +38,8 @@ HOST_QEMU_DEPENDENCIES = host-pkgconf host-python host-zlib host-libglib2 host-p
# sh2a not supported
# sh4 sh4
# sh4eb sh4eb
-# sh4a ?
-# sh4aeb ?
+# sh4a sh4
+# sh4aeb sh4eb
# sh64 not supported
# sparc sparc
@@ -56,6 +56,12 @@ endif
ifeq ($(HOST_QEMU_ARCH),powerpc)
HOST_QEMU_ARCH = ppc
endif
+ifeq ($(HOST_QEMU_ARCH),sh4a)
+HOST_QEMU_ARCH = sh4
+endif
+ifeq ($(HOST_QEMU_ARCH),sh4aeb)
+HOST_QEMU_ARCH = sh4eb
+endif
HOST_QEMU_TARGETS = $(HOST_QEMU_ARCH)-linux-user
ifeq ($(BR2_PACKAGE_HOST_QEMU),y)
@@ -79,10 +85,12 @@ HOST_QEMU_COMPARE_VERSION = $(shell test $(HOST_QEMU_HOST_SYSTEM_VERSION) -ge $(
# built with kernel headers that are older or the same as the kernel
# version running on the host machine.
#
+ifeq ($(BR_BUILDING),y)
ifneq ($(HOST_QEMU_COMPARE_VERSION),OK)
$(error "Refusing to build qemu-user: target Linux version newer than host's.")
endif
endif
+endif
define HOST_QEMU_CONFIGURE_CMDS
cd $(@D); $(HOST_CONFIGURE_OPTS) ./configure \
diff --git a/package/qt/Config.in b/package/qt/Config.in
index 9568b7010c..306fe1fc3c 100644
--- a/package/qt/Config.in
+++ b/package/qt/Config.in
@@ -120,17 +120,6 @@ config BR2_PACKAGE_QT_CONFIG_FILE
This option allows to set the path of such a configuration
file, which Buildroot will give to Qt at compile time.
-config BR2_PACKAGE_QT_QT_COORD_TYPE_DOUBLE
- depends on BR2_SOFT_FLOAT
- bool "QT_COORD_TYPE to double"
- help
- Set QT_COORD_TYPE to double. On ARM-based platforms, qreal
- is a typedef for float for performance reasons, but for
- QT_COORD_TYPE, some people may want to use a double type
- anyway for precision.
-
- If unsure say n.
-
config BR2_PACKAGE_QT_QT3SUPPORT
bool "Compatibility with Qt3"
depends on BR2_PACKAGE_QT_GUI_MODULE
@@ -423,11 +412,15 @@ config BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
default y if BR2_arm || BR2_armeb || BR2_i386 || BR2_microblazeel || \
BR2_microblazebe || BR2_mips || BR2_mipsel || \
(BR2_mips64 || BR2_mips64el) && !BR2_MIPS_NABI32 || BR2_powerpc || \
- BR2_powerpc64 || BR2_powerpc64le || BR2_sh4 || BR2_sh4eb || \
- BR2_sh4a || BR2_sh4aeb || BR2_sparc || BR2_x86_64
+ BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || BR2_x86_64
+ # The CodeSourcery SuperH toolchain fails to build Webkit,
+ # with an assertion failure in binutils.
+ default y if (BR2_sh4 || BR2_sh4eb || BR2_sh4a || BR2_sh4aeb) && \
+ !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201209
config BR2_PACKAGE_QT_WEBKIT
bool "WebKit Module"
+ depends on BR2_PACKAGE_QT_SCRIPT
depends on BR2_PACKAGE_QT_SHARED
depends on BR2_PACKAGE_QT_GUI_MODULE
depends on BR2_PACKAGE_QT_NETWORK
@@ -437,8 +430,9 @@ config BR2_PACKAGE_QT_WEBKIT
Build the WebKit module.
If unsure, say n.
-comment "WebKit needs shared library/NPTL toolchain/gui/network support"
- depends on !(BR2_PACKAGE_QT_SHARED && BR2_PACKAGE_QT_GUI_MODULE && BR2_PACKAGE_QT_NETWORK)
+comment "WebKit needs shared library/NPTL toolchain/script/gui/network support"
+ depends on !(BR2_PACKAGE_QT_SCRIPT && BR2_PACKAGE_QT_SHARED && \
+ BR2_PACKAGE_QT_GUI_MODULE && BR2_PACKAGE_QT_NETWORK)
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
diff --git a/package/qt/Config.sql.in b/package/qt/Config.sql.in
index 037837fd62..452edd5133 100644
--- a/package/qt/Config.sql.in
+++ b/package/qt/Config.sql.in
@@ -31,10 +31,14 @@ config BR2_PACKAGE_QT_ODBC
config BR2_PACKAGE_QT_PSQL
bool "PostgreSQL Driver"
select BR2_PACKAGE_POSTGRESQL
+ depends on !BR2_STATIC_LIBS
help
Build PostgreSQL driver
If unsure, say n.
+comment "PostgreSQL driver needs a toolchain w/ dynamic library"
+ depends on BR2_STATIC_LIBS
+
choice
prompt "SQLite 3 support"
default BR2_PACKAGE_QT_SQLITE_NONE
diff --git a/package/qt/qt.mk b/package/qt/qt.mk
index 919137b2a2..035ca3aacc 100644
--- a/package/qt/qt.mk
+++ b/package/qt/qt.mk
@@ -46,11 +46,6 @@ QT_CFLAGS += -marm
QT_CXXFLAGS += -marm
endif
-ifeq ($(BR2_PACKAGE_QT_QT_COORD_TYPE_DOUBLE),y)
-QT_CFLAGS += -DQT_COORD_TYPE=double
-QT_CXXFLAGS += -DQT_COORD_TYPE=double
-endif
-
ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y)
QT_CONFIGURE_OPTS += -qt3support
else
@@ -224,6 +219,8 @@ else ifeq ($(BR2_mips)$(BR2_mipsel),y)
QT_EMB_PLATFORM = mips
else ifeq ($(BR2_powerpc),y)
QT_EMB_PLATFORM = powerpc
+else ifeq ($(BR2_sh4)$(BR2_sh4eb)$(BR2_sh4a)$(BR2_sh4aeb),y)
+QT_EMB_PLATFORM = sh
else
QT_EMB_PLATFORM = generic
endif
diff --git a/package/qt5/qt5base/0002-mkspecs-files.patch b/package/qt5/qt5base/0003-mkspecs-files.patch
index 09c1b67c11..09c1b67c11 100644
--- a/package/qt5/qt5base/0002-mkspecs-files.patch
+++ b/package/qt5/qt5base/0003-mkspecs-files.patch
diff --git a/package/qt5/qt5base/0005-no-gold-linker-for-host-build.patch b/package/qt5/qt5base/0005-no-gold-linker-for-host-build.patch
new file mode 100644
index 0000000000..99d5928ab6
--- /dev/null
+++ b/package/qt5/qt5base/0005-no-gold-linker-for-host-build.patch
@@ -0,0 +1,27 @@
+Use the gold linker only for target builds
+
+Availability of the gold linker is only tested with the
+cross-compiler, not the host compiler, so Qt shouldn't assume it's
+available when doing host builds.
+
+This fixes build failures occuring when cross-compiling Qt5 with a
+gold capable cross-compiler, on a host that has a too old compiler to
+support gold.
+
+Bug reported upstream at https://bugreports.qt.io/browse/QTBUG-46125.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/mkspecs/features/default_post.prf
+===================================================================
+--- a/mkspecs/features/default_post.prf
++++ b/mkspecs/features/default_post.prf
+@@ -62,7 +62,7 @@
+ QMAKE_LIBFLAGS += $$QMAKE_LIBFLAGS_RELEASE
+ }
+
+-use_gold_linker: QMAKE_LFLAGS += $$QMAKE_LFLAGS_USE_GOLD
++!host_build: use_gold_linker: QMAKE_LFLAGS += $$QMAKE_LFLAGS_USE_GOLD
+
+ dll:win32: QMAKE_LFLAGS += $$QMAKE_LFLAGS_DLL
+ static:mac: QMAKE_LFLAGS += $$QMAKE_LFLAGS_STATIC_LIB
diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index 20fd905849..df1d3dc57c 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -61,10 +61,15 @@ config BR2_PACKAGE_QT5BASE_PSQL
bool "PostgreSQL Plugin"
select BR2_PACKAGE_POSTGRESQL
depends on BR2_USE_MMU # postgresql
+ depends on !BR2_STATIC_LIBS
help
Build PostgreSQL plugin
If unsure, say n.
+comment "PostgreSQL plugin needs a toolchain w/ dynamic library"
+ depends on BR2_USE_MMU
+ depends on BR2_STATIC_LIBS
+
choice
prompt "SQLite 3 support"
default BR2_PACKAGE_QT5BASE_SQLITE_NONE
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 3de824f542..e2db5d1e02 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -174,7 +174,6 @@ define QT5BASE_CONFIGURE_CMDS
PKG_CONFIG_LIBDIR="$(STAGING_DIR)/usr/lib/pkgconfig" \
PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \
MAKEFLAGS="$(MAKEFLAGS) -j$(PARALLEL_JOBS)" \
- $(QT5BASE_CONFIGURE_ENV) \
./configure \
-v \
-prefix /usr \
diff --git a/package/rpi-userland/Config.in b/package/rpi-userland/Config.in
index 6adb9e339c..0e88908d6d 100644
--- a/package/rpi-userland/Config.in
+++ b/package/rpi-userland/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_RPI_USERLAND
depends on BR2_arm
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_STATIC_LIBS
select BR2_PACKAGE_HAS_LIBEGL
select BR2_PACKAGE_HAS_LIBGLES
select BR2_PACKAGE_HAS_LIBOPENVG
@@ -39,6 +40,7 @@ config BR2_PACKAGE_RPI_USERLAND_START_VCFILED
endif
-comment "rpi-userland needs a toolchain w/ C++, threads"
+comment "rpi-userland needs a toolchain w/ C++, threads, dynamic library"
depends on BR2_arm
- depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
+ BR2_STATIC_LIBS
diff --git a/package/rsyslog/rsyslog.mk b/package/rsyslog/rsyslog.mk
index 99e6eba38d..261f59dd35 100644
--- a/package/rsyslog/rsyslog.mk
+++ b/package/rsyslog/rsyslog.mk
@@ -16,8 +16,6 @@ RSYSLOG_PLUGINS = imdiag imfile impstats imptcp \
pmaixforwardedfrom pmciscoios pmcisconames pmlastmsg pmsnare
RSYSLOG_CONF_OPTS = --disable-generate-man-pages \
$(foreach x,$(call qstrip,$(RSYSLOG_PLUGINS)),--enable-$(x))
-# For mysql and pgsql support patches
-RSYSLOG_AUTORECONF = YES
# Build after BusyBox
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
diff --git a/package/sconeserver/0001-fix-ssl-libs-ordering.patch b/package/sconeserver/0001-fix-ssl-libs-ordering.patch
new file mode 100644
index 0000000000..f1f25b905a
--- /dev/null
+++ b/package/sconeserver/0001-fix-ssl-libs-ordering.patch
@@ -0,0 +1,36 @@
+configure: re-order SSL libs when linking
+
+When doing static builds, the ordering of libs is important, as the
+linker does not back-pedal to previous libraries specified on the
+command line to find missing symbols, and only searches for those
+missing symbols in the following libs.
+
+Thus, as -lssl needs symbols from -lcrypto, it needs to come before
+-lcrypto.
+
+And globally, we do *not* append new libraries, we prepend them.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN a/configure.in b/configure.in
+--- a/configure.in 2014-10-16 11:12:08.000000000 +0200
++++ b/configure.in 2015-05-30 15:44:25.540329788 +0200
+@@ -133,12 +133,14 @@
+ [AC_MSG_ERROR([header file <openssl/ssl.h> is required for OpenSSL, use --with-openssl-path=PATH])]
+ )
+ AC_CHECK_LIB([crypto],[CRYPTO_new_ex_data],
+- [SSL_LIBADD="$SSL_LIBADD -lcrypto"],
+- [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])]
++ [SSL_LIBADD="-lcrypto $SSL_LIBADD"],
++ [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])],
++ [$SSL_LIBADD]
+ )
+ AC_CHECK_LIB([ssl],[SSL_library_init],
+- [SSL_LIBADD="$SSL_LIBADD -lssl"],
+- [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])]
++ [SSL_LIBADD="-lssl $SSL_LIBADD"],
++ [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])],
++ [$SSL_LIBADD]
+ )
+ AC_SUBST(SSL_LIBADD)
+ fi
diff --git a/package/sconeserver/Config.in b/package/sconeserver/Config.in
index c7d602f2f5..f16e683bf5 100644
--- a/package/sconeserver/Config.in
+++ b/package/sconeserver/Config.in
@@ -64,10 +64,16 @@ config BR2_PACKAGE_SCONESERVER_LOCATION
depends on BR2_USE_MMU # gpsd
depends on BR2_TOOLCHAIN_HAS_THREADS # gpsd
depends on !BR2_microblaze # gpsd
+ depends on !BR2_STATIC_LIBS # gpsd
select BR2_PACKAGE_GPSD
help
Location module for Sconeserver
+comment "location support needs a toolchain w/ theads, dynamic library"
+ depends on BR2_USE_MMU
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBRARY
+ depends on !BR2_microblaze
+
config BR2_PACKAGE_SCONESERVER_LETTUCE
bool "lettuce"
help
diff --git a/package/sconeserver/sconeserver.mk b/package/sconeserver/sconeserver.mk
index 3ff891bcc4..beca926f7d 100644
--- a/package/sconeserver/sconeserver.mk
+++ b/package/sconeserver/sconeserver.mk
@@ -24,6 +24,9 @@ endif
ifeq ($(BR2_PACKAGE_OPENSSL),y)
SCONESERVER_DEPENDENCIES += openssl
SCONESERVER_CONF_OPTS += --with-ssl
+ifeq ($(BR2_STATIC_LIBS),y)
+SCONESERVER_CONF_ENV += SSL_LIBADD=-lz
+endif
else
SCONESERVER_CONF_OPTS += --without-ssl
endif
diff --git a/package/snmppp/snmppp.mk b/package/snmppp/snmppp.mk
index 74acee468b..147af601b0 100644
--- a/package/snmppp/snmppp.mk
+++ b/package/snmppp/snmppp.mk
@@ -6,7 +6,7 @@
SNMPPP_VERSION = 3.3.4
SNMPPP_SOURCE = snmp++-$(SNMPPP_VERSION).tar.gz
-SNMPPP_SITE = http://www.agentpp.com
+SNMPPP_SITE = http://www.agentpp.com/download
SNMPPP_DEPENDENCIES = host-pkgconf
SNMPPP_INSTALL_STAGING = YES
# no configure script in tarball
diff --git a/package/sqlite/0001-fix-parallel-build.patch b/package/sqlite/0001-fix-parallel-build.patch
new file mode 100644
index 0000000000..79d80fbcb8
--- /dev/null
+++ b/package/sqlite/0001-fix-parallel-build.patch
@@ -0,0 +1,22 @@
+Use correct dependency in Makefile.am
+
+Depending on a libtool library should be done using the .la name, not on
+the object file.
+
+Fixes hard-to-reproduce parallel build failures, like so:
+ http://autobuild.buildroot.org/results/aed/aed3690689b60844e3278626da3c3eb75f2a2586/build-end.log
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN sqlite-3081000.orig/Makefile.am sqlite-3081000/Makefile.am
+--- sqlite-3081000.orig/Makefile.am 2015-05-07 16:59:22.000000000 +0200
++++ sqlite-3081000/Makefile.am 2015-05-20 23:30:03.878784079 +0200
+@@ -7,7 +7,7 @@
+
+ bin_PROGRAMS = sqlite3
+ sqlite3_SOURCES = shell.c sqlite3.h
+-sqlite3_LDADD = sqlite3.$(OBJEXT) @READLINE_LIBS@
++sqlite3_LDADD = libsqlite3.la @READLINE_LIBS@
+
+ include_HEADERS = sqlite3.h sqlite3ext.h
+
diff --git a/package/sqlite/sqlite.hash b/package/sqlite/sqlite.hash
index b57fdfba22..d524dbe912 100644
--- a/package/sqlite/sqlite.hash
+++ b/package/sqlite/sqlite.hash
@@ -1,2 +1,2 @@
# From http://www.sqlite.org/download.html
-sha1 db70dee268700b312cbaa5b3e5cf8454e1c8b7b9 sqlite-autoconf-3080900.tar.gz
+sha1 7e92b4f78d4648fb2a97a4dc721490cc08653a0b sqlite-autoconf-3081000.tar.gz
diff --git a/package/sqlite/sqlite.mk b/package/sqlite/sqlite.mk
index d8ea1c7230..b2283f082e 100644
--- a/package/sqlite/sqlite.mk
+++ b/package/sqlite/sqlite.mk
@@ -4,12 +4,15 @@
#
################################################################################
-SQLITE_VERSION = 3080900
+SQLITE_VERSION = 3081000
SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_VERSION).tar.gz
SQLITE_SITE = http://www.sqlite.org/2015
SQLITE_LICENSE = Public domain
SQLITE_INSTALL_STAGING = YES
+# Patching Makefile.am:
+SQLITE_AUTORECONF = YES
+
ifeq ($(BR2_PACKAGE_SQLITE_STAT3),y)
SQLITE_CFLAGS += -DSQLITE_ENABLE_STAT3
endif
diff --git a/package/thrift/Config.in b/package/thrift/Config.in
index c5c7c16bae..b9960f81c7 100644
--- a/package/thrift/Config.in
+++ b/package/thrift/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_THRIFT
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_ARCH_HAS_ATOMICS
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_LIBEVENT
select BR2_PACKAGE_OPENSSL
@@ -20,5 +21,6 @@ config BR2_PACKAGE_THRIFT
comment "thrift needs a toolchain w/ C++, wchar, threads"
depends on BR2_ARCH_HAS_ATOMICS
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
depends on !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
diff --git a/package/thrift/thrift.mk b/package/thrift/thrift.mk
index b4b3a2c14d..a40ddadb15 100644
--- a/package/thrift/thrift.mk
+++ b/package/thrift/thrift.mk
@@ -21,6 +21,7 @@ HOST_THRIFT_CONF_OPTS = --with-sysroot=$(HOST_DIR) \
--disable-tests \
--disable-tutorial
THRIFT_AUTORECONF = YES
+THRIFT_AUTORECONF_OPTS = -I $(HOST_DIR)/usr/share/autoconf-archive
THRIFT_LICENSE = Apache-2.0
THRIFT_LICENSE_FILES = LICENSE
diff --git a/package/tiff/tiff.hash b/package/tiff/tiff.hash
new file mode 100644
index 0000000000..361b5e1b62
--- /dev/null
+++ b/package/tiff/tiff.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 ea1aebe282319537fb2d4d7805f478dd4e0e05c33d0928baba76a7c963684872 tiff-4.0.3.tar.gz
diff --git a/package/tinyxml2/0001-Use-BUILD_SHARED_LIBS-cmake-standard.patch b/package/tinyxml2/0001-Use-BUILD_SHARED_LIBS-cmake-standard.patch
new file mode 100644
index 0000000000..52288c509f
--- /dev/null
+++ b/package/tinyxml2/0001-Use-BUILD_SHARED_LIBS-cmake-standard.patch
@@ -0,0 +1,65 @@
+From 69acf13fa679628259063c4d0cd17e59b8bb0b75 Mon Sep 17 00:00:00 2001
+From: xantares <xantares09@hotmail.com>
+Date: Fri, 14 Nov 2014 19:40:58 +0100
+Subject: [PATCH] Use BUILD_SHARED_LIBS cmake standard.
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ CMakeLists.txt | 27 +++++++++------------------
+ 1 file changed, 9 insertions(+), 18 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 91c61a4..4375bb9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -10,8 +10,8 @@ include(GNUInstallDirs)
+ ################################
+ # set lib version here
+
+-set(GENERIC_LIB_VERSION "2.2.0")
+-set(GENERIC_LIB_SOVERSION "2")
++set(GENERIC_LIB_VERSION "2.2.0")
++set(GENERIC_LIB_SOVERSION "2")
+
+
+ ################################
+@@ -46,12 +46,8 @@ endif(MSVC)
+
+ ################################
+ # Add targets
+-set(BUILD_STATIC_LIBS ON CACHE BOOL "Set to ON to build static libraries")
+-if(BUILD_STATIC_LIBS)
+- add_library(tinyxml2static STATIC tinyxml2.cpp tinyxml2.h)
+- set_target_properties(tinyxml2static PROPERTIES OUTPUT_NAME tinyxml2)
+-endif(BUILD_STATIC_LIBS)
+-add_library(tinyxml2 SHARED tinyxml2.cpp tinyxml2.h)
++option(BUILD_SHARED_LIBS "build shared or static libraries" ON)
++add_library(tinyxml2 tinyxml2.cpp tinyxml2.h)
+ set_target_properties(tinyxml2 PROPERTIES
+ COMPILE_DEFINITIONS "TINYXML2_EXPORT"
+ VERSION "${GENERIC_LIB_VERSION}"
+@@ -63,16 +59,11 @@ add_dependencies(test ${TARGET_DATA_COPY})
+ target_link_libraries(test tinyxml2)
+
+
+-if(BUILD_STATIC_LIBS)
+- install(TARGETS tinyxml2 tinyxml2static
+- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+-else(BUILD_STATIC_LIBS)
+- install(TARGETS tinyxml2
+- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+-endif(BUILD_STATIC_LIBS)
++install(TARGETS tinyxml2
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++
+ install(FILES tinyxml2.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+ foreach(p LIB INCLUDE)
+--
+1.9.3
+
diff --git a/package/tinyxml2/0002-Rename-test-fixed-cmake-warning.patch b/package/tinyxml2/0002-Rename-test-fixed-cmake-warning.patch
new file mode 100644
index 0000000000..409269ac4b
--- /dev/null
+++ b/package/tinyxml2/0002-Rename-test-fixed-cmake-warning.patch
@@ -0,0 +1,38 @@
+From 77631a9cf500a578338a83bc230c419bf2a05b50 Mon Sep 17 00:00:00 2001
+From: xantares <xantares09@hotmail.com>
+Date: Fri, 14 Nov 2014 19:46:18 +0100
+Subject: [PATCH] Rename test, fixed cmake warning.
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ CMakeLists.txt | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4375bb9..4a8f91d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -53,10 +53,10 @@ set_target_properties(tinyxml2 PROPERTIES
+ VERSION "${GENERIC_LIB_VERSION}"
+ SOVERSION "${GENERIC_LIB_SOVERSION}")
+
+-add_executable(test xmltest.cpp)
+-add_dependencies(test tinyxml2)
+-add_dependencies(test ${TARGET_DATA_COPY})
+-target_link_libraries(test tinyxml2)
++add_executable(xmltest xmltest.cpp)
++add_dependencies(xmltest tinyxml2)
++add_dependencies(xmltest ${TARGET_DATA_COPY})
++target_link_libraries(xmltest tinyxml2)
+
+
+ install(TARGETS tinyxml2
+@@ -76,4 +76,4 @@ endforeach()
+ configure_file(tinyxml2.pc.in tinyxml2.pc @ONLY)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/tinyxml2.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
+-#add_test(test ${SAMPLE_NAME} COMMAND $<TARGET_FILE:${SAMPLE_NAME}>)
++#add_test(xmltest ${SAMPLE_NAME} COMMAND $<TARGET_FILE:${SAMPLE_NAME}>)
+--
+1.9.3
+
diff --git a/package/uboot-tools/0004-tools-use-pkg-config-when-available-to-get-SSL-flags.patch b/package/uboot-tools/0004-tools-use-pkg-config-when-available-to-get-SSL-flags.patch
new file mode 100644
index 0000000000..9eb74834da
--- /dev/null
+++ b/package/uboot-tools/0004-tools-use-pkg-config-when-available-to-get-SSL-flags.patch
@@ -0,0 +1,39 @@
+From 99bc38ac6ebdd3b5d741cb9e50d842fa13d409f7 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 12 May 2015 22:54:29 +0200
+Subject: [PATCH] tools: use pkg-config when available to get SSL flags
+
+Instead of hardcoding -lssl -lcrypto as the flags needed to build
+mkimage with FIT signature enabled, use pkg-config when
+available. This allows to properly support cases where static linking
+is used, which requires linking with -lz, since OpenSSL uses zlib
+internally.
+
+We gracefully fallback on the previous behavior of hardcoding -lssl
+-lcrypto if pkg-config is not available or fails with an error.
+
+Patch submitted upstream at
+http://lists.denx.de/pipermail/u-boot/2015-May/214489.html
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ tools/Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tools/Makefile b/tools/Makefile
+index 4bbb153..8ff9c2e 100644
+--- a/tools/Makefile
++++ b/tools/Makefile
+@@ -122,7 +122,8 @@ endif
+
+ # MXSImage needs LibSSL
+ ifneq ($(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_FIT_SIGNATURE),)
+-HOSTLOADLIBES_mkimage += -lssl -lcrypto
++HOSTLOADLIBES_mkimage += \
++ $(shell pkg-config --libs libssl libcrypto 2> /dev/null || echo "-lssl -lcrypto")
+ endif
+
+ HOSTLOADLIBES_dumpimage := $(HOSTLOADLIBES_mkimage)
+--
+2.1.0
+
diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk
index b66fd7168b..3ae346e210 100644
--- a/package/uboot-tools/uboot-tools.mk
+++ b/package/uboot-tools/uboot-tools.mk
@@ -16,14 +16,14 @@ define UBOOT_TOOLS_CONFIGURE_CMDS
endef
define UBOOT_TOOLS_BUILD_CMDS
- $(MAKE) -C $(@D) \
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
CROSS_COMPILE="$(TARGET_CROSS)" \
CFLAGS="$(TARGET_CFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
CROSS_BUILD_TOOLS=y \
CONFIG_FIT_SIGNATURE=$(BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE_FIT_SIGNATURE_SUPPORT) \
tools-only
- $(MAKE) -C $(@D) \
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
CROSS_COMPILE="$(TARGET_CROSS)" \
CFLAGS="$(TARGET_CFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
@@ -35,7 +35,7 @@ define UBOOT_TOOLS_INSTALL_MKIMAGE
$(INSTALL) -m 0755 -D $(@D)/tools/mkimage $(TARGET_DIR)/usr/bin/mkimage
endef
ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE_FIT_SIGNATURE_SUPPORT),y)
-UBOOT_TOOLS_DEPENDENCIES += openssl
+UBOOT_TOOLS_DEPENDENCIES += openssl host-pkgconf
endif # BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE_FIT_SIGNATURE_SUPPORT
endif # BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE
diff --git a/package/uclibc/uClibc-ng.config b/package/uclibc/uClibc-ng.config
index c6e7ff963d..b1f039a0d0 100644
--- a/package/uclibc/uClibc-ng.config
+++ b/package/uclibc/uClibc-ng.config
@@ -117,6 +117,7 @@ UCLIBC_DYNAMIC_ATEXIT=y
# COMPAT_ATEXIT is not set
UCLIBC_SUSV2_LEGACY=y
UCLIBC_SUSV3_LEGACY=y
+UCLIBC_HAS_CONTEXT_FUNCS=y
# UCLIBC_SUSV3_LEGACY_MACROS is not set
UCLIBC_SUSV4_LEGACY=y
# UCLIBC_STRICT_HEADERS is not set
diff --git a/package/uclibc/uClibc-snapshot.config b/package/uclibc/uClibc-snapshot.config
index ac3d9b050e..d8ed726b83 100644
--- a/package/uclibc/uClibc-snapshot.config
+++ b/package/uclibc/uClibc-snapshot.config
@@ -117,6 +117,7 @@ UCLIBC_DYNAMIC_ATEXIT=y
# COMPAT_ATEXIT is not set
UCLIBC_SUSV2_LEGACY=y
UCLIBC_SUSV3_LEGACY=y
+UCLIBC_HAS_CONTEXT_FUNCS=y
# UCLIBC_SUSV3_LEGACY_MACROS is not set
UCLIBC_SUSV4_LEGACY=y
# UCLIBC_STRICT_HEADERS is not set
diff --git a/package/udpcast/udpcast.hash b/package/udpcast/udpcast.hash
new file mode 100644
index 0000000000..133e1db80b
--- /dev/null
+++ b/package/udpcast/udpcast.hash
@@ -0,0 +1,2 @@
+# locally computed hash
+sha256 ce9090ef80b6035a744a9b5ac335e61c99baa92c39ff53277266fbfcb836445a udpcast-20120424.tar.gz
diff --git a/package/unionfs/unionfs.hash b/package/unionfs/unionfs.hash
new file mode 100644
index 0000000000..2cadf0fd94
--- /dev/null
+++ b/package/unionfs/unionfs.hash
@@ -0,0 +1,2 @@
+# locally computed hash
+sha256 8d5c9dcb51ecb9a9b03890e16d17e37d602b0c1f23ed6a9ddec2b0f719c9f662 unionfs-fuse-0.26.tar.xz
diff --git a/package/upmpdcli/upmpdcli.mk b/package/upmpdcli/upmpdcli.mk
index 0be4d912ae..a5c6370fd5 100644
--- a/package/upmpdcli/upmpdcli.mk
+++ b/package/upmpdcli/upmpdcli.mk
@@ -10,6 +10,18 @@ UPMPDCLI_LICENSE = GPLv2+
UPMPDCLI_LICENSE_FILES = COPYING
UPMPDCLI_DEPENDENCIES = libmpdclient libupnpp
+ifeq ($(BR2_STATIC_LIBS),y)
+# Upmpdcli forgets to take the dependencies of libupnpp into
+# consideration, breaking static linking, so help it.
+# Libupnpp unfortunately doesn't provide a .pc file, so manually
+# handle the dependencies here.
+# The build system doesn't expand LIBS from the configure step, so
+# manually pass it to make.
+UPMPDCLI_DEPENDENCIES += host-pkgconf
+UPMPDCLI_MAKE_OPTS = \
+ LIBS='$(shell $(PKG_CONFIG_HOST_BINARY) --libs expat libcurl libupnp)'
+endif
+
# Upmpdcli only runs if user upmpdcli exists
define UPMPDCLI_USERS
upmpdcli -1 upmpdcli -1 * - - - Upmpdcli MPD UPnP Renderer Front-End
diff --git a/package/usbredir/usbredir.hash b/package/usbredir/usbredir.hash
new file mode 100644
index 0000000000..8328bb59dd
--- /dev/null
+++ b/package/usbredir/usbredir.hash
@@ -0,0 +1,2 @@
+# locally computed hash
+sha256 028184960044ea4124030000b3c55a35c3238835116e3a0fbcaff449df2c8edf usbredir-0.6.tar.bz2
diff --git a/package/ushare/ushare.hash b/package/ushare/ushare.hash
new file mode 100644
index 0000000000..77f0f0f85d
--- /dev/null
+++ b/package/ushare/ushare.hash
@@ -0,0 +1,2 @@
+# locally computed hash
+sha256 7b9b85c79968d4f4560f02a99e33c6a33ff58f9d41d8faea79e31cce2ee78665 ushare-1.1a.tar.bz2
diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in
index 8ed56b0626..39df11cb38 100644
--- a/package/util-linux/Config.in
+++ b/package/util-linux/Config.in
@@ -214,6 +214,7 @@ config BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS
config BR2_PACKAGE_UTIL_LINUX_SETPRIV
bool "setpriv"
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405 # libcap-ng
select BR2_PACKAGE_LIBCAP_NG
help
Run a program with different Linux privilege settings
diff --git a/package/ux500-firmware/ux500-firmware.hash b/package/ux500-firmware/ux500-firmware.hash
new file mode 100644
index 0000000000..1028cc0e12
--- /dev/null
+++ b/package/ux500-firmware/ux500-firmware.hash
@@ -0,0 +1,2 @@
+# locally computed hash
+sha256 81633274a9157c076e5e09b5addd81fbcef504b829fc801041cea50eea774bcd ux500-firmware_1.1.3-6linaro1.tar.gz
diff --git a/package/valgrind/0002-Fix-configure-for-Linux-kernel-4.0-rc1.patch b/package/valgrind/0002-Fix-configure-for-Linux-kernel-4.0-rc1.patch
new file mode 100644
index 0000000000..1d0ba26b40
--- /dev/null
+++ b/package/valgrind/0002-Fix-configure-for-Linux-kernel-4.0-rc1.patch
@@ -0,0 +1,48 @@
+From 8e958577f01e2e877fb1dbdca09718ef6ea0c748 Mon Sep 17 00:00:00 2001
+From: cborntra <cborntra@a5019735-40e9-0310-863c-91ae7b9d1cf9>
+Date: Mon, 23 Feb 2015 20:19:03 +0000
+Subject: [PATCH] Fix configure for Linux kernel >= 4.0-rc1 In addition raise
+ the minimal Linux version to 2.6 as there is almost no test coverage for 2.4
+ and 2.6 was released in 2003.
+
+Signed-off-by: Christian Artin <christian@gridshowsystems.com>
+
+git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14955 a5019735-40e9-0310-863c-91ae7b9d1cf9
+---
+ configure.ac | 18 ++++++------------
+ 1 file changed, 6 insertions(+), 12 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index bdf5f22..136f49a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -325,20 +325,14 @@ case "${host_os}" in
+ kernel=`uname -r`
+
+ case "${kernel}" in
+- 2.6.*|3.*)
+- AC_MSG_RESULT([2.6.x/3.x family (${kernel})])
+- AC_DEFINE([KERNEL_2_6], 1, [Define to 1 if you're using Linux 2.6.x or Linux 3.x])
+- ;;
+-
+- 2.4.*)
+- AC_MSG_RESULT([2.4 family (${kernel})])
+- AC_DEFINE([KERNEL_2_4], 1, [Define to 1 if you're using Linux 2.4.x])
+- ;;
+-
+- *)
++ 0.*|1.*|2.0.*|2.1.*|2.2.*|2.3.*|2.4.*|2.5.*)
+ AC_MSG_RESULT([unsupported (${kernel})])
+- AC_MSG_ERROR([Valgrind works on kernels 2.4, 2.6])
++ AC_MSG_ERROR([Valgrind needs a Linux kernel >= 2.6])
+ ;;
++
++ *)
++ AC_MSG_RESULT([2.6 or later (${kernel})])
++ ;;
+ esac
+
+ ;;
+--
+2.3.7
+
diff --git a/package/vpnc/vpnc.hash b/package/vpnc/vpnc.hash
new file mode 100644
index 0000000000..a79df8fad7
--- /dev/null
+++ b/package/vpnc/vpnc.hash
@@ -0,0 +1,2 @@
+# locally computed hash
+sha256 46cea3bd02f207c62c7c6f2f22133382602baeda1dc320747809e94881414884 vpnc-0.5.3.tar.gz
diff --git a/package/vsftpd/vsftpd.mk b/package/vsftpd/vsftpd.mk
index b94328da84..3091f06d4e 100644
--- a/package/vsftpd/vsftpd.mk
+++ b/package/vsftpd/vsftpd.mk
@@ -23,8 +23,8 @@ VSFTPD_POST_CONFIGURE_HOOKS += VSFTPD_DISABLE_UTMPX
endif
ifeq ($(BR2_PACKAGE_OPENSSL),y)
-VSFTPD_DEPENDENCIES += openssl
-VSFTPD_LIBS += -lssl -lcrypto
+VSFTPD_DEPENDENCIES += openssl host-pkgconf
+VSFTPD_LIBS += $(shell $(PKG_CONFIG_HOST_BINARY) --libs libssl libcrypto)
VSFTPD_POST_CONFIGURE_HOOKS += VSFTPD_ENABLE_SSL
endif
diff --git a/package/wavpack/wavpack.hash b/package/wavpack/wavpack.hash
new file mode 100644
index 0000000000..18dcfbc827
--- /dev/null
+++ b/package/wavpack/wavpack.hash
@@ -0,0 +1,2 @@
+# locally computed hash
+sha256 2cade379b0aba99fbc4e442ccc6dac6c609f6212e46516a083e24c8c364430a4 wavpack-4.70.0.tar.bz2
diff --git a/package/wireless_tools/wireless_tools.hash b/package/wireless_tools/wireless_tools.hash
new file mode 100644
index 0000000000..587c9772ef
--- /dev/null
+++ b/package/wireless_tools/wireless_tools.hash
@@ -0,0 +1,2 @@
+# locally computed hash
+sha256 abd9c5c98abf1fdd11892ac2f8a56737544fe101e1be27c6241a564948f34c63 wireless_tools.30.pre9.tar.gz
diff --git a/package/wsapi/wsapi.hash b/package/wsapi/wsapi.hash
new file mode 100644
index 0000000000..3abbfc979a
--- /dev/null
+++ b/package/wsapi/wsapi.hash
@@ -0,0 +1,2 @@
+# locally computed hash
+sha256 f7f1b0ddc68c257965c42ac7155904d8ff7c2b7256f65ef1b82fda0039137d61 wsapi-1.6.1-1.src.rock
diff --git a/package/wvdial/Config.in b/package/wvdial/Config.in
index e57f9755f7..5d415b1c79 100644
--- a/package/wvdial/Config.in
+++ b/package/wvdial/Config.in
@@ -2,12 +2,13 @@ config BR2_PACKAGE_WVDIAL
bool "wvdial"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_MMU # wvstreams
+ depends on !BR2_STATIC_LIBS # wvstreams
select BR2_PACKAGE_WVSTREAMS
help
wvdial is an intelligent Point-to-Point Protocol dialer
http://wvdial.googlecode.com/
-comment "wvdial needs a toolchain w/ C++"
+comment "wvdial needs a toolchain w/ C++, dynamic library"
depends on BR2_USE_MMU
- depends on !BR2_INSTALL_LIBSTDCPP
+ depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS
diff --git a/package/wvstreams/Config.in b/package/wvstreams/Config.in
index 3080dc71ef..0cbe60aff6 100644
--- a/package/wvstreams/Config.in
+++ b/package/wvstreams/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_WVSTREAMS
bool "wvstreams"
depends on BR2_INSTALL_LIBSTDCPP
+ depends on !BR2_STATIC_LIBS
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_ZLIB
@@ -9,6 +10,6 @@ config BR2_PACKAGE_WVSTREAMS
http://wvstreams.googlecode.com/
-comment "wvstreams needs a toolchain w/ C++"
+comment "wvstreams needs a toolchain w/ C++, dynamic library"
depends on BR2_USE_MMU
- depends on !BR2_INSTALL_LIBSTDCPP
+ depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS
diff --git a/package/x11r7/xlib_libXfont/xlib_libXfont.mk b/package/x11r7/xlib_libXfont/xlib_libXfont.mk
index 5b6de1f968..adc22b4df7 100644
--- a/package/x11r7/xlib_libXfont/xlib_libXfont.mk
+++ b/package/x11r7/xlib_libXfont/xlib_libXfont.mk
@@ -16,5 +16,15 @@ XLIB_LIBXFONT_CONF_OPTS = --disable-devel-docs
HOST_XLIB_LIBXFONT_CONF_OPTS = --disable-devel-docs
+ifeq ($(BR2_microblaze),y)
+# The microblaze toolchains don't define the __ELF__ preprocessor
+# symbol even though they do use the elf format. LibXfont checks for
+# this symbol to know if weak symbols are supported, and otherwise
+# falls back to emulation code using dlopen - Causing linker issues
+# for stuff using libXfont.
+# Work around it by defining the symbol here as well.
+XLIB_LIBXFONT_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -D__ELF__"
+endif
+
$(eval $(autotools-package))
$(eval $(host-autotools-package))
diff --git a/package/xmlstarlet/0001-Fix-static-linking-problem-with-libgcrypt.patch b/package/xmlstarlet/0001-Fix-static-linking-problem-with-libgcrypt.patch
new file mode 100644
index 0000000000..ea54c983a2
--- /dev/null
+++ b/package/xmlstarlet/0001-Fix-static-linking-problem-with-libgcrypt.patch
@@ -0,0 +1,46 @@
+From 8cee09b59a8c1ff2ebfc8c46097825d2eafdc4dd Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sat, 16 May 2015 17:32:13 +0200
+Subject: [PATCH] Fix static linking problem with libgcrypt
+
+When libgcrypt is used, it is linked with libgpg-error, so we should
+also test that libgpg-error is available, and include -lgpg-error in
+the LIBS variable.
+
+This fixes build issues like:
+
+ CCLD xml
+/home/thomas/projets/buildroot/output/host/usr/bfin-buildroot-uclinux-uclibc/sysroot/usr/lib/libexslt.a(crypto.o): In function `_exsltCryptoGcryptInit':
+crypto.c:(.text+0x112): undefined reference to `_gcry_check_version'
+/home/thomas/projets/buildroot/output/host/usr/bfin-buildroot-uclinux-uclibc/sysroot/usr/lib/libexslt.a(crypto.o): In function `_exsltCryptoRc4DecryptFunction':
+crypto.c:(.text+0x316): undefined reference to `_gcry_cipher_open'
+crypto.c:(.text+0x32a): undefined reference to `_gcry_strerror'
+crypto.c:(.text+0x34c): undefined reference to `_gcry_cipher_setkey'
+
+Which are caused by the AC_SEARCH_LIBS() test for libgcrypt to fail
+due to -lgpg-error not been present in the LIBS variable.
+
+Note that using PKG_CHECK_MODULES() would be a much much better
+replacement than this complicated handling of static libraries, but
+it's a much more significant effort.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index 4db0129..e378996 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -125,6 +125,7 @@ AS_IF([test "x$STATIC_LIBS" != xno],
+ [AC_SEARCH_LIBS([libiconv_open], [iconv], [], [], "$USER_LIBS")], "$USER_LIBS")
+ AC_SEARCH_LIBS([clock_gettime], [rt], [], [], "$USER_LIBS")
+ AC_SEARCH_LIBS([deflate], [z], [], [], "$USER_LIBS")
++ AC_SEARCH_LIBS([gpg_strerror], [gpg-error], [], [], "$USER_LIBS")
+ AC_SEARCH_LIBS([gcry_cipher_encrypt], [gcrypt], [], [], "$USER_LIBS")
+
+ # Checks for inet libraries:
+--
+2.1.0
+
diff --git a/package/xmlstarlet/xmlstarlet.mk b/package/xmlstarlet/xmlstarlet.mk
index bc2b37740b..992bb8f3ba 100644
--- a/package/xmlstarlet/xmlstarlet.mk
+++ b/package/xmlstarlet/xmlstarlet.mk
@@ -8,6 +8,8 @@ XMLSTARLET_VERSION = 1.5.0
XMLSTARLET_SITE = http://downloads.sourceforge.net/project/xmlstar/xmlstarlet/$(XMLSTARLET_VERSION)
XMLSTARLET_LICENSE = MIT
XMLSTARLET_LICENSE_FILES = COPYING
+# We're patching configure.ac
+XMLSTARLET_AUTORECONF = YES
XMLSTARLET_DEPENDENCIES += libxml2 libxslt \
$(if $(BR2_PACKAGE_LIBICONV),libiconv)
diff --git a/package/yaml-cpp/Config.in b/package/yaml-cpp/Config.in
index 954a944a15..9e00b3df49 100644
--- a/package/yaml-cpp/Config.in
+++ b/package/yaml-cpp/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_YAML_CPP
bool "yaml-cpp"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS # boost
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
select BR2_PACKAGE_BOOST
help
yaml-cpp is a YAML parser and emitter in C++ matching
@@ -10,4 +11,5 @@ config BR2_PACKAGE_YAML_CPP
https://code.google.com/p/yaml-cpp/
comment "yaml-cpp needs a toolchain w/ C++, threads"
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/zeromq/0003-libzmq-Fix-pkg-config-files-for-static-linking.patch b/package/zeromq/0003-libzmq-Fix-pkg-config-files-for-static-linking.patch
new file mode 100644
index 0000000000..11acec26ae
--- /dev/null
+++ b/package/zeromq/0003-libzmq-Fix-pkg-config-files-for-static-linking.patch
@@ -0,0 +1,29 @@
+From e89577d30c278fba0f9e40266ceb6fb2821907d5 Mon Sep 17 00:00:00 2001
+From: Peter Korsgaard <peter@korsgaard.com>
+Date: Wed, 13 May 2015 08:01:34 +0200
+Subject: [PATCH] libzmq: Fix pkg-config files for static linking
+
+Libzmq uses C++ standard library features, so users of it should link
+against that as well when statically linking.
+
+Add it to Libs.private so users using pkg-config automatically gets the
+correct linker flags.
+
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+---
+ src/libzmq.pc.in | 1 +
+ 1 file changed, 1 insertions(+)
+
+diff --git a/src/libzmq.pc.in b/src/libzmq.pc.in
+index ba155a3..52a39f7 100644
+--- a/src/libzmq.pc.in
++++ b/src/libzmq.pc.in
+@@ -7,4 +7,5 @@ Name: libzmq
+ Description: 0MQ c++ library
+ Version: @VERSION@
+ Libs: -L${libdir} -lzmq
++Libs.private: -lstdc++
+ Cflags: -I${includedir}
+--
+2.1.4
+
diff --git a/package/zmqpp/0001-add-cstdlib-header-to-ensure-EXIT_FAILURE-presence.patch b/package/zmqpp/0001-add-cstdlib-header-to-ensure-EXIT_FAILURE-presence.patch
new file mode 100644
index 0000000000..1458eca60e
--- /dev/null
+++ b/package/zmqpp/0001-add-cstdlib-header-to-ensure-EXIT_FAILURE-presence.patch
@@ -0,0 +1,30 @@
+From 2c9271fa662b98e2a451b859f2506edf5f91c9bf Mon Sep 17 00:00:00 2001
+From: Lionel Orry <lionel.orry@gmail.com>
+Date: Fri, 15 May 2015 11:27:57 +0200
+Subject: [PATCH] add cstdlib header to ensure EXIT_FAILURE presence
+
+Using some cross-compiling toolchains, EXIT_FAILURE is not always
+properly defined without this inclusion.
+
+Add myself to AUTHORS.
+
+Signed-off-by: Lionel Orry <lionel.orry@gmail.com>
+---
+ src/client/main.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/client/main.cpp b/src/client/main.cpp
+index 082c06b..760f01a 100644
+--- a/src/client/main.cpp
++++ b/src/client/main.cpp
+@@ -3,6 +3,7 @@
+ * Author: @benjamg
+ */
+
++#include <cstdlib>
+ #include <array>
+ #include <iostream>
+ #include <tuple>
+--
+2.1.0
+
diff --git a/package/zmqpp/Config.in b/package/zmqpp/Config.in
index f3d10c9333..0aaeda3644 100644
--- a/package/zmqpp/Config.in
+++ b/package/zmqpp/Config.in
@@ -26,6 +26,7 @@ if BR2_PACKAGE_ZMQPP
config BR2_PACKAGE_ZMQPP_CLIENT
bool "zmqpp client"
depends on BR2_TOOLCHAIN_HAS_THREADS # boost
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
help
@@ -33,6 +34,7 @@ config BR2_PACKAGE_ZMQPP_CLIENT
used to listen or send to zeromq sockets.
comment "zmqpp client needs a toolchain w/ threads"
+ depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_THREADS
endif
diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
index 52305e1089..01ad82887c 100755
--- a/support/dependencies/dependencies.sh
+++ b/support/dependencies/dependencies.sh
@@ -217,7 +217,7 @@ if grep -q ^BR2_HOSTARCH_NEEDS_IA32_LIBS=y $BR2_CONFIG ; then
echo "Your Buildroot configuration uses pre-built tools for the x86 architecture,"
echo "but your build machine uses the x86-64 architecture without the 32 bits compatibility"
echo "library."
- echo "If you're running a Debian/Ubuntu distribution, install the libc6-386,"
+ echo "If you're running a Debian/Ubuntu distribution, install the libc6-i386,"
echo "lib32stdc++6, and lib32z1 packages (or alternatively libc6:i386,"
echo "libstdc++6:i386, and zlib1g:i386)."
echo "For other distributions, refer to the documentation on how to install the 32 bits"
diff --git a/support/download/git b/support/download/git
index 73cbc0f7d1..fd5f5392dd 100755
--- a/support/download/git
+++ b/support/download/git
@@ -25,8 +25,13 @@ repo="${2}"
cset="${3}"
basename="${4}"
-# Try to see if we can do a shallow clone, since it is faster
-# than a full clone.
+# Try a shallow clone, since it is faster than a full clone - but that only
+# works if the version is a ref (tag or branch). Before trying to do a shallow
+# clone we check if ${cset} is in the list provided by git ls-remote. If not
+# we fall back on a full clone.
+#
+# Messages for the type of clone used are provided to ease debugging in case of
+# problems
git_done=0
if [ -n "$(${GIT} ls-remote "${repo}" "${cset}" 2>&1)" ]; then
printf "Doing shallow clone\n"
diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk
index cb3b61ae0e..30eb065e19 100644
--- a/toolchain/helpers.mk
+++ b/toolchain/helpers.mk
@@ -197,11 +197,11 @@ check_glibc_feature = \
check_glibc_rpc_feature = \
IS_IN_LIBC=`test -f $(1)/usr/include/rpc/rpc.h && echo y` ; \
if [ "$(BR2_TOOLCHAIN_HAS_NATIVE_RPC)" != "y" -a "$${IS_IN_LIBC}" = "y" ] ; then \
- echo "RPC support available in C library, please enable BR2_TOOLCHAIN_HAS_NATIVE_RPC" ; \
+ echo "RPC support available in C library, please enable BR2_TOOLCHAIN_EXTERNAL_INET_RPC" ; \
exit 1 ; \
fi ; \
if [ "$(BR2_TOOLCHAIN_HAS_NATIVE_RPC)" = "y" -a "$${IS_IN_LIBC}" != "y" ] ; then \
- echo "RPC support not available in C library, please disable BR2_TOOLCHAIN_HAS_NATIVE_RPC" ; \
+ echo "RPC support not available in C library, please disable BR2_TOOLCHAIN_EXTERNAL_INET_RPC" ; \
exit 1 ; \
fi
OpenPOWER on IntegriCloud