diff options
50 files changed, 412 insertions, 126 deletions
@@ -1,3 +1,46 @@ +2011.11, Released November 30th, 2011: + + Fixes all over the tree. + + Bump kernel headers / default Linux version to 3.1.4. + + Updated/fixed packages: ruby + +2011.11-rc3, Released November 26th, 2011: + + Fixes all over the tree. + + Toolchain: Fix gdb dependencies for external toolchains, + adjust uClibc patches so they don't confuse modern versions of + patch, bump crosstool-ng, kernel headers and linux versions. + + Updated/fixed packages: busybox, freetype, mplayer, opencv, + php, rsyslog, ruby, thttpd, xapp_xf86dga + + Issues resolved (http://bugs.uclibc.org): + + #4357: Prevent patch commands from accessing source control + #4369: Fix permissions on untared lsof archive + +2011.11-rc2, Released November 18th, 2011: + + Fixes all over the tree and new features. + + Updated asciidoc documentation + + Toolchain: Bumped 3.x stable kernel headers, use wget in + crosstool-ng as well, bump crosstool-ng version, gdb fixes, + uClibc sparc fix. + + Updated/fixed packages: distcc, file, gst-plugins-bad, libxcb, + mplayer, newt, qt, rpm, rrdtool, tar, tftpd + + Issues resolved (http://bugs.uclibc.org): + + #3355: mplayer fails to build + #4021: uClibc: undefined reference to `__GI___errno_location' + #4297: Qt's qmake uses wrong pkg-config + 2011.11-rc1, Released November 11th, 2011: Fixes all over the tree and new features. diff --git a/boot/grub/grub.mk b/boot/grub/grub.mk index fbff86711..1b5ca0dd2 100644 --- a/boot/grub/grub.mk +++ b/boot/grub/grub.mk @@ -41,7 +41,7 @@ GRUB_CONFIG-$(BR2_TARGET_GRUB_w89c840) += --enable-w89c840 define GRUB_DEBIAN_PATCHES # Apply the patches from the Debian patch (cd $(@D) ; for f in `cat debian/patches/00list | grep -v ^#` ; do \ - cat debian/patches/$$f | patch -p1 ; \ + cat debian/patches/$$f | patch -g0 -p1 ; \ done) endef diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index daccd8bbc..506f35405 100644 --- a/boot/uboot/Config.in +++ b/boot/uboot/Config.in @@ -61,7 +61,7 @@ config BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR help If your board requires custom patches, add the path to the directory containing the patches here. The patches must be - named u-boot-<version>-<something>.patch. + named uboot-<version>-<something>.patch. Most users may leave this empty diff --git a/docs/buildroot.html b/docs/buildroot.html index 2314d1095..e13e8f752 100644 --- a/docs/buildroot.html +++ b/docs/buildroot.html @@ -1031,7 +1031,7 @@ $(eval $(call GENTARGETS,package,libfoo,host)) <li><code>LIBFOO_SOURCE</code> may contain the name of the tarball of the package. If <code>HOST_LIBFOO_SOURCE</code> is not specified, it - defaults to <code>LIBFOO_VERSION</code>. If none are specified, then + defaults to <code>LIBFOO_SOURCE</code>. If none are specified, then the value is assumed to be <code>packagename-$(LIBFOO_VERSION).tar.gz</code>.<br/>Example: <code>LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2</code></li> @@ -1787,9 +1787,9 @@ Starting dropbear sshd: generating rsa key... generating dsa key... OK</pre> <p>then it means that your system is running, but didn't start a shell on the serial console. In order to have the system start a shell on your serial console, you have to go in the Buildroot - configuration, <code>Target options</code>, enable <code>Generic - serial port config</code>, and select the serial port and speed - you would like to use for the shell. This will automatically tune + configuration, <code>System configuration</code>, and modify + <code>Port to run a getty (login prompt) on</code> and + <code>Baudrate to use</code> as appropriate. This will automatically tune the <code>/etc/inittab</code> file of the generated system so that a shell starts on the correct serial port.</p> diff --git a/docs/download.html b/docs/download.html index 81ad2a769..4a52fb7db 100644 --- a/docs/download.html +++ b/docs/download.html @@ -6,22 +6,22 @@ <p> -The latest stable release is <b>2011.08</b>, which can be downloaded +The latest stable release is <b>2011.11</b>, which can be downloaded here:<p> -<a href="/downloads/buildroot-2011.08.tar.gz">buildroot-2011.08.tar.gz</a> +<a href="/downloads/buildroot-2011.11.tar.gz">buildroot-2011.11.tar.gz</a> or -<a href="/downloads/buildroot-2011.08.tar.bz2">buildroot-2011.08.tar.bz2</a>. +<a href="/downloads/buildroot-2011.11.tar.bz2">buildroot-2011.11.tar.bz2</a>. <p> - -The latest release candidate is <b>2011.11-rc1</b>, which can be +<!-- +The latest release candidate is <b>2011.11-rc3</b>, which can be downloaded here:<p> -<a href="/downloads/buildroot-2011.11-rc1.tar.gz">buildroot-2011.11-rc1.tar.gz</a> +<a href="/downloads/buildroot-2011.11-rc3.tar.gz">buildroot-2011.11-rc3.tar.gz</a> or -<a href="/downloads/buildroot-2011.11-rc1.tar.bz2">buildroot-2011.11-rc1.tar.bz2</a>. +<a href="/downloads/buildroot-2011.11-rc3.tar.bz2">buildroot-2011.11-rc3.tar.bz2</a>. <p> - +--> This and earlier releases can always be downloaded from <a href="/downloads/">http://buildroot.net/downloads/</a>. diff --git a/docs/manual/adding-packages-autotargets.txt b/docs/manual/adding-packages-autotargets.txt index cb41eadfd..428a1822b 100644 --- a/docs/manual/adding-packages-autotargets.txt +++ b/docs/manual/adding-packages-autotargets.txt @@ -23,7 +23,7 @@ package, with an example : 11: LIBFOO_CONF_OPT = --enable-shared 12: LIBFOO_DEPENDENCIES = libglib2 host-pkg-config 13: -14: $(eval $(call AUTOTARGETS,package,libfoo)) +14: $(eval $(call AUTOTARGETS)) ------------------------ On line 6, we declare the version of the package. diff --git a/docs/manual/adding-packages-cmaketargets.txt b/docs/manual/adding-packages-cmaketargets.txt index b03eb6894..3e400ec14 100644 --- a/docs/manual/adding-packages-cmaketargets.txt +++ b/docs/manual/adding-packages-cmaketargets.txt @@ -23,7 +23,7 @@ with an example : 11: LIBFOO_CONF_OPT = -DBUILD_DEMOS=ON 12: LIBFOO_DEPENDENCIES = libglib2 host-pkg-config 13: -14: $(eval $(call CMAKETARGETS,package,libfoo)) +14: $(eval $(call CMAKETARGETS)) ------------------------ On line 6, we declare the version of the package. diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt index 058ebad1c..0852b045f 100644 --- a/docs/manual/adding-packages-directory.txt +++ b/docs/manual/adding-packages-directory.txt @@ -24,10 +24,16 @@ config BR2_PACKAGE_LIBFOO http://foosoftware.org/libfoo/ --------------------------- -Of course, you can add other options to configure particular things in -your software. You can look at examples in other packages. The syntax -of the +Config.in+ file is the same as the one for the kernel Kconfig -file. The documentation for this syntax is available at +The +bool+ line, +help+ line and other meta-informations about the +configuration option must be indented with one tab. The help text +itself should be indented with one tab and two spaces, and it must +mention the upstream URL of the project. + +Of course, you can add other sub-options into a +if +BR2_PACKAGE_LIBFOO...endif+ statement to configure particular things +in your software. You can look at examples in other packages. The +syntax of the +Config.in+ file is the same as the one for the kernel +Kconfig file. The documentation for this syntax is available at http://lxr.free-electrons.com/source/Documentation/kbuild/kconfig-language.txt[] Finally you have to add your new +libfoo/Config.in+ to @@ -40,6 +46,51 @@ supposed to contain anything but the 'bare' name of the package. source "package/libfoo/Config.in" -------------------------- +The +Config.in+ file of your package must also ensure that +dependencies are enabled. Typically, Buildroot uses the following +rules: + +* Use a +select+ type of dependency for dependencies on + libraries. These dependencies are generally not obvious and it + therefore make sense to have the kconfig system ensure that the + dependencies are selected. For example, the _libgtk2_ package uses + +select BR2_PACKAGE_LIBGLIB2+ to make sure this library is also + enabled. + +* Use a +depends on+ type of dependency when the user really needs to + be aware of the dependency. Typically, Buildroot uses this type of + dependency for dependencies on toolchain options (large file + support, RPC support, IPV6 support), or for dependencies on "big" + things, such as the X.org system. In some cases, especially + dependency on toolchain options, it is recommended to add a + +comment+ displayed when the option is not enabled, so that the user + knows why the package is not available. + +An example illustrates both the usage of +select+ and +depends on+. + +-------------------------- +config BR2_PACKAGE_ACL + bool "acl" + select BR2_PACKAGE_ATTR + depends on BR2_LARGEFILE + help + POSIX Access Control Lists, which are used to define more + fine-grained discretionary access rights for files and + directories. + This package also provides libacl. + + http://savannah.nongnu.org/projects/acl + +comment "acl requires a toolchain with LARGEFILE support" + depends on !BR2_LARGEFILE +-------------------------- + + +Note that such dependencies will make sure that the dependency option +is also enabled, but not necessarily built before your package. To do +so, the dependency also needs to be expressed in the +.mk+ file of the +package. + The +.mk+ file ~~~~~~~~~~~~~~ @@ -50,8 +101,8 @@ installed, etc. Depending on the package type, the +.mk+ file must be written in a different way, using different infrastructures: -* *Makefiles for generic packages* (not using autotools): These are - based on an infrastructure similar to the one used for +* *Makefiles for generic packages* (not using autotools or CMake): + These are based on an infrastructure similar to the one used for autotools-based packages, but requires a little more work from the developer. They specify what should be done for the configuration, compilation, installation and cleanup of the package. This @@ -68,6 +119,13 @@ different way, using different infrastructures: system. We cover them through a xref:autotargets-tutorial[tutorial] and xref:autotargets-reference[reference]. +* *Makefiles for cmake-based software*: We provide a dedicated + infrastructure for such packages, as CMake is a more and more + commonly used build system and has a standardized behaviour. This + infrastructure 'must' be used for new packages that rely on + CMake. We cover them through a xref:cmaketargets-tutorial[tutorial] + and xref:cmaketargets-reference[reference]. + * *Hand-written Makefiles:* These are currently obsolete, and no new manual Makefiles should be added. However, since there are still many of them in the tree, we keep them documented in a diff --git a/docs/manual/adding-packages-gentargets.txt b/docs/manual/adding-packages-gentargets.txt index 9a319d161..b34449464 100644 --- a/docs/manual/adding-packages-gentargets.txt +++ b/docs/manual/adding-packages-gentargets.txt @@ -38,7 +38,7 @@ system is based on hand-written Makefiles or shell scripts. 24: $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d 25: endef 26: -27: $(eval $(call GENTARGETS,package,libfoo)) +27: $(eval $(call GENTARGETS)) -------------------------------- The Makefile begins on line 6 to 8 with metadata information: the @@ -84,32 +84,19 @@ Makefile code necessary to make your package working. +GENTARGETS+ Reference ~~~~~~~~~~~~~~~~~~~~~~ -The +GENTARGETS+ macro takes three arguments: - -* The first argument is the package directory prefix. If your package - is in +package/libfoo+, then the directory prefix is +package+. If - your package is in +package/editors/foo+, then the directory prefix - must be +package/editors+. - -* The second argument is the lower-cased package name. It must match - the prefix of the variables in the +.mk+ file and must match the - configuration option name in the +Config.in+ file. For example, if - the package name is +libfoo+, then the variables in the +.mk+ file - must start with +LIBFOO_+ and the configuration option in the - +Config.in+ file must be +BR2_PACKAGE_LIBFOO+. - -* The third argument is optional. It can be used to tell if the - package is a target package (cross-compiled for the target) or a - host package (natively compiled for the host). If unspecified, it is - assumed that it is a target package. See below for details. +The +GENTARGETS+ macro takes one optional argument. This argument can +be used to tell if the package is a target package (cross-compiled for +the target) or a host package (natively compiled for the host). If +unspecified, it is assumed that it is a target package. See below for +details. For a given package, in a single +.mk+ file, it is possible to call GENTARGETS twice, once to create the rules to generate a target package and once to create the rules to generate a host package: ---------------------- -$(eval $(call GENTARGETS,package,libfoo)) -$(eval $(call GENTARGETS,package,libfoo,host)) +$(eval $(call GENTARGETS)) +$(eval $(call GENTARGETS,host)) ---------------------- This might be useful if the compilation of the target package requires @@ -144,7 +131,7 @@ information is (assuming the package name is +libfoo+) : * +LIBFOO_SOURCE+ may contain the name of the tarball of the package. If +HOST_LIBFOO_SOURCE+ is not specified, it - defaults to +LIBFOO_VERSION+. If none are specified, then + defaults to +LIBFOO_SOURCE+. If none are specified, then the value is assumed to be +packagename-$(LIBFOO_VERSION).tar.gz+. + Example: +LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2+ diff --git a/docs/news.html b/docs/news.html index ba5f7d01c..2e54a9e94 100644 --- a/docs/news.html +++ b/docs/news.html @@ -5,12 +5,46 @@ <p> <ul> + <li><b>30 November 2011 -- 2011.11 released</b> + + <p>The stable 2011.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.11">CHANGES</a> + file for more details, and go to the <a href="/downloads/">downloads page</a> to pick up the + <a href="/downloads/buildroot-2011.11.tar.bz2">2011.11 release</a>.</p> + + <li><b>26 November 2011 -- 2011.11-rc3 released</b> + + <p>RC3 is out with more bugfixes - See the <a + href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.11_rc3">CHANGES</a> + file for details. + + <p>Head to the <a href="/downloads/">downloads page</a> to pick up the + <a href="/downloads/buildroot-2011.11-rc3.tar.bz2">2011.11-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>18 November 2011 -- 2011.11-rc2 released</b> + + <p>Another week, another release candidate with a bunch of + cleanups and build fixes. See the <a + href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.11_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-2011.11-rc2.tar.bz2">2011.11-rc2 + release candidate</a>, and report any problems found to the <a + href="lists.html">mailing list</a> or <a + href="https://bugs.uclibc.org">bug tracker</a>.</p> + <li><b>11 November 2011 -- 2011.11-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=2011.11_rc1">CHANGES</a> - file for details. + file for details, and read the + <a href="http://lists.busybox.net/pipermail/buildroot/2011-November/047395.html">announcement</a> <p>Head to the <a href="/downloads/">downloads page</a> to pick up the <a href="/downloads/buildroot-2011.11-rc1.tar.bz2">2011.11-rc1 diff --git a/linux/Config.in b/linux/Config.in index 0082ca88d..dc6aa733a 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -22,7 +22,7 @@ choice default BR2_LINUX_KERNEL_3_1 config BR2_LINUX_KERNEL_3_1 - bool "3.1" + bool "3.1.4" config BR2_LINUX_KERNEL_SAME_AS_HEADERS bool "Same as toolchain kernel headers" @@ -58,7 +58,7 @@ endchoice config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE string "Kernel version" depends on BR2_LINUX_KERNEL_CUSTOM_VERSION - default "3.1" + default "3.1.4" config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION string "URL of custom kernel tarball" @@ -74,7 +74,7 @@ config BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION config BR2_LINUX_KERNEL_VERSION string - default "3.1" if BR2_LINUX_KERNEL_3_1 + default "3.1.4" if BR2_LINUX_KERNEL_3_1 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 default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL @@ -146,7 +146,6 @@ config BR2_LINUX_KERNEL_VMLINUX_BIN config BR2_LINUX_KERNEL_VMLINUX bool "vmlinux" - depends on BR2_mips || BR2_mipsel || BR2_powerpc config BR2_LINUX_KERNEL_VMLINUZ bool "vmlinuz" diff --git a/package/Makefile.package.in b/package/Makefile.package.in index 8985d5a9f..2349b05af 100644 --- a/package/Makefile.package.in +++ b/package/Makefile.package.in @@ -667,6 +667,7 @@ endif rm -f $$($(2)_TARGET_BUILD) rm -f $$($(2)_TARGET_INSTALL_STAGING) rm -f $$($(2)_TARGET_INSTALL_TARGET) + rm -f $$($(2)_TARGET_INSTALL_IMAGES) rm -f $$($(2)_TARGET_INSTALL_HOST) $(1)-rebuild: $(1)-clean-for-rebuild all diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index 9e9113605..d18b6d0b1 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -141,8 +141,6 @@ endef BUSYBOX_POST_EXTRACT_HOOKS += BUSYBOX_COPY_CONFIG define BUSYBOX_CONFIGURE_CMDS - $(BUSYBOX_SET_SYSKLOGD) - $(BUSYBOX_SET_BB_PWD) $(BUSYBOX_SET_LARGEFILE) $(BUSYBOX_SET_IPV6) $(BUSYBOX_SET_RPC) diff --git a/package/crosstool-ng/crosstool-ng-000-makefile-recursion.patch b/package/crosstool-ng/crosstool-ng-000-makefile-recursion.patch index 4f6674472..b875e3f1a 100644 --- a/package/crosstool-ng/crosstool-ng-000-makefile-recursion.patch +++ b/package/crosstool-ng/crosstool-ng-000-makefile-recursion.patch @@ -18,7 +18,7 @@ Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> diff -du crosstool-ng-1.12.0/Makefile.in host-crosstool-ng-1.12.0/Makefile.in --- crosstool-ng-1.12.0/Makefile.in 2011-08-01 01:21:34.000000000 +0200 +++ host-crosstool-ng-1.12.0/Makefile.in 2011-08-07 21:39:16.055958219 +0200 -@@ -95,9 +95,14 @@ +@@ -101,9 +101,14 @@ # level. # This has the side effect of only showing the real targets, and hiding our # internal ones. :-) diff --git a/package/crosstool-ng/crosstool-ng-001-wget-instead-of-curl.patch b/package/crosstool-ng/crosstool-ng-001-wget-instead-of-curl.patch new file mode 100644 index 000000000..d40f178b8 --- /dev/null +++ b/package/crosstool-ng/crosstool-ng-001-wget-instead-of-curl.patch @@ -0,0 +1,52 @@ +Use wget instead of curl + +While crosstool-NG did support either curl or wget in the past, it now +only supports curl. Unfortunately, Buildroot uses wget for all its +downloads, so wget is a hard dependency of Buildroot, while curl +isn't. + +Instead of adding curl as a new Buildroot dependency, or building curl +for the host, we simply tweak crosstool-NG to use wget instead of +curl. + +The script/functions change has been provided by Yann E. Morin. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: crosstool-ng-1.13.0/configure +=================================================================== +--- crosstool-ng-1.13.0.orig/configure ++++ crosstool-ng-1.13.0/configure +@@ -496,7 +496,7 @@ + ver='\(GNU libtool.*\) (2[[:digit:]]*\.|1\.6[[:digit:]]*\.|1\.5\.[2-9][[:digit:]]+)' \ + err="'libtoolize' 1.5.26 or above was not found" + has_or_abort prog=stat +-has_or_abort prog="curl" ++has_or_abort prog="wget" + has_or_abort prog=patch + has_or_abort prog=tar + has_or_abort prog=gzip +Index: crosstool-ng-1.13.0/scripts/functions +=================================================================== +--- crosstool-ng-1.13.0.orig/scripts/functions ++++ crosstool-ng-1.13.0/scripts/functions +@@ -456,13 +456,12 @@ + # Some company networks have firewalls to connect to the internet, but it's + # not easy to detect them, so force a global ${CT_CONNECT_TIMEOUT}-second + # timeout. +- # For curl, no good progress indicator is available. So, be silent. +- if CT_DoExecLog ALL curl --ftp-pasv \ +- --retry 3 \ +- --connect-timeout ${CT_CONNECT_TIMEOUT} \ +- --location --fail --silent \ +- --output "${tmp}" \ +- "${url}" ++ if CT_DoExecLog ALL wget --passive-ftp --tries=3 -nc \ ++ -T ${CT_CONNECT_TIMEOUT} \ ++ -O "${tmp}" \ ++ "${url}" ++ ++ + then + # Success, we got it, good! + mv "${tmp}" "${dest}" diff --git a/package/crosstool-ng/crosstool-ng.mk b/package/crosstool-ng/crosstool-ng.mk index f6766972c..0337bf1fe 100644 --- a/package/crosstool-ng/crosstool-ng.mk +++ b/package/crosstool-ng/crosstool-ng.mk @@ -1,4 +1,4 @@ -CROSSTOOL_NG_VERSION = 1.13.0 +CROSSTOOL_NG_VERSION = 1.13.2 CROSSTOOL_NG_SOURCE = crosstool-ng-$(CROSSTOOL_NG_VERSION).tar.bz2 CROSSTOOL_NG_SITE = http://crosstool-ng.org/download/crosstool-ng/ CROSSTOOL_NG_INSTALL_STAGING = NO diff --git a/package/distcc/distcc.mk b/package/distcc/distcc.mk index 40961972e..dc3b36b2e 100644 --- a/package/distcc/distcc.mk +++ b/package/distcc/distcc.mk @@ -3,9 +3,9 @@ # distcc # ############################################################# -DISTCC_VERSION:=2.18.3 -DISTCC_SOURCE:=distcc-$(DISTCC_VERSION).tar.bz2 -DISTCC_SITE:=http://distcc.samba.org/ftp/distcc/ +DISTCC_VERSION = 2.18.3 +DISTCC_SOURCE = distcc-$(DISTCC_VERSION).tar.bz2 +DISTCC_SITE = http://distcc.googlecode.com/files/ DISTCC_CONF_OPT = --with-included-popt --without-gtk --without-gnome diff --git a/package/file/file.mk b/package/file/file.mk index d9a533f4d..753605698 100644 --- a/package/file/file.mk +++ b/package/file/file.mk @@ -8,6 +8,7 @@ FILE_VERSION = 5.09 FILE_SITE = ftp://ftp.astron.com/pub/file/ FILE_DEPENDENCIES = host-file zlib HOST_FILE_DEPENDENCIES = host-zlib +FILE_INSTALL_STAGING = YES define FILE_UNINSTALL_TARGET_CMDS $(MAKE) DESTDIR=$(TARGET_DIR) uninstall -C $(FILE_DIR) diff --git a/package/freetype/freetype.mk b/package/freetype/freetype.mk index 142a1ec69..6eb6b29e7 100644 --- a/package/freetype/freetype.mk +++ b/package/freetype/freetype.mk @@ -4,7 +4,7 @@ # ############################################################# -FREETYPE_VERSION = 2.4.7 +FREETYPE_VERSION = 2.4.8 FREETYPE_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/freetype FREETYPE_SOURCE = freetype-$(FREETYPE_VERSION).tar.bz2 FREETYPE_INSTALL_STAGING = YES diff --git a/package/lsof/lsof.mk b/package/lsof/lsof.mk index ff76f92c6..c07fb2da3 100644 --- a/package/lsof/lsof.mk +++ b/package/lsof/lsof.mk @@ -33,13 +33,12 @@ endef endif # The .tar.bz2 contains another .tar, which contains the source code. -define LSOF_EXTRACT_TAR - $(TAR) $(TAR_STRIP_COMPONENTS)=1 -xf $(@D)/lsof_$(LSOF_VERSION)_src.tar -C $(@D) - rm -f $(@D)/lsof_$(LSOF_VERSION)_src.tar +define LSOF_EXTRACT_CMDS + $(INFLATE.bz2) $(DL_DIR)/$(LSOF_SOURCE) | \ + $(TAR) -O $(TAR_OPTIONS) - lsof_$(LSOF_VERSION)/lsof_$(LSOF_VERSION)_src.tar | \ + $(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(LSOF_DIR) $(TAR_OPTIONS) - endef -LSOF_POST_EXTRACT_HOOKS += LSOF_EXTRACT_TAR - define LSOF_CONFIGURE_CMDS (cd $(@D) ; \ echo n | $(TARGET_CONFIGURE_OPTS) DEBUG="$(TARGET_CFLAGS) $(BR2_LSOF_CFLAGS)" \ diff --git a/package/lzma/lzmacheck.sh b/package/lzma/lzmacheck.sh deleted file mode 100755 index bcb0423d1..000000000 --- a/package/lzma/lzmacheck.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -bin=$(toolchain/dependencies/check-host-lzma.sh) -if [ "x$bin" = "x" ] ; then - echo build-lzma-host-binary -else - echo use-lzma-host-binary -fi - diff --git a/package/multimedia/gst-plugins-bad/Config.in b/package/multimedia/gst-plugins-bad/Config.in index a8d01bcad..e772930b2 100644 --- a/package/multimedia/gst-plugins-bad/Config.in +++ b/package/multimedia/gst-plugins-bad/Config.in @@ -55,8 +55,12 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DEBUGUTILS bool "debugutils" config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DECKLINK + depends on BR2_INSTALL_LIBSTDCPP bool "decklink" +comment "decklink requires a toolchain with C++ support enabled" + depends on !BR2_INSTALL_LIBSTDCPP + config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DTMF bool "dtmf" diff --git a/package/multimedia/mplayer/mplayer.mk b/package/multimedia/mplayer/mplayer.mk index 776cc68ee..96b4e736e 100644 --- a/package/multimedia/mplayer/mplayer.mk +++ b/package/multimedia/mplayer/mplayer.mk @@ -67,8 +67,8 @@ else MPLAYER_CONF_OPTS += --disable-mencoder endif -ifeq ($(BR2_PACKAGE_TREMOR),y) -MPLAYER_DEPENDENCIES += tremor +ifeq ($(BR2_PACKAGE_TREMOR)$(BR2_PACKAGE_LIBOGG),yy) +MPLAYER_DEPENDENCIES += tremor libogg MPLAYER_CONF_OPTS += --disable-tremor-internal --enable-tremor endif @@ -108,6 +108,12 @@ ifeq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),armv7-a) MPLAYER_CONF_OPTS += --enable-neon endif +ifeq ($(BR2_i386),y) +# inline asm breaks with "can't find a register in class 'GENERAL_REGS'" +# inless we free up ebp +MPLAYER_CFLAGS += -fomit-frame-pointer +endif + define MPLAYER_CONFIGURE_CMDS (cd $(@D); rm -rf config.cache; \ $(TARGET_CONFIGURE_OPTS) \ @@ -122,6 +128,7 @@ define MPLAYER_CONFIGURE_CMDS --charset=UTF-8 \ --extra-cflags="$(MPLAYER_CFLAGS)" \ --extra-ldflags="$(MPLAYER_LDFLAGS)" \ + --yasm='' \ --enable-mad \ --enable-fbdev \ $(MPLAYER_CONF_OPTS) \ diff --git a/package/newt/newt.mk b/package/newt/newt.mk index 28b5321e7..eb944a92f 100644 --- a/package/newt/newt.mk +++ b/package/newt/newt.mk @@ -42,7 +42,7 @@ $(NEWT_DIR)/.configured: $(NEWT_DIR)/.source touch $(NEWT_DIR)/.configured $(NEWT_DIR)/libnewt.so.$(NEWT_VERSION): $(NEWT_DIR)/.configured - $(MAKE) CFLAGS="$(TARGET_CFLAGS) $(NEWT_CFLAGS)" CC="$(TARGET_CC)" -C $(NEWT_DIR) + $(MAKE1) CFLAGS="$(TARGET_CFLAGS) $(NEWT_CFLAGS)" CC="$(TARGET_CC)" -C $(NEWT_DIR) touch -c $@ $(STAGING_DIR)/usr/lib/libnewt.a: $(NEWT_DIR)/libnewt.so.$(NEWT_VERSION) diff --git a/package/opencv/Config.in b/package/opencv/Config.in index 1f454b677..961282f5e 100644 --- a/package/opencv/Config.in +++ b/package/opencv/Config.in @@ -31,11 +31,16 @@ config BR2_PACKAGE_OPENCV_WITH_PYTHON config BR2_PACKAGE_OPENCV_WITH_FFMPEG bool "ffmpeg support" + depends on BR2_LARGEFILE + depends on BR2_INET_IPV6 select BR2_PACKAGE_FFMPEG select BR2_PACKAGE_FFMPEG_SWSCALE help Use ffmpeg from the target system. +comment "ffmpeg support requires a toolchain with LARGEFILE and IPV6 support" + depends on !(BR2_LARGEFILE && BR2_INET_IPV6) + config BR2_PACKAGE_OPENCV_WITH_GSTREAMER bool "gstreamer support" select BR2_PACKAGE_GSTREAMER diff --git a/package/php/Config.ext b/package/php/Config.ext index 4f1614e1d..bd630eeb6 100644 --- a/package/php/Config.ext +++ b/package/php/Config.ext @@ -125,6 +125,7 @@ config BR2_PACKAGE_PHP_EXT_SYSVSHM config BR2_PACKAGE_PHP_EXT_ZIP bool "zip" + select BR2_PACKAGE_ZLIB help Zip read/write support diff --git a/package/php/php.mk b/package/php/php.mk index a1dde5172..7f848b178 100644 --- a/package/php/php.mk +++ b/package/php/php.mk @@ -70,7 +70,7 @@ ifeq ($(BR2_PACKAGE_PHP_EXT_SIMPLEXML),y) PHP_CONF_OPT += --enable-simplexml endif -ifeq ($(BR2_PACKAGE_PHP_EXT_ZLIB),y) +ifneq ($(BR2_PACKAGE_PHP_EXT_ZLIB)$(BR2_PACKAGE_PHP_EXT_ZIP),) PHP_CONF_OPT += --with-zlib=$(STAGING_DIR)/usr PHP_DEPENDENCIES += zlib endif diff --git a/package/qt/qt.mk b/package/qt/qt.mk index cc035bfe3..28a477ae1 100644 --- a/package/qt/qt.mk +++ b/package/qt/qt.mk @@ -434,11 +434,11 @@ endif QT_QMAKE:=$(HOST_DIR)/usr/bin/qmake -spec qws/linux-$(QT_EMB_PLATFORM)-g++ ################################################################################ -# QT_QMAKE_SET -- helper macro to set QMAKE_<variable> = <value> in +# QT_QMAKE_SET -- helper macro to set <variable> = <value> in # the qmake.conf file. Will remove existing variable declaration if # available. # -# Argument 1 is the variable name (without QMAKE_) +# Argument 1 is the variable name # Argument 2 is the value to set variable to # Argument 3 is the base source directory of Qt # @@ -446,8 +446,8 @@ QT_QMAKE:=$(HOST_DIR)/usr/bin/qmake -spec qws/linux-$(QT_EMB_PLATFORM)-g++ # $(call QT_QMAKE_SET,variable,value,directory) ################################################################################ define QT_QMAKE_SET - $(SED) '/QMAKE_$(1)/d' $(3)/mkspecs/qws/linux-$(QT_EMB_PLATFORM)-g++/qmake.conf - $(SED) '/include.*qws.conf/aQMAKE_$(1) = $(2)' $(3)/mkspecs/qws/linux-$(QT_EMB_PLATFORM)-g++/qmake.conf + $(SED) '/$(1)/d' $(3)/mkspecs/qws/linux-$(QT_EMB_PLATFORM)-g++/qmake.conf + $(SED) '/include.*qws.conf/a$(1) = $(2)' $(3)/mkspecs/qws/linux-$(QT_EMB_PLATFORM)-g++/qmake.conf endef ifneq ($(BR2_INET_IPV6),y) @@ -468,17 +468,18 @@ define QT_CONFIGURE_CMDS $(QT_CONFIGURE_IPV6) $(QT_CONFIGURE_CONFIG_FILE) # Fix compiler path - $(call QT_QMAKE_SET,CC,$(TARGET_CC),$(@D)) - $(call QT_QMAKE_SET,CXX,$(TARGET_CXX),$(@D)) - $(call QT_QMAKE_SET,LINK,$(TARGET_CXX),$(@D)) - $(call QT_QMAKE_SET,LINK_SHLIB,$(TARGET_CXX),$(@D)) - $(call QT_QMAKE_SET,AR,$(TARGET_AR) cqs,$(@D)) - $(call QT_QMAKE_SET,OBJCOPY,$(TARGET_OBJCOPY),$(@D)) - $(call QT_QMAKE_SET,RANLIB,$(TARGET_RANLIB),$(@D)) - $(call QT_QMAKE_SET,STRIP,$(TARGET_STRIP),$(@D)) - $(call QT_QMAKE_SET,CFLAGS,$(QT_CFLAGS),$(@D)) - $(call QT_QMAKE_SET,CXXFLAGS,$(QT_CXXFLAGS),$(@D)) - $(call QT_QMAKE_SET,LFLAGS,$(TARGET_LDFLAGS),$(@D)) + $(call QT_QMAKE_SET,QMAKE_CC,$(TARGET_CC),$(@D)) + $(call QT_QMAKE_SET,QMAKE_CXX,$(TARGET_CXX),$(@D)) + $(call QT_QMAKE_SET,QMAKE_LINK,$(TARGET_CXX),$(@D)) + $(call QT_QMAKE_SET,QMAKE_LINK_SHLIB,$(TARGET_CXX),$(@D)) + $(call QT_QMAKE_SET,QMAKE_AR,$(TARGET_AR) cqs,$(@D)) + $(call QT_QMAKE_SET,QMAKE_OBJCOPY,$(TARGET_OBJCOPY),$(@D)) + $(call QT_QMAKE_SET,QMAKE_RANLIB,$(TARGET_RANLIB),$(@D)) + $(call QT_QMAKE_SET,QMAKE_STRIP,$(TARGET_STRIP),$(@D)) + $(call QT_QMAKE_SET,QMAKE_CFLAGS,$(QT_CFLAGS),$(@D)) + $(call QT_QMAKE_SET,QMAKE_CXXFLAGS,$(QT_CXXFLAGS),$(@D)) + $(call QT_QMAKE_SET,QMAKE_LFLAGS,$(TARGET_LDFLAGS),$(@D)) + $(call QT_QMAKE_SET,PKG_CONFIG,$(HOST_DIR)/usr/bin/pkg-config,$(@D)) # Don't use TARGET_CONFIGURE_OPTS here, qmake would be compiled for the target # instead of the host then. So set PKG_CONFIG* manually. (cd $(@D); \ diff --git a/package/rpm/rpm.mk b/package/rpm/rpm.mk index 3407f49d3..4d8fe21fa 100644 --- a/package/rpm/rpm.mk +++ b/package/rpm/rpm.mk @@ -10,14 +10,28 @@ RPM_AUTORECONF = NO RPM_DEPENDENCIES = zlib beecrypt neon popt RPM_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/beecrypt -I$(STAGING_DIR)/usr/include/neon -DHAVE_MUTEX_THREAD_ONLY" \ - ac_cv_va_copy=yes + ac_cv_va_copy=yes RPM_CONF_OPT = --disable-build-versionscript --disable-rpath \ --without-selinux \ --without-python --without-perl \ --with-zlib=$(STAGING_DIR) \ --with-libbeecrypt=$(STAGING_DIR) \ - --with-popt=$(STAGING_DIR) + --with-popt=$(STAGING_DIR) + +ifeq ($(BR2_PACKAGE_PCRE),y) +RPM_DEPENDENCIES += pcre +RPM_CONF_OPT += --with-pcre=external +else +RPM_CONF_OPT += --with-pcre=no +endif + +ifeq ($(BR2_PACKAGE_FILE),y) +RPM_DEPENDENCIES += file +RPM_CONF_OPT += --with-file=external +else +RPM_CONF_OPT += --with-file=no +endif ifeq ($(BR2_PACKAGE_RPM_XZ_PAYLOADS),y) RPM_CONF_OPT+=--with-xz diff --git a/package/rrdtool/rrdtool-1.2.30-configure-dont-hardcode-include-dirs.patch b/package/rrdtool/rrdtool-1.2.30-configure-dont-hardcode-include-dirs.patch new file mode 100644 index 000000000..43b57a1b2 --- /dev/null +++ b/package/rrdtool/rrdtool-1.2.30-configure-dont-hardcode-include-dirs.patch @@ -0,0 +1,26 @@ +[PATCH] configure.ac: don't hardcode include files search paths + +Breaks cross compilation if host has libart/freetype. + +Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: rrdtool-1.2.30/configure.ac +=================================================================== +--- rrdtool-1.2.30.orig/configure.ac ++++ rrdtool-1.2.30/configure.ac +@@ -524,10 +524,10 @@ + + CORE_LIBS="$LIBS" + +-EX_CHECK_ALL(art_lgpl_2, art_vpath_add_point, libart_lgpl/libart.h, libart-2.0, 2.3.17, ftp://ftp.gnome.org/pub/GNOME/sources/libart_lgpl/2.3/, /usr/include/libart-2.0) ++EX_CHECK_ALL(art_lgpl_2, art_vpath_add_point, libart_lgpl/libart.h, libart-2.0, 2.3.17, ftp://ftp.gnome.org/pub/GNOME/sources/libart_lgpl/2.3/, "") + EX_CHECK_ALL(z, zlibVersion, zlib.h, zlib, 1.2.3, http://www.gzip.org/zlib/, "") + EX_CHECK_ALL(png, png_access_version_number, png.h, libpng, 1.2.10, http://prdownloads.sourceforge.net/libpng/, "") +-EX_CHECK_ALL(freetype, FT_Init_FreeType, ft2build.h, freetype2, 2.1.10, http://prdownloads.sourceforge.net/freetype/, /usr/include/freetype2) ++EX_CHECK_ALL(freetype, FT_Init_FreeType, ft2build.h, freetype2, 2.1.10, http://prdownloads.sourceforge.net/freetype/, "") + + if test "$EX_CHECK_ALL_ERR" = "YES"; then + AC_MSG_ERROR([Please fix the library issues listed above and try again.]) diff --git a/package/rrdtool/rrdtool.mk b/package/rrdtool/rrdtool.mk index 55aed9eff..55bdd5104 100644 --- a/package/rrdtool/rrdtool.mk +++ b/package/rrdtool/rrdtool.mk @@ -7,6 +7,7 @@ RRDTOOL_VERSION = 1.2.30 RRDTOOL_SITE = http://oss.oetiker.ch/rrdtool/pub RRDTOOL_DEPENDENCIES = host-pkg-config freetype libart libpng zlib +RRDTOOL_AUTORECONF = YES RRDTOOL_INSTALL_STAGING = YES RRDTOOL_CONF_ENV = rd_cv_ieee_works=yes rd_cv_null_realloc=nope \ ac_cv_func_mmap_fixed_mapped=yes diff --git a/package/rsyslog/rsyslog.mk b/package/rsyslog/rsyslog.mk index 6582812b7..b7576cd5c 100644 --- a/package/rsyslog/rsyslog.mk +++ b/package/rsyslog/rsyslog.mk @@ -13,8 +13,9 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y) endif define RSYSLOG_INSTALL_CONF_SCRIPT - $(INSTALL) -m 0755 -D package/rsyslog/S01rsyslog \ - $(TARGET_DIR)/etc/init.d/S01rsyslog + [ -f $(TARGET_DIR)/etc/init.d/S01rsyslog ] || \ + $(INSTALL) -m 0755 -D package/rsyslog/S01rsyslog \ + $(TARGET_DIR)/etc/init.d/S01rsyslog [ -f $(TARGET_DIR)/etc/rsyslog.conf ] || \ $(INSTALL) -m 0644 -D $(@D)/rsyslog.conf \ $(TARGET_DIR)/etc/rsyslog.conf diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk index 34953336f..d99fd1ee5 100644 --- a/package/ruby/ruby.mk +++ b/package/ruby/ruby.mk @@ -10,9 +10,8 @@ RUBY_AUTORECONF = YES HOST_RUBY_AUTORECONF = YES RUBY_DEPENDENCIES = host-ruby RUBY_MAKE_ENV = $(TARGET_MAKE_ENV) -RUBY_CONF_OPT = --disable-install-doc - -HOST_RUBY_CONF_OPT = --disable-install-doc +RUBY_CONF_OPT = --disable-install-doc --disable-rpath +HOST_RUBY_CONF_OPT = --disable-install-doc --with-out-ext=curses,readline # Force optionals to build before we do ifeq ($(BR2_PACKAGE_BERKELEYDB),y) diff --git a/package/tar/tar.mk b/package/tar/tar.mk index c797de9be..edbd9bdc7 100644 --- a/package/tar/tar.mk +++ b/package/tar/tar.mk @@ -7,4 +7,9 @@ TAR_VERSION = 1.26 TAR_SITE = $(BR2_GNU_MIRROR)/tar +# Prefer full-blown tar over buybox's version +ifeq ($(BR2_PACKAGE_BUSYBOX),y) +TAR_DEPENDENCIES += busybox +endif + $(eval $(call AUTOTARGETS)) diff --git a/package/tftpd/tftpd.mk b/package/tftpd/tftpd.mk index 98c3c2a06..728319b27 100644 --- a/package/tftpd/tftpd.mk +++ b/package/tftpd/tftpd.mk @@ -8,6 +8,10 @@ TFTPD_SOURCE = tftp-hpa-$(TFTPD_VERSION).tar.bz2 TFTPD_SITE = $(BR2_KERNEL_MIRROR)/software/network/tftp/ TFTPD_CONF_OPT = --without-tcpwrappers +ifneq ($(BR2_INET_IPV6),y) +TFTPD_CONF_OPT += --without-ipv6 +endif + define TFTPD_INSTALL_TARGET_CMDS $(INSTALL) -D $(@D)/tftpd/tftpd $(TARGET_DIR)/usr/sbin/tftpd $(INSTALL) -D package/tftpd/S80tftpd-hpa $(TARGET_DIR)/etc/init.d/ diff --git a/package/thttpd/thttpd-2.25b-getline.patch b/package/thttpd/thttpd-2.25b-getline.patch new file mode 100644 index 000000000..35c366aef --- /dev/null +++ b/package/thttpd/thttpd-2.25b-getline.patch @@ -0,0 +1,26 @@ +Fix glibc/eglibc getline() conflicting functions. + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> +--- + +diff -Nura thttpd-2.25b.orig/extras/htpasswd.c thttpd-2.25b/extras/htpasswd.c +--- thttpd-2.25b.orig/extras/htpasswd.c 2001-12-18 21:08:08.000000000 -0300 ++++ thttpd-2.25b/extras/htpasswd.c 2011-11-25 11:42:47.198582812 -0300 +@@ -49,7 +49,7 @@ + while((line[y++] = line[x++])); + } + +-static int getline(char *s, int n, FILE *f) { ++static int get_line(char *s, int n, FILE *f) { + register int i=0; + + while(1) { +@@ -189,7 +189,7 @@ + strcpy(user,argv[2]); + + found = 0; +- while(!(getline(line,MAX_STRING_LEN,f))) { ++ while(!(get_line(line,MAX_STRING_LEN,f))) { + if(found || (line[0] == '#') || (!line[0])) { + putline(tfp,line); + continue; diff --git a/package/x11r7/libxcb/libxcb.mk b/package/x11r7/libxcb/libxcb.mk index 8fb3dd3e8..a68779dda 100644 --- a/package/x11r7/libxcb/libxcb.mk +++ b/package/x11r7/libxcb/libxcb.mk @@ -15,11 +15,14 @@ LIBXCB_DEPENDENCIES = \ LIBXCB_CONF_ENV = STAGING_DIR="$(STAGING_DIR)" LIBXCB_MAKE_OPT = XCBPROTO_XCBINCLUDEDIR=$(STAGING_DIR)/usr/share/xcb \ XCBPROTO_XCBPYTHONDIR=$(HOST_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages +LIBXCB_CONF_OPT = --disable-build-docs HOST_LIBXCB_DEPENDENCIES = \ host-libxslt host-pthread-stubs host-xcb-proto host-xlib_libXdmcp \ host-xlib_libXau host-python +HOST_LIBXCB_CONF_OPT = --disable-build-docs + $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/x11r7/xapp_xf86dga/xapp_xf86dga.mk b/package/x11r7/xapp_xf86dga/xapp_xf86dga.mk index 9975916e8..726d5edbd 100644 --- a/package/x11r7/xapp_xf86dga/xapp_xf86dga.mk +++ b/package/x11r7/xapp_xf86dga/xapp_xf86dga.mk @@ -7,6 +7,12 @@ XAPP_XF86DGA_VERSION = 1.0.2 XAPP_XF86DGA_SOURCE = xf86dga-$(XAPP_XF86DGA_VERSION).tar.bz2 XAPP_XF86DGA_SITE = http://xorg.freedesktop.org/releases/individual/app -XAPP_XF86DGA_DEPENDENCIES = xlib_libX11 xlib_libXxf86dga +XAPP_XF86DGA_DEPENDENCIES = \ + host-pkg-config \ + xlib_libX11 \ + xlib_libXxf86dga \ + xlib_libXt \ + xlib_libXaw \ + xlib_libXmu $(eval $(call AUTOTARGETS)) diff --git a/support/scripts/apply-patches.sh b/support/scripts/apply-patches.sh index 76cb9f753..1aef47ebf 100755 --- a/support/scripts/apply-patches.sh +++ b/support/scripts/apply-patches.sh @@ -21,7 +21,7 @@ if [ ! -d "${patchdir}" ] ; then fi for i in `cd ${patchdir}; ls -d ${patchpattern} 2> /dev/null` ; do - apply="patch -p1 -E -d" + apply="patch -g0 -p1 -E -d" uncomp_parm="" if [ -d "${patchdir}/$i" ] ; then type="directory overlay" diff --git a/toolchain/Config.in b/toolchain/Config.in index 5ff2a9152..2f4709a42 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -11,6 +11,7 @@ choice config BR2_TOOLCHAIN_BUILDROOT bool "Buildroot toolchain" select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED config BR2_TOOLCHAIN_EXTERNAL bool "External toolchain" @@ -22,6 +23,7 @@ config BR2_TOOLCHAIN_EXTERNAL config BR2_TOOLCHAIN_CTNG bool "Crosstool-NG toolchain" select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED help Say 'y' if you want to generate the toolchain with crosstool-NG ( http://ymorin.is-a-geek.org/projects/crosstool ) diff --git a/toolchain/dependencies/check-host-lzma.sh b/toolchain/dependencies/check-host-lzma.sh deleted file mode 100755 index 34e8f0379..000000000 --- a/toolchain/dependencies/check-host-lzma.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -ok="" - -for bin in /usr/bin/lzma $LZMA -do -# TODO: add check for proper functionality here.. - $bin --version > /dev/null 2>&1 && ok="$bin" - if test "x$ok" != "x" ; then - break - fi -done -echo "$ok" diff --git a/toolchain/dependencies/dependencies.mk b/toolchain/dependencies/dependencies.mk index 6eac05df8..24d66663b 100644 --- a/toolchain/dependencies/dependencies.mk +++ b/toolchain/dependencies/dependencies.mk @@ -16,12 +16,14 @@ DL_TOOLS = \ $(findstring git,$(DL_TOOLS_DEPENDENCIES)) \ $(findstring bzr,$(DL_TOOLS_DEPENDENCIES)) -dependencies: $(DEPENDENCIES_HOST_PREREQ) +core-dependencies: @HOSTCC="$(firstword $(HOSTCC))" MAKE="$(MAKE)" \ CONFIG_FILE="$(CONFIG_DIR)/.config" \ DL_TOOLS="$(DL_TOOLS)" \ $(TOPDIR)/toolchain/dependencies/dependencies.sh +dependencies: core-dependencies $(DEPENDENCIES_HOST_PREREQ) + dependencies-source: dependencies-clean: @@ -35,5 +37,5 @@ dependencies-dirclean: # Toplevel Makefile options # ############################################################# -.PHONY: dependencies +.PHONY: dependencies core-dependencies diff --git a/toolchain/gdb/Config.in b/toolchain/gdb/Config.in index e593698d2..9868580c9 100644 --- a/toolchain/gdb/Config.in +++ b/toolchain/gdb/Config.in @@ -4,6 +4,8 @@ config BR2_PACKAGE_GDB bool "Build gdb debugger for the Target" select BR2_PACKAGE_NCURSES depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_sh && !BR2_sh64 help Build the full gdb debugger to run on the target. @@ -26,7 +28,7 @@ config BR2_PACKAGE_GDB_HOST choice prompt "GDB debugger Version" - default BR2_GDB_VERSION_6_6 if !BR2_bfin + default BR2_GDB_VERSION_6_6 if BR2_bfin default BR2_GDB_VERSION_6_7_1_AVR32_2_1_5 if BR2_avr32 default BR2_GDB_VERSION_7_3 depends on BR2_PACKAGE_GDB || BR2_PACKAGE_GDB_SERVER || BR2_PACKAGE_GDB_HOST @@ -50,25 +52,33 @@ choice bool "gdb 7.0.1" depends on !BR2_bfin depends on BR2_DEPRECATED - select BR2_PTHREAD_DEBUG if !BR2_PTHREADS_NONE + depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED + select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE) config BR2_GDB_VERSION_7_1 bool "gdb 7.1" depends on !BR2_bfin - select BR2_PTHREAD_DEBUG if !BR2_PTHREADS_NONE + depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED + select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE) config BR2_GDB_VERSION_7_2 bool "gdb 7.2.x" depends on !BR2_bfin - select BR2_PTHREAD_DEBUG if !BR2_PTHREADS_NONE + depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED + select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE) config BR2_GDB_VERSION_7_3 bool "gdb 7.3.x" depends on !BR2_bfin - select BR2_PTHREAD_DEBUG if !BR2_PTHREADS_NONE + depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED + select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE) endchoice +comment "gdb 7.x support needs pthread debug support in toolchain" + depends on BR2_PACKAGE_GDB || BR2_PACKAGE_GDB_SERVER || BR2_PACKAGE_GDB_HOST + depends on !BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED + config BR2_GDB_VERSION string default "6.6a" if BR2_GDB_VERSION_6_6 diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk index 96919d4b1..65cc9982d 100644 --- a/toolchain/helpers.mk +++ b/toolchain/helpers.mk @@ -195,7 +195,8 @@ check_uclibc = \ $(call check_uclibc_feature,__UCLIBC_HAS_RPC__,BR2_INET_RPC,$${UCLIBC_CONFIG_FILE},RPC support) ;\ $(call check_uclibc_feature,__UCLIBC_HAS_LOCALE__,BR2_ENABLE_LOCALE,$${UCLIBC_CONFIG_FILE},Locale support) ;\ $(call check_uclibc_feature,__UCLIBC_HAS_WCHAR__,BR2_USE_WCHAR,$${UCLIBC_CONFIG_FILE},Wide char support) ;\ - $(call check_uclibc_feature,__UCLIBC_HAS_THREADS__,BR2_TOOLCHAIN_HAS_THREADS,$${UCLIBC_CONFIG_FILE},Thread support) + $(call check_uclibc_feature,__UCLIBC_HAS_THREADS__,BR2_TOOLCHAIN_HAS_THREADS,$${UCLIBC_CONFIG_FILE},Thread support) ;\ + $(call check_uclibc_feature,__PTHREADS_DEBUG_SUPPORT__,BR2_TOOLCHAIN_HAS_THREADS_DEBUG,$${UCLIBC_CONFIG_FILE},Thread debugging support) # # Check that the Buildroot configuration of the ABI matches the diff --git a/toolchain/kernel-headers/Config.in b/toolchain/kernel-headers/Config.in index 701a02de7..9e72b00d2 100644 --- a/toolchain/kernel-headers/Config.in +++ b/toolchain/kernel-headers/Config.in @@ -57,7 +57,7 @@ config BR2_DEFAULT_KERNEL_HEADERS default "2.6.37.6" if BR2_KERNEL_HEADERS_2_6_37 default "2.6.38.8" if BR2_KERNEL_HEADERS_2_6_38 default "2.6.39.4" if BR2_KERNEL_HEADERS_2_6_39 - default "3.0.8" if BR2_KERNEL_HEADERS_3_0 - default "3.1" if BR2_KERNEL_HEADERS_3_1 + default "3.0.12" if BR2_KERNEL_HEADERS_3_0 + default "3.1.4" if BR2_KERNEL_HEADERS_3_1 default "2.6" if BR2_KERNEL_HEADERS_SNAP default $BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION diff --git a/toolchain/kernel-headers/linux-3.0.8-headers_install-fix-__packed-in-exported-kernel-head.patch b/toolchain/kernel-headers/linux-3.0.12-headers_install-fix-__packed-in-exported-kernel-head.patch index 8777b7163..8777b7163 100644 --- a/toolchain/kernel-headers/linux-3.0.8-headers_install-fix-__packed-in-exported-kernel-head.patch +++ b/toolchain/kernel-headers/linux-3.0.12-headers_install-fix-__packed-in-exported-kernel-head.patch diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in index 2d1100809..56ac85f5c 100644 --- a/toolchain/toolchain-common.in +++ b/toolchain/toolchain-common.in @@ -26,6 +26,14 @@ config BR2_INSTALL_LIBSTDCPP config BR2_TOOLCHAIN_HAS_THREADS bool +config BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED + bool + +config BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED + default y if !BR2_TOOLCHAIN_HAS_THREADS + bool + config BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS bool diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index 678babd25..eadfe50cf 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -175,6 +175,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201103 select BR2_INET_RPC select BR2_USE_WCHAR select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_INSTALL_LIBSTDCPP help Sourcery CodeBench toolchain for the SuperH architecture, @@ -191,6 +192,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201009 select BR2_INET_RPC select BR2_USE_WCHAR select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_INSTALL_LIBSTDCPP help Sourcery CodeBench toolchain for the SuperH architecture, @@ -224,6 +226,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2010RC1 select BR2_INET_RPC select BR2_USE_WCHAR select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG help Toolchain for the Blackfin architecture, from http://blackfin.uclinux.org. @@ -285,6 +288,7 @@ config BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS config BR2_TOOLCHAIN_EXTERNAL_UCLIBC @@ -361,6 +365,16 @@ config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS support. If you don't know, leave the default value, Buildroot will tell you if it's correct or not. +config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG + bool "Toolchain has threads debugging support?" + depends on BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + default y + help + Select this option if your external toolchain has thread + debugging support. If you don't know, leave the default + value, Buildroot will tell you if it's correct or not. + endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC config BR2_TOOLCHAIN_EXTERNAL_CXX diff --git a/toolchain/uClibc/uClibc-0.9.32-linuxthreads-errno-fix.patch b/toolchain/uClibc/uClibc-0.9.32-linuxthreads-errno-fix.patch index 73351737e..c4d0d00df 100644 --- a/toolchain/uClibc/uClibc-0.9.32-linuxthreads-errno-fix.patch +++ b/toolchain/uClibc/uClibc-0.9.32-linuxthreads-errno-fix.patch @@ -63,8 +63,6 @@ index 6e520fa..f4a9ebb 100644 # ifdef __UCLIBC_HAS_THREADS__ /* When using threads, errno is a per-thread value. */ -diff --git a/libc/sysdeps/linux/common/bits/uClibc_errno.h b/libc/sysdeps/linux/common/bits/uClibc_errno.h -index 9c15618..79eb7e6 100644 -- 1.7.1 diff --git a/toolchain/uClibc/uClibc.snapshot.linuxthreads-errno-fix.patch b/toolchain/uClibc/uClibc.snapshot.linuxthreads-errno-fix.patch index 73351737e..c4d0d00df 100644 --- a/toolchain/uClibc/uClibc.snapshot.linuxthreads-errno-fix.patch +++ b/toolchain/uClibc/uClibc.snapshot.linuxthreads-errno-fix.patch @@ -63,8 +63,6 @@ index 6e520fa..f4a9ebb 100644 # ifdef __UCLIBC_HAS_THREADS__ /* When using threads, errno is a per-thread value. */ -diff --git a/libc/sysdeps/linux/common/bits/uClibc_errno.h b/libc/sysdeps/linux/common/bits/uClibc_errno.h -index 9c15618..79eb7e6 100644 -- 1.7.1 |