Compare commits

...

34 Commits

Author SHA1 Message Date
Peter Korsgaard
6088ac0140 Update for 2011.11-rc2
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-18 14:00:24 +01:00
Peter Korsgaard
630fd4f1f6 CHANGES: update with recent changes
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-18 13:56:39 +01:00
Peter Korsgaard
b4ddc194d0 newt: disable parallel build
The newt build system contains a race condition, which sometimes breaks
the build with high BR2_JLEVEL settings.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-18 13:52:34 +01:00
Peter Korsgaard
a028c31ed0 qt: ensure cross pkg-config is used
Closes #4297

Tweak qmake.conf to ensure our cross pkg-config is used, instead of
whatever is first in the path. In order to do this, tweak the
QT_QMAKE_SET to be able to handle variables which aren't prefixed with
QMAKE_.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-18 12:08:02 +01:00
Peter Korsgaard
2b8643f0a4 CHANGES: #3355 is resolved
Got fixed by fd38100e (mplayer: fix build on i386).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-17 23:56:44 +01:00
Thomas De Schampheleire
8810f5a195 dependencies: remove unused lzma checking scripts
Files package/lzma/lzmacheck.sh and toolchain/dependencies/check-host-lzma.sh
are present since the very beginning of buildroot, but do not appear to be
used (anymore). Let's remove them.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-17 23:19:37 +01:00
Thomas De Schampheleire
4932c8a7cc dependencies: check core dependencies before anything else
Currently, the dependencies target (that runs dependencies.sh) depends on
DEPENDENCIES_HOST_PREREQ. This means that the dependencies listed in
DEPENDENCIES_HOST_PREREQ (currently host-sstrip if sstrip is selected) are
built *before* the dependencies.sh script is run.

As a result, if e.g. there is no gcc compiler present on the build system, the
dependencies in DEPENDENCIES_HOST_PREREQ will fail to build, and buildroot
will fail non-gracefully.

This patch makes sure that the DEPENDENCIES_HOST_PREREQ are checked *after* the
dependencies.sh script, so that any problem in the build system is reported in
a clean way by dependencies.sh.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-17 23:18:50 +01:00
Gustavo Zacarias
8c38a0a44b uClibc: fix sparc build breakage
Closes #4021

Fix build breakage for sparc as reported in bug #4021
Patches from Konrad Eisele <konrad@gaisler.com>
Submitted in the uclibc mailing list.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-17 06:57:19 +01:00
Peter Korsgaard
8e6c8198e0 CHANGES: update with recent changes
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-17 06:54:58 +01:00
Peter Korsgaard
bcde677598 gst-plugins-bad: decklink plugin needs C++ support
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-16 22:53:33 +01:00
Arnout Vandecappelle (Essensium/Mind)
d6fb91bf7a clean-for-rebuild: also remove images_installed stamp
Without this, a linux-rebuild or bootloader-rebuild will not install
the rebuilt image in the images directory.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-15 20:54:53 +01:00
Peter Korsgaard
fd38100e11 mplayer: fix build on i386
Mplayer needs to be built with -fomit-frame-pointer on x86, otherwise
gcc errors out on the inline asm with too few registers.

Also disable yasm support, both because this mplayer revision forgets
to build the gpl'ed asm snippets (fixed in r32736), breaking the build
- And also to ensure the build is reproducable and doesn't use host
components behind the users' back (E.G. if yasm is available on host).

Once we have added yasm as a package, this can get removed again (and
mplayer svn rev bumped) for the performance boost it gives.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-14 22:14:53 +01:00
Thomas De Schampheleire
73d757b714 linux: make vmlinux target available to all architectures
The 'vmlinux' target in the linux build directory is a generic target. It may
not be directly bootable for all architectures, but for projects where a custom
bootloader is used, it can be of value.

Previously, this target was only available for mips architectures. This patch
removes this restriction.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-14 16:20:53 +01:00
Peter Korsgaard
03d9092659 rpm: use external (BR versions) of file and pcre
Saves space in rootfs, and fixes build issues (internal pcre needs
C++ support for unit test, internal file breaks with incompatible
file versions on host).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-14 16:17:14 +01:00
Peter Korsgaard
a276ff9030 file: install to staging as well
file provides libmagic, which other packages might use - So install it
into staging.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-14 16:16:17 +01:00
Peter Korsgaard
0a93b0f418 distcc: fix upstream url
Old upstream URL was no longer valid. While we're at it, fix a few
whitespace issues.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-14 14:29:57 +01:00
Peter Korsgaard
e9668efcd2 kernel-headers: bump 3.0.x stable version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-14 13:14:46 +01:00
Sven Neumann
0693e5c9c7 linux: update stable kernel version to 3.1.1
Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-14 13:13:25 +01:00
Sven Neumann
da9ab19c4a kernel-headers: update stable kernel version to 3.1.1
Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-14 13:13:10 +01:00
Peter Korsgaard
0268d6eded libxcb: really disable doxygen documentation for target
Thanks to Baruch Siach for noticing.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-14 13:11:29 +01:00
Peter Korsgaard
e796a1fd7c tftpd: fix build without ipv6
tftpd's configure script uses a nonstandard --without-ipv6 option to
disable ipv6 support.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-14 12:39:15 +01:00
Peter Korsgaard
3acf323e9e libxcb: don't build doxygen documentation
In most situations we don't care about documentation, and newer doxygen
versions (1.7.x) seems to have issues with it, breaking the build.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-14 11:52:48 +01:00
Peter Korsgaard
534c6a682e rrdtool: fix build when host has libart/freetype development files
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-14 10:16:49 +01:00
Gustavo Zacarias
8795caa082 tar: build after busybox if enabled
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-14 09:35:21 +01:00
Yann E. MORIN
f1ec29eaec toolchain/crosstool-NG: update to 1.13.1
crosstool-ng-1.13.1 contains a fix for the UBI breakage in
the installed kernel headers.
Refresh a patch.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-13 23:14:30 +01:00
Thomas Petazzoni
096c185c19 target gdb: depend on thread support
Compiling gdb for the target requires thread support in the C library,
otherwise:

/home/test/outputs/test-888/toolchain/gdb-7.3.1/gdb/gdb_thread_db.h:37:21: fatal error: pthread.h: No such file or directory

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-13 21:32:57 +01:00
Thomas Petazzoni
0d2a03cc5a crosstool-ng: add patch to use wget instead of curl
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-13 21:32:38 +01:00
Thomas Petazzoni
33b8c556af gdb: do not allow native gdb on SuperH architecture
The gdb debugger does not have support for running as the native
debugger on the SuperH architecture:

 configure: error: "*** Gdb does not support native target sh4-unknown-linux-gnu"

See also http://lists.debian.org/debian-superh/2010/04/msg00000.html.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-13 21:31:39 +01:00
Thomas Petazzoni
e174184807 doc: update GENTARGETS/AUTOTARGETS/CMAKETARGETS on the number of arguments
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-13 21:30:33 +01:00
Thomas Petazzoni
bcd0158e31 doc: mention the CMAKETARGETS infrastructure in the list of infrastructures
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-13 21:30:20 +01:00
Thomas Petazzoni
d0afbdad6b doc: more details about expressing dependencies in Config.in
[Peter: Minor tweak]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-13 21:28:50 +01:00
Thomas Petazzoni
d031a031bd doc: mention how to format the Config.in file
[Peter: s/but/should as suggested by Michael S. Zick]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-13 21:28:11 +01:00
Thomas Petazzoni
939d0ab264 doc: suggest how to add suboptions
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-13 21:20:44 +01:00
Peter Korsgaard
1b972b2189 news.html: add 2011.11-rc1 announcement link
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-11 21:59:57 +01:00
33 changed files with 287 additions and 87 deletions

19
CHANGES
View File

@@ -1,3 +1,22 @@
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.

View File

@@ -24,7 +24,7 @@
#--------------------------------------------------------------
# Set and export the version string
export BR2_VERSION:=2011.11-rc1
export BR2_VERSION:=2011.11-rc2
# This top-level Makefile can *not* be executed in parallel
.NOTPARALLEL:

View File

@@ -14,12 +14,12 @@ or
<a href="/downloads/buildroot-2011.08.tar.bz2">buildroot-2011.08.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-rc2</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-rc2.tar.gz">buildroot-2011.11-rc2.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-rc2.tar.bz2">buildroot-2011.11-rc2.tar.bz2</a>.
<p>
This and earlier releases can always be downloaded from

View File

@@ -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.

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -5,12 +5,26 @@
<p>
<ul>
<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

View File

@@ -22,7 +22,7 @@ choice
default BR2_LINUX_KERNEL_3_1
config BR2_LINUX_KERNEL_3_1
bool "3.1"
bool "3.1.1"
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.1"
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.1" 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"

View File

@@ -603,6 +603,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

View File

@@ -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. :-)

View File

@@ -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}"

View File

@@ -1,4 +1,4 @@
CROSSTOOL_NG_VERSION = 1.13.0
CROSSTOOL_NG_VERSION = 1.13.1
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

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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"

View File

@@ -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) \

View File

@@ -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)

View File

@@ -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); \

View File

@@ -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

View File

@@ -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.])

View File

@@ -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

View File

@@ -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))

View File

@@ -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/

View File

@@ -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))

View File

@@ -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"

View File

@@ -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

View File

@@ -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.

View File

@@ -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.9" if BR2_KERNEL_HEADERS_3_0
default "3.1.1" if BR2_KERNEL_HEADERS_3_1
default "2.6" if BR2_KERNEL_HEADERS_SNAP
default $BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION

View File

@@ -0,0 +1,11 @@
--- uClibc-0.9.32.ori/libc/sysdeps/linux/sparc/pipe.S 2011-06-08 21:35:20.000000000 +0200
+++ uClibc-0.9.32/libc/sysdeps/linux/sparc/pipe.S 2011-11-11 15:57:25.000000000 +0100
@@ -52,7 +52,7 @@
restore %g0,%g0,%o0
.Lerror:
- call HIDDEN_JUMPTARGET(__errno_location)
+ call __errno_location
or %g0,EINVAL,%i0
st %i0,[%o0]
ret

View File

@@ -0,0 +1,11 @@
--- uClibc-0.9.32.ori/libc/sysdeps/linux/sparc/pipe.S 2011-06-08 21:35:20.000000000 +0200
+++ uClibc-0.9.32/libc/sysdeps/linux/sparc/pipe.S 2011-11-11 15:57:25.000000000 +0100
@@ -52,7 +52,7 @@
restore %g0,%g0,%o0
.Lerror:
- call HIDDEN_JUMPTARGET(__errno_location)
+ call __errno_location
or %g0,EINVAL,%i0
st %i0,[%o0]
ret