diff options
215 files changed, 3938 insertions, 296 deletions
@@ -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 @@ -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 |