Commit Graph

181 Commits

Author SHA1 Message Date
Thomas De Schampheleire
5a83e08499 Package downloads: allow restricting to primary site only
This patch adds a new config option BR2_PRIMARY_SITE_ONLY that, when set,
restricts package downloads to the specified BR2_PRIMARY_SITE. If the package
is not present on the primary site, the download fails.

This is useful for project developers who want to ensure that the project can
be built even if the upstream tarball locations disappear.

[thomas.petazzoni@free-electrons.com:
 Extend config option help message with more details coming from the
 commit log. Added a dependency on the fact that a primary site has
 been defined. Without any primary site (the default configuration),
 this new option does not make any sense.]

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 18:29:33 +02:00
Francois Perrad
1d4104f0d0 add host arch detection and Kconfig BR2_HOSTARCH
This will allow to install binary package only if they are supported by the
host. As example Atmel SAM-BA (x86 only).

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2012-07-18 19:33:29 +02:00
Nathan Lynch
5016aa02fb automatically set PARALLEL_JOBS when BR2_JLEVEL is 0
When BR2_JLEVEL is 0, set PARALLEL_JOBS to double the number of CPUs
detected.  This allows one to more or less fully utilize the host
system without manually tuning the configuration.

Also make 0 the default value for BR2_JLEVEL.

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-24 11:11:07 +02:00
Thomas De Schampheleire
2a97045d5d build: add option to exclude executables/dirs from being stripped
Sometimes it may be desirable to keep debug symbols for some binaries and
libraries on the target. This commit introduces the config option
BR2_STRIP_EXCLUDE_FILES, which is interpreted as a list of such binaries
and libraries, and the option BR2_STRIP_EXCLUDE_DIRS, which indicates
directories excluded from stripping entirely.
These exclusions are passed to the find command in the target-finalize step.

Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
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>
2012-06-23 23:14:59 +02:00
Thomas De Schampheleire
433290761f ccache: allow dynamic selection of cache directory
The existing ccache infrastructure sets the cache directory hardcoded in the
ccache binary. As this directory was set to ~/.buildroot-ccache, the cache
is not necessarily local (e.g. in corporate environments the home directories
may be mounted over NFS.)
Previous versions of buildroot did allow to set the cache directory, but this
was also hardcoded (so you had to rebuild ccache to change it), plus that
support was removed.
See http://lists.busybox.net/pipermail/buildroot/2011-July/044511.html for
a discussion on this.

This patch modifies ccache to respect a new shell variable (exported from
the Makefile, based on a configuration option) instead of CCACHE_DIR.
The name CCACHE_DIR itself is already used by autotargets for the ccache
package.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-18 10:42:29 +02:00
Thomas Petazzoni
a9a346768b config: improve help text and prompt for debugging related options
The help text for the choice of different stripping levels is removed,
since it is not displayed by menuconfig. Instead, only the per-option
help text is visible, so this text is improved.

[Peter: slightly reworked text]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-15 23:14:36 +01:00
Thomas Petazzoni
c85f7f4082 debug: do not force installation of gdbserver
The BR2_ENABLE_DEBUG option selects the compilation and installation
of gdbserver on the target. This is a bit restrictive, especially for
external toolchains, which may already contain a gdbserver on the
target.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-15 23:03:08 +01:00
Thomas Petazzoni
f044e03776 ccache: set COMPILERCHECK to 'none'
This allows ccache to re-use its cache contents even if the compiler
binary mtime has changed. It is the simplest approach to solve this
problem, and it works for the internal, external and crosstool-ng
toolchain backends.

Of course, it leaves the user responsible for invalidating the cache
when necessary, but there doesn't seem to be a real good solution that
allows both to: 1/ keep the cache contents accross builds and re-use
it and 2/ invalidate the cache automatically when the compiler chances
in an incompatible way.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-08 22:56:33 +01:00
Thomas Petazzoni
d06e802223 Add basic config infrastructure for host utilities
Most of the host packages don't have to be exposed to the user as they
are only used as build dependencies of target packages.

However, some host utilities, such as flashing utilities, image
creation programs, specific debuggers, might be useful and should be
presented to the user.

Therefore, we have a new global menu, which lists those host
utilities. These utilities are described in package/*/Config.in.host
files, which will be sourced by package/Config.in.host.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-02 20:54:19 +01:00
Thomas De Schampheleire
f694c0761d Add support for packages stored in Mercurial (hg) repositories
Add support for packages stored in Mercurial (hg) repositories.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-27 22:39:23 +01:00
Thomas De Schampheleire
c61788f097 GENTARGETS: add support for scp://
This patch adds support for scp:// both for use in the package Makefiles, as for
the BR2_PRIMARY_SITE variable.

This patch was based on the work of Richard Guy Briggs
(see https://bugs.busybox.net/show_bug.cgi?id=3343).

[Peter: small whitespace fixes]
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-27 22:37:25 +01:00
David Wagner
2690e76aa2 Add support for local packages through 'file://' pseudo-protocol
This can be used this way :

<pkg>_VERSION = 42
<pkg>_SITE = file:///some/local/directory
<pkg>_SOURCE = mypkg-$(<pkg>_VERSION).tar.bz2

Can be useful to integrate a home-made project or for testing purposes.
The default command to retrieve files is 'cp' but 'rsync' could also be used.
Through sshfs, it should also be possible to get non-public remote files on a
ssh server.

[ Thomas Petazzoni: use $(PKG)_SITE and $(PKG)_SOURCE variables
  instead of $(1) and $(2) ]
[ Peter: don't append $(QUIET), cp doesn't handle -q]
Signed-off-by: David Wagner <david.wagner@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-30 08:26:06 +02:00
Thomas Petazzoni
ee0246e1e1 package: add configuration option to specify a local override file
The user can now create a custom local override file to override the
source directory for various packages.

An example override file:

 ZLIB_OVERRIDE_SRCDIR = /tmp/zlib
 STRACE_OVERRIDE_SRCDIR = /opt/strace-4.5.20

would tell Buildroot to use the zlib and strace source code from the
specified directories, instead of download, extracting and patching
the code has done usually by Buildroot.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-29 22:19:08 +02:00
Allan W. Nielsen
177b4b4ac0 Makefile.package.in: Add BR2_XZCAT for LZMA compression type
Signed-off-by: Allan W. Nielsen <a@awn.dk>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-12 23:14:44 +02:00
Peter Korsgaard
d0d3502e2e Config.in: use kent.dl.sourceforge.net by default
Easynews has been down for a number of days, and it is no longer in the
mirror list, so use the mirror from the University of Kent instead by
default.

At the same time fix the link to the sf mirror list.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-09 23:09:48 +01:00
Mike Frysinger
febe322d27 debugging: do not require no stripping
The stripping options operate on the final image and not the intermediate
builds, so requiring stripping to be disabled just to enable debugging
options doesn't make much sense.  Especially when working with gdbserver:
only the host needs the debugging information to be available.  The board
can run & debug perfectly fine without it.

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-07 08:50:31 +01:00
Gustavo Zacarias
a2b4f7fbbd toolchain: introduce HOST_DIR option
Allow the user to define HOST_DIR in the config menu.

This way when building an internal toolchain a separate (maybe shared)
output directory may be defined and the toolchain can be used by
multiple users and/or projects.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-02 22:46:13 +01:00
Peter Korsgaard
6a53b72944 Config.in: Show BR version in title
Kconfig nowadays uses the mainmenu as the title, so add the version info
here, similar to how it is done in the Linux kernel.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-02 15:54:50 +01:00
Gustavo Zacarias
87b81bb56f toolchain: move sysroot to host dir
* Drop the BR2_STAGING_DIR option
* Hardcode STAGING_DIR to $(HOST_DIR)/usr/TUPLE/sysroot

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-28 22:38:47 +01:00
Thomas Petazzoni
beb43c7d26 Re-add target/generic/Config.in options to menuconfig
The options to customize the hostname, the banner and the serial port
configuration are now inside a menu named 'System configuration'.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-16 12:19:25 +01:00
Thomas Petazzoni
1a5f2d6d7a Stop referencing the crazy target/device stuff
We don't need Config.in and Makefile in target/device: defconfig files
are sufficient to describe the specificities of a board (architecture,
compilation flags, bootloader and kernel details, etc.).

However, a placeholder such as target/device will be kept in order to
host things such as kernel configuration files or various
board-specific patches.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-16 12:15:52 +01:00
Thomas Petazzoni
8008007ca6 Move Config.in.mirrors out of target/device
Having Config.in.mirrors (which also to select various download sites)
inside target/device sounds strange. This commit moves the contents of
Config.in.mirrors directly into the main Config.in file.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-15 10:26:39 +01:00
Thomas Petazzoni
17b66affdf ccache: rework ccache management
* ccache is now a normal package (both for the host and the target).

 * ccache option is now part of the "Build options" menu. It will
   automatically build ccache for the host before building anything,
   and will use it to cache builds for both host compilations and
   target compilations.

 * bump ccache to 3.1.3

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-08 17:51:49 +01:00
Thomas Petazzoni
5f71fc1f19 Remove support for shared configuration cache
The configuration cache shared between packages, while being in
principle a nice idea to speed-up the configuration of packages by
avoiding repetitive identical checks, turned out to be unreliable due
to the subtle differences between similar but not identical checks in
different packages. After spending some time trying to fix those, we
concluded that supporting the shared configuration cache is definitely
too hard and too unreliable, and that we'd better get rid of it
altogether.

This patch therefore removes the shared configuration cache
infrastructure and usage.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-05 10:21:17 +01:00
Peter Korsgaard
6871b16531 Config.in: wget: default to 3 retries
Wget's builtin default of 20 retries before the backup site is used is
pretty excessive when a server is down.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-04 19:16:43 +01:00
Yann E. MORIN
56c68bcd3f config: use global version string
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-03 23:31:32 +01:00
Yann E. MORIN
e5e8fae892 Makefile: move version string from Config.in into Makefile
This re-instates writing the version string in .config headers, and no
longer provides it as a kconfig symbol in .config (it is now a variable
in the Makefile, and in the environment).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-03 23:26:45 +01:00
Maxime Petazzoni
cf71111b99 Cleanup the VCS commands configuration
It's not really necessary to differenciate the commands for checking out
or updating a repository. Only the path to the binary and eventual
top-level flags are useful to configure.

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-13 08:17:57 +02:00
Peter Korsgaard
9bc12b85e8 kick off 2010.11 development
Tree is open again.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-02 17:07:22 +02:00
Peter Korsgaard
32b8d438b3 update for 2010.08
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-01 00:07:06 +02:00
Yann E. MORIN
4973632207 packages/atk: fix Makefile
Reported-by: "James J. Dines" <jdines@jdines.net>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-08-30 15:36:30 +02:00
Peter Korsgaard
dc3a7ebc26 update for 2010.08-rc2
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-08-30 11:16:33 +02:00
Peter Korsgaard
b680672ad1 Config.in: mark BR2_CONFIG_CACHE as experimental and disable by default
As it is known to break with certain package combinations.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-08-25 17:30:38 +02:00
Peter Korsgaard
2e7ab32c97 CHANGES: update with changes from for-2010.08 branch
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-08-25 16:35:21 +02:00
Peter Korsgaard
2ef83b42b9 update for 2010.08-rc1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-30 12:35:45 +02:00
Peter Korsgaard
4aeb8c851a target/device: misc cleanup
Remove outdated and/or unused variables/files.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-23 22:57:54 +02:00
Peter Korsgaard
f3050b0b9e Merge branch 'linux-cleanup' of git://git.busybox.net/~tpetazzoni/git/buildroot
Conflicts:
	target/Makefile.in
2010-06-22 23:43:08 +02:00
Thomas Petazzoni
487e21cff6 New, simpler, infrastructure for building the Linux kernel
This patch introduces a single, simple, infrastructure to build the
Linux kernel. The configuration is limited to :

 * Kernel version: a fixed recent stable version, same as kernel
   headers version (for internal toolchains only), custom stable
   version, or custom tarball URL

 * Kernel patch: either a local file, directory or an URL

 * Kernel configuration: either the name of a defconfig or the
   location of a custom configuration file

 * Kernel image: either uImage, bzImage, zImage or vmlinux.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-06-22 21:20:25 +02:00
Peter Korsgaard
b10197dcf2 target: get rid of unused BR2_COPYTO / BR2_TARGET_ATMEL_COPYTO
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-22 17:41:34 +02:00
Thomas Petazzoni
649b5b9250 bootloaders: move bootloader build code to boot/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-06-10 21:05:12 +02:00
Peter Korsgaard
dc5e22ee93 CHANGES: 2010.08 development started
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-01 22:03:05 +02:00
Peter Korsgaard
07da619d75 update for 2010.05
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-30 22:24:10 +02:00
Peter Korsgaard
170b3d3d05 hal: dbus expat option is BR2_DBUS_EXPAT
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-27 14:48:47 +02:00
Peter Korsgaard
bbd96dbaa7 update for 2010.05-rc3
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-27 14:35:04 +02:00
Peter Korsgaard
acb785cad4 Config: terminate version number string
Reported-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-17 09:34:47 +02:00
Peter Korsgaard
93cca7c8bc Config.in: past 2010.05-rc2
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-16 22:20:54 +02:00
Peter Korsgaard
6d1ab151cb update for 2010.05-rc2
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-11 21:15:07 +02:00
Paulius Zaleckas
ca218debd5 X11 OpenChrome driver depends on libxcomposite
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-03 20:13:14 +02:00
Peter Korsgaard
aac61fdcc3 update for 2010.05-rc1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-03 16:12:45 +02:00
Thomas Petazzoni
65e80a0b0b Remove BR2_GNU_TARGET_SUFFIX and compute GNU_TARGET_NAME
Instead of asking the user about the GNU target suffix, just compute
it automatically from the other configuration options.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-03 00:00:08 +02:00