Commit Graph

954 Commits

Author SHA1 Message Date
Peter Korsgaard
abce7ca6f2 Update for 2013.11-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-12 23:49:47 +01:00
Thomas De Schampheleire
7ad286563e infra: centralize rsync exclude list for VCS files
Buildroot has three places where rsync is used:
1. to copy the target skeleton
2. to copy the rootfs overlay(s)
3. to copy overridden package sources

In all of these cases, we want to exclude version control files by default.
Place 1 and 2 used an identical set of explicit --exclude options, while
place 3 used the option --cvs-exclude. This last option, however, not only
excludes version control files, but also binary files (.o, .so) and any file
or directory named 'core' (a problem for the linux kernel that has several
directories with this name). Moreover, the exact list of excluded files when
using --cvs-exclude depends on the version of rsync.

This patch creates one global variable RSYNC_VCS_EXCLUSIONS that can be used
by the various rsync commands. It excludes the version control files of
svn, git, hg, cvs and bzr.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-11 00:10:58 +01:00
Thierry Bultel
6fb546ca41 Generation of locales: made call to tr more robust and added LOWERCASE macro
When calling 'tr' without quoting braces, bash can make really weird things
if there are existing 'single-letter-named' directories
eg:
thierry@thierry-desktop:~$ echo AAA | tr [A-Z] [a-z]
aaa
thierry@thierry-desktop:~$ mkdir m
thierry@thierry-desktop:~$ echo AAA | tr [A-Z] [a-z]
AAA

The (quick) analysis is that the callee (tr) argvs then
contain 'm' thus the translation does not work

Using quotes works around it:
thierry@thierry-desktop:~$ echo AAA | tr '[A-Z]' '[a-z]'
aaa

Signed-off-by: Thierry Bultel <thierry.bultel@wanadoo.fr>
Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-10 23:41:28 +01:00
Thomas De Schampheleire
462e9915fd manual generation: rename manual-txt into manual-text
The output extension and the generation messages refer to 'text', but the make
target was confusingly 'txt'. This patch changes the make target for
consistency.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-11-01 16:57:34 +01:00
Gustavo Zacarias
4513d78515 Makefile: revert BUILD_DIR export
Revert commit feb0877015
U-Boot uses $(BUILD_DIR) and causes issues, other packages might as
well. Fixes:
http://autobuild.buildroot.net/results/1f6/1f65289d5c284caa82a4e9137613f792797ee08a/
http://autobuild.buildroot.net/results/6a5/6a5f77483e908dc96d08824cf9113402431bace7/

It should probably be named somewhat more uniquely.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-25 08:10:23 +02:00
Yann E. MORIN
feb0877015 Makefile: export BUILD_DIR
$(BUILD_DIR) is a nice place to put files generated during the build.
With the advent of user-supplied step-hooks, they may want to store
some information on the build.

Export BUILD_DIR to that effect; update manual accordingly.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-24 08:47:16 +02:00
Thomas Petazzoni
8b0905bf2f toolchain: introduce a virtual package
This commit introduces a virtual package called 'toolchain', located
in 'toolchain/toolchain', which simply depends on
'toolchain-buildroot' or 'toolchain-external' depending on the
selected toolchain backend.

For now, toolchain-buildroot and toolchain-external are still manual
make targets, but the following patches convert those backends to use
the package infrastructure as well.

In addition to this:

 * The main Makefile is modified to always make BASE_TARGETS point to
   this new toolchain virtual package.

 * The main Makefile is changed to include all the toolchain/*/*.mk
   files: the toolchain virtual package, and the toolchain-buildroot
   and toolchain-external directories.

 * The dependency of the toolchain on prepare dirs and dependencies is
   moved to the toolchain virtual package. It is moved as a
   prerequisite of the "toolchain-source" rule to ensure that all
   directories are prepared before we even start extracting the
   toolchain.

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 <peter@korsgaard.com>
2013-10-09 12:30:44 +02:00
Thomas Petazzoni
f742fe4407 toolchain-crosstool-ng: remove support
In order to avoid the work of converting the toolchain-crosstool-ng
logic to the package infrastructure, we remove it from Buildroot,
since it has been deprecated since quite some time.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-06 20:50:41 +02:00
Thomas De Schampheleire
bb33517511 make clean: improve when no .config present
The 'make clean' recipe is using variables that are not defined without
.config file, causing only a partial cleanup when the .config file is
accidentally deleted.

This patch moves those variables that do not depend on values from .config
outside the BR2_HAVE_DOT_CONFIG check, so that 'make clean' is much more
similar with and without .config.

Since HOST_DIR is determined from BR2_HOST_DIR in .config, the host
directory cannot be cleaned correctly without making assumptions, if no
.config is present.  However, to cover most people's use cases, we assume
the default value of $(BASE_DIR)/host in this specific case.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-02 22:31:24 +02:00
Thomas De Schampheleire
300eb6b751 make clean: remove redundant removal of STAGING_DIR
Since STAGING_DIR is defined as (package/Makefile.in):

STAGING_SUBDIR = usr/$(GNU_TARGET_NAME)/sysroot
STAGING_DIR    = $(HOST_DIR)/$(STAGING_SUBDIR)

removing HOST_DIR will automatically remove STAGING_DIR. This patch updates
'make clean' based on this knowledge.

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 <peter@korsgaard.com>
2013-10-01 21:56:40 +02:00
Thomas De Schampheleire
55ecab1bbc manual generation: update help
The 'make help' lines for generating the manual did not consider ePub
correctly.  Instead of providing a limitative list for 'make manual', the
text is changed into 'all formats'.

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>
2013-09-20 15:17:38 +02:00
tbultel
ea27d6e929 Makefile: Fix the generation of locales
The -s option is only mandatory for the charmap,
else the filename is always empty and nothing
is generated.

Signed-off-by: Thierry Bultel <thierry.bultel@wanadoo.fr>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-20 10:48:44 +02:00
Peter Korsgaard
c6715b69e4 Makefile: release: create tarball from current branch, not master
To support stable bugfix releases.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-17 14:00:04 +02:00
Thomas Petazzoni
6f1882deb4 Makefile: make $(BUILD_DIR)/.root rule idempotent
The $(BUILD_DIR)/.root rule is executed as part of the 'dirs'
target. The 'dirs' target is re-executed at every execution of 'make
external-deps', and make external-deps explicitly tells make to ignore
targets that have already been made (through the -B option). This
means that the $(BUILD_DIR)/.root rule has to be idempotant, which was
not the case this the introduction of the lib32/lib64 symbolic link.

Running 'make external-deps' three times in a row was sufficient to
trigger an error due to symbolic links being incorrectly created. This
patch fixes that.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-15 21:46:53 +02:00
Peter Korsgaard
bdf472d5bf Makefile: also unexport PKG_CONFIG_LIBDIR
Similar to how we do it for _PATH / _SYSROOT_DIR. Buildroot gets fairly
confused if the user has set up a custom PKG_CONFIG_LIBDIR, so ensure
it gets unset.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-11 14:15:15 +02:00
Jérôme Pouiller
741cbccb74 Fix build reproducibility in Make 3.82
Make 3.82 no longer sort the result of wildcards (see
http://comments.gmane.org/gmane.comp.gnu.make.bugs/4260). This may break
build reproducibility.

This patch sort results of wildcards to ensure reproducibility.

Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-06 23:27:42 +02:00
Thomas De Schampheleire
6cbdfb649f trivial: remove odd references to 'buildroot2'
In the past there may have been a very good reason to refer to 'buildroot2', but
these days it's just odd.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-05 11:52:42 +02:00
Thomas Petazzoni
52e7073a58 Makefile: do not try to strip inexisting file when stripping libpthread
libpthread.so has a special stripping condition to preserve parts of
it that are needed for debugging. However, due to the usage of 'xargs'
instead of 'xargs -r', the strip command is executed regardless of
whether a libpthread.so file is found or not. This leads to a big
error message being displayed in static-only builds, because strip is
executed without a file argument. Thanks to the '|| true', the build
continues, but still shows a big error message in the middle, which is
not nice.

By using 'xargs -r', we avoid the strip command from being executed
when 'find' doesn't find any match. We also remove the '|| true' to
catch other real errors.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-02 23:06:19 +02:00
Peter Korsgaard
91141b1411 Merge branch 'next' 2013-08-31 23:32:29 +02:00
Peter Korsgaard
7b48cee91f Makefile: kickoff 2013.11 cycle
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-08-31 23:32:02 +02:00
Peter Korsgaard
53d8d9c14a Update for 2013.08
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-08-31 00:33:13 +02:00
Peter Korsgaard
4e4a0a3477 Prepare for 2013.08-rc3
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-08-30 00:03:48 +02:00
Samuel Martin
5628776c4a toolchain-external: fix lib64 symlinks
* Always link lib64 or lib32 to lib
* Only copy the architecture's lib directory to staging
* Also cleanup a couple of mkdirs (concerning some 'lib' directories).

Before this patch:

$ ls -ld host/usr/x86_64-buildroot-linux-gnu/sysroot/{,usr/}lib* target/{usr/,}lib*
drwxr-xr-x 2 samuel users 4.0K Aug 12 22:26 host/usr/x86_64-buildroot-linux-gnu/sysroot/lib/
drwxr-xr-x 2 samuel users 4.0K Aug 12 22:27 host/usr/x86_64-buildroot-linux-gnu/sysroot/lib64/
drwxr-xr-x 5 samuel users 4.0K Oct 30  2012 host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/
drwxr-xr-x 5 samuel users 4.0K Aug 12 22:27 host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib64/
drwxr-xr-x 3 samuel users 4.0K Oct 30  2012 host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/libexec/
drwxr-xr-x 2 samuel users 4.0K Aug 12 22:27 target/lib/
lrwxrwxrwx 1 samuel users    3 Aug 12 22:27 target/lib64 -> lib/
drwxr-xr-x 2 samuel users 4.0K Aug 12 22:27 target/usr/lib/
lrwxrwxrwx 1 samuel users    3 Aug 12 22:27 target/usr/lib64 -> lib/

$ find . -type l -xtype l # find broken symlinks
find: `./host/usr/x86_64-buildroot-linux-gnu/sysroot/lib64/lib': Too many levels of symbolic links
find: `./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib64/lib': Too many levels of symbolic links
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libnss_files.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libnss_nis.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libnss_compat.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libnss_nisplus.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libutil.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libthread_db.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libcidn.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libcrypt.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libm.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libnss_hesiod.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libnsl.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/librt.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libnss_db.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libanl.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libBrokenLocale.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libnss_dns.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libresolv.so
./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libdl.so
./target/etc/resolv.conf
./target/dev/log

After this patch:
$ ls -ld host/usr/x86_64-buildroot-linux-gnu/sysroot/{,usr/}lib* target/{usr/,}lib*
drwxr-xr-x 2 samuel users 4.0K Oct 30  2012 host/usr/x86_64-buildroot-linux-gnu/sysroot/lib/
lrwxrwxrwx 1 samuel users    5 Aug 12 22:36 host/usr/x86_64-buildroot-linux-gnu/sysroot/lib64 -> lib/
drwxr-xr-x 5 samuel users 4.0K Oct 30  2012 host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/
lrwxrwxrwx 1 samuel users    5 Aug 12 22:36 host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib64 -> lib/
drwxr-xr-x 3 samuel users 4.0K Oct 30  2012 host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/libexec/
drwxr-xr-x 2 samuel users 4.0K Aug 12 22:36 target/lib/
lrwxrwxrwx 1 samuel users    3 Aug 12 22:36 target/lib64 -> lib/
drwxr-xr-x 2 samuel users 4.0K Aug 12 22:36 target/usr/lib/
lrwxrwxrwx 1 samuel users    3 Aug 12 22:36 target/usr/lib64 -> lib/

$ find . -type l -xtype l # find broken symlinks
./target/etc/resolv.conf
./target/dev/log

Fixes http://autobuild.buildroot.net/results/23fb6b1479d2b5906b72c9437b06ab4700ff246d/

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-08-27 23:39:28 +02:00
Peter Korsgaard
f627ebeb79 Makefile: fix kernel modules test
Commit fde2605765 (Makefile: test before search for kernel modules)
changed the way we strip kernel modules, but it fails when modules aren't
available (as test -d returns with a non zero exit code).

Fix it by including the test -d call in a proper shell conditional.

Reported-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-08-26 00:34:45 +02:00
Thomas Petazzoni
fde2605765 Makefile: test before search for kernel modules
The 'find $(TARGET_DIR)/lib/modules' used to find and strip kernel
modules fails when no kernel modules have been installed. While the
'|| true' prevents the entire build from failing, there are still some
error messages displayed, which is not nice.

Instead, test if the directory exists before doing the find. We also
remove the '|| true' in order to really abort the build if a
problematic error occurs.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
2013-08-23 20:42:40 +02:00
Arnout Vandecappelle
8e2696eab6 generatelocales: fix 'cut' invocation
'cut' needs to be invoked with the -s option to make sure it doesn't
print anything when the delimiter isn't found. This is particularly
important for the charmap detection, because UTF-8 is appended if
the charmap is empty. But without -s, it will never be empty.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-08-22 23:05:43 +02:00
Thomas Petazzoni
7120319a51 Prepare for 2013.08-rc2
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-08-16 13:10:30 +02:00
Thomas De Schampheleire
db443f263a host-ccache: turn into a proper dependency
This patch moves the host-ccache build target from BASE_TARGETS in Makefile
to an actual host prerequisite in support/dependencies. This causes
host-ccache to be built as part of the dependencies, before any real package
is built.
Since the dependencies are built without ccache anyway, there is no need to
set HOST_CCACHE_CONF_ENV anymore.

Suggested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-08-10 21:19:34 +02:00
Thomas Petazzoni
e0d640232e Open 2013.11 development cycle
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-08-05 14:41:58 +02:00
Thomas Petazzoni
a7d58609ac Prepare for 2013.08-rc1
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-08-05 11:37:42 +02:00
Émeric Vigier
98b616d761 Makefile: add variable print capabilities
Add a new goal that dumps all of our variables.

Taken from http://www.cmcrossroads.com/ask-mr-make/6521-dumping-every-makefile-variable

Signed-off-by: Emeric Vigier <emeric.vigier@savoirfairelinux.com>
[yann.morin.1998@free.fr: drop per-variable print; refresh patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-08-01 08:01:45 +02:00
Tzu-Jung Lee
88418bd2de build: use find -perm /mode, instead of -perm +mode STRIP_FIND_CMD
The -perm +mode is deprecated, and sometimes yields suprising results.
It can be confused with permission in symbolic mode, for example '+u+g',
as POSIX spec suggests.

Signed-off-by: Tzu-Jung Lee <tjlee@ambarella.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-07-27 23:38:17 +02:00
Gustavo Zacarias
bed61a7be3 Makefile: unexport RUBYOPT
On Gentoo systems with ruby installed RUBYOPT is set and causes build
breakage for some packages that needs host-ruby (example: webkit).

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-12 13:31:11 +02:00
Yann E. MORIN
f1f97b3a05 system: add option to pass extra args to post-build and post-image scripts
It can be useful to have different configuration use the same post-build
and/or post-image scripts as they share a common infrastructure, but yet
have minor differentiation.

This option allows passing zero or more additional arguments to each
post-build or post-image script.

The same set of extra arguments are passed to all scripts, it is not
possible to pass different arguments to each script.

[Peter: fix help text, post-image gets called with the images dir]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-10 08:52:21 +02:00
Thomas Petazzoni
381616e77a Introduce BR2_TOOLCHAIN_USES_{UCLIBC, GLIBC}
Currently, when we need to do a conditional on the type of C library
used, we need to take into account the three toolchain backends. As we
are going to add eglibc support to the Buildroot toolchain backend, it
would become even uglier, so this patch introduces two new hidden
options: BR2_TOOLCHAIN_USES_UCLIBC and BR2_TOOLCHAIN_USES_GLIBC, that
exist regardless of the toolchain backend. The entire Buildroot code
base is converted to use those options.

Note that we have intentionally created only one option
(BR2_TOOLCHAIN_USES_GLIBC) for both glibc and eglibc, since they are
essentially the same, as far as Buildroot is concerned.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-04 09:08:42 +02:00
Thomas Petazzoni
12d1aa4b69 Remove BR2_HAVE_DEVFILES
This finally removes the BR2_HAVE_DEVFILES option, that was used to
install/keep development files on target. With the recent migration of
the internal backend to the package infrastructure, we had anyway lost
the ability to build gcc for the target, and install the uClibc
development files on the target.

[Peter: also remove support/scripts/copy.sh]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-04 09:06:33 +02:00
Thomas Petazzoni
e57e4b96bf Use more sensible names for the external/ctng targets
Instead of using the 'uclibc' target for all toolchain backends,
introduce more sensible target names for the external toolchain and
Crosstool-NG toolchain backend make targets.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-04 00:14:10 +02:00
Thomas Petazzoni
d21a176bd5 Remove TOOLCHAIN_DIR
The $(O)/toolchain directory, also called $(TOOLCHAIN_DIR) is no
longer needed, as all packages are now built in $(O)/build/, including
gcc and uClibc.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-04 00:13:36 +02:00
Thomas Petazzoni
e236fe481e toolchain: switch to using gcc through package infrastructure
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-03 23:00:02 +02:00
Alexandre Belloni
95442bb324 Normalize separator size to 80 in remaining makefiles
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-20 17:32:07 +02:00
Peter Korsgaard
8332ffab07 Makefile: Fix KERNEL_ARCH for big endian ARC
Big endian ARC is called arceb, not arcbe.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-10 14:04:03 +02:00
Peter Korsgaard
0c94aa549c Makefile: kickoff 2013.08 cycle
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-02 16:12:20 +02:00
Peter Korsgaard
615fd9b0f3 Update for 2013.05
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-31 22:29:04 +02:00
Peter Korsgaard
26b11df79c Update copyright info for 2013
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-31 22:24:52 +02:00
Peter Korsgaard
c92a369fe6 Update for 2013.05-rc3
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-25 22:23:57 +02:00
Peter Korsgaard
cfcbfa2c60 Update for 2013.05-rc2
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-15 21:05:00 +02:00
Peter Korsgaard
92651931e7 Update for 2013.05-rc1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-08 15:51:45 +02:00
Maxime Ripard
f59aeca6b4 armv8: Fix defconfig build
Commit 14f48861 ("arc: Add ARC and ARC BE architecture") introduced a
sed match against arc* buildroot architecture to translate it to arc.

This causes a problem with armv8, which is called in buildroot aarch64,
which is also matching, resulting in a build failure.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-06 12:26:06 +02:00
Mischa Jonker
40b17f8082 kernel-headers: Add support for ARC kernel headers
Also make sure that older kernels are not selected for ARC.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-04 23:24:02 +02:00
Danomi Manchego
e97376a0fc Makefile: make skeleton rsync options consistent
Initially, a "cp" was used for the one-time target skeleton
installation, and an "rsync" was used for the every-time overlay
skeleton installations.  Then, the target skeleton install was
changed to also use rsync (1cd3f992fb).
Now there are two rsyncs, but with different filter specs, which
seems odd.

This patch adds --excludes to both invocations of rsync to make them
consistent, and removes the -u option from the initial target skeleton
installation.

Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-02 23:33:08 +02:00
Luca Ceresoli
e9b7712837 rootfs-overlay: use a make foreach instead of a shell for
Makes the code uniform with the post-build and post-image implementation
(which is slightly simpler and, presumably, more efficient).

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2013-04-30 22:37:18 +02:00
Luca Ceresoli
6d90a69f6c post-image: show each script filename before execution
This also simplifies code by removing the ifneq/endif clauses.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-24 22:13:44 +02:00
Luca Ceresoli
1b9b168562 post-build: show each script filename before execution
This also simplifies code by removing the ifneq/endif clauses.

[Peter: drop extra space]
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-24 22:13:29 +02:00
Thomas Petazzoni
9db3b47ea1 support/kconfig: add support for olddefconfig
olddefconfig is a new target available in kconfig that allows to take
an old .config file, and update it to the latest version of the code,
without being asked for questions: it automatically assumes the
default value for options whose value was not defined.

It for example allows to take a minimal defconfig, copy it as .config,
and do 'make olddefconfig' to get the full .config.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-11 09:58:12 +02:00
Peter Korsgaard
13c07c79a4 Makefile: simplify target skeleton copying
We already use the .root stamp file to remember if we have copied the
skeleton, so we can remove the /bin check.

Likewise, we should always have a TARGET_SKELETON (or explicitly error
out otherwise), so remove that check as well.

Finally, now that we're using rsync to do the copy, we might as well
use its exclude support instead of cleaning up unwanted files afterwards.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-26 08:33:18 +01:00
Tilman Keskinöz
1cd3f992fb Support .dotfiles in / being copied to the TARGET
An example is .init_enable_core, to enable coredumps in busybox

Signed-off-by: Tilman Keskinöz <arved@arved.at>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-25 23:38:26 +01:00
Nathan Lynch
20ca008d02 unexport TERMINFO to correct ncurses behavior
The ncurses build can become polluted by the user's TERMINFO
environment variable, causing the user's ~/.terminfo to be modified
and preventing the install from succeeding:

/bin/sh ./run_tic.sh
** Building terminfo database, please wait...
Running tic to install /home/nathanl/devel/buildroot.git/output/host/usr/i686-unknown-linux-gnu/sysroot/usr/share/emacs/24.0.97/etc/ ...

	You may see messages regarding extended capabilities, e.g., AX.
	These are extended terminal capabilities which are compiled
	using
		tic -x
	If you have ncurses 4.2 applications, you should read the INSTALL
	document, and install the terminfo without the -x option.

1562 entries written to /home/nathanl/.terminfo
** built new /home/nathanl/devel/buildroot.git/output/host/usr/i686-unknown-linux-gnu/sysroot/usr/share/emacs/24.0.97/etc/
installing std
installing stdcrt
installing vt100
installing vt300
make[2]: Leaving directory `/home/nathanl/devel/buildroot.git/output/build/ncurses-5.7/misc'
make[1]: Leaving directory `/home/nathanl/devel/buildroot.git/output/build/ncurses-5.7'
for i in $(find /home/nathanl/devel/buildroot.git/output/host/usr/i686-unknown-linux-gnu/sysroot/usr/lib* -name "*.la"); do cp -f $i $i~; /usr/bin/sed -i -e "s:\(['= ]\)/usr:\\1/home/nathanl/devel/buildroot.git/output/host/usr/i686-unknown-linux-gnu/sysroot/usr:g" $i; done
>>> ncurses 5.7 Installing to target
mkdir -p /home/nathanl/devel/buildroot.git/output/target/usr/lib
cp -dpf /home/nathanl/devel/buildroot.git/output/build/ncurses-5.7/lib/libncurses.so* /home/nathanl/devel/buildroot.git/output/target/usr/lib/
ln -snf /usr/share/terminfo /home/nathanl/devel/buildroot.git/output/target/usr/lib/terminfo
mkdir -p /home/nathanl/devel/buildroot.git/output/target/usr/share/terminfo/x
cp -dpf /home/nathanl/devel/buildroot.git/output/host/usr/i686-unknown-linux-gnu/sysroot/usr/share/terminfo/x/xterm /home/nathanl/devel/buildroot.git/output/target/usr/share/terminfo/x
cp: cannot stat `/home/nathanl/devel/buildroot.git/output/host/usr/i686-unknown-linux-gnu/sysroot/usr/share/terminfo/x/xterm': No such file or directory
make: *** [/home/nathanl/devel/buildroot.git/output/build/ncurses-5.7/.stamp_target_installed] Error 1

So unexport TERMINFO in the top-level Makefile.

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-24 14:36:10 +01:00
Luca Ceresoli
df99efb3d9 CMake packages: remove .cmake files from target directory
Just like pkgconfig files.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-10 21:30:16 +01:00
Peter Korsgaard
37d2ab569d Kickoff 2013.05 cycle
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-01 11:11:02 +01:00
Peter Korsgaard
15ace1a845 Update for 2013.02
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-28 22:48:28 +01:00
Peter Korsgaard
d65bb7e315 Update for 2013.02-rc3
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-26 23:19:03 +01:00
Peter Korsgaard
8290a6261a Update for 2013.02-rc2
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-19 22:05:42 +01:00
Peter Korsgaard
e68acefb3b Update for 2013.02-rc1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-10 11:07:12 +01:00
Arnout Vandecappelle (Essensium/Mind)
afea3037ef rootfs-overlay: also exclude .empty files
This makes it possible to put empty directories in the overlay.
Thanks to Aras Vaichas for pointing that out.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-08 22:11:24 +01:00
Thomas Petazzoni
9fa32ba0b7 Add a post-image script mechanism
Just like we have a post-build script mechanism that gets executed
after the build of all packages but before the creation of the
filesystem images, let's introduce a post-image script mechanism, that
gets executed once all filesystem images have been generated.

This can for example be used to call a tool building a firmware image
from different images generated by Buildroot, or automatically extract
the tarball root filesystem image into some location exported by NFS,
or any other custom action.

[Peter: fix image script check]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-08 21:46:13 +01:00
Arnout Vandecappelle (Essensium/Mind)
1ed4996346 Make savedefconfig save to a configured file.
Store BR2_DEFCONFIG in .config, and use it to update the original input
defconfig file after updating the configuration.  When a config is
created by using the BR2_DEFCONFIG=... option, this is saved in the
.config file; later runs of savedefconfig will update that same location.
It is also possible to configure this place in the interactive
configuration.

The BR2_DEFCONFIG value itself is not saved into the generated
defconfig, since Kconfig considers it at its default. This is
intentional, to avoid hard-coding an absolute path in the defconfig.
It will anyway be set again when the defconfig is used with the
'make BR2_DEFCONFIG=... defconfig' command.

As a side-effect of this change, the *config options have been moved out
of the BR2_HAVE_DOT_CONFIG condition.  This doesn't make any functional
difference, because the .config is still not read for the *config targets.
However, the defconfig and savedefconfig targets do need to include
.config now, which makes them slightly slower.

[Peter: slightly tweak help text]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-05 21:43:51 +01:00
Arnout Vandecappelle (Essensium/Mind)
7f86089292 target/generic: add filesystem overlay option
The filesystem overlay is a tree that is copied over the target fs
after building everything - which is currently usually done in the
post-build script.

[Peter: don't ignore missing directories]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-05 21:35:33 +01:00
Fabio Porcedda
2a78641583 Makefile: rename cross target -> toolchain
- Use a more descriptive name, the same of the "toolchain" directory.
- Add missing dependencies to be able to successfully use the target
  right after the configuration.
- Move to a better position.
- Documentation it in the help target.
- Use toolchain target in the world target

Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Reviewed-by: Markos Chandras <markos.chandras at imgtec.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
Acked-by: Samuel Martin <s.martin49 at gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-15 09:44:30 +01:00
Thomas Petazzoni
217ef08a97 Integration with Buildroot Toolchain Eclipse plugin
The Eclipse plugin at
https://github.com/mbats/eclipse-buildroot-toolchain-plugin allows
users of Eclipse to easily use the toolchain available in
Buildroot. To do so, this plugin reads
~/.buildroot-eclipse.toolchains, which contains the list of Buildroot
toolchains available on the system, and then offer those toolchains to
compile Eclipse projects.

In order to interface with this plugin, this commit adds an option
that allows the user to tell whether (s)he wants the Buildroot project
toolchain to be visible under this Eclipse plugin. It simply adds a
line in this ~/.buildroot-eclipse.toolchains file.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-14 16:33:30 +01:00
Peter Korsgaard
1300cb5562 Makefile: don't export O to the environment
Several projects use the kernel style O=<dir> syntax to build out of tree,
and atleast uClibc doesn't check that it was explictly passed on the command
line, so setting it in the environment breaks the build.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-14 10:04:21 +01:00
Yann E. MORIN
dcb79995aa Makefile: use newly-introduced BUILDROOT_CONFIG
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-13 23:14:24 +01:00
Yann E. MORIN
2b0f455254 Makefile: export a few variables to help support scripts
Support scripts (in support/) may need to parse the .config file, so give
them an easy access to it, by exporting BUILDROOT_CONFIG with the fully-
qualified path to .config.

Also, post-build scripts may need to reference a few locations, so export
those, too.

Note: we export both O and BASE_DIR. Although they are the same, BASE_DIR
is used internally, while O is used on the command line, which makes it a
bit ambiguous to know which to use. As users use O= on the command line,
they will probably tend to use that in their post-build scripts.

Update doc accordingly.

[Peter: fixed typo]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
cc: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-13 23:09:05 +01:00
Peter Korsgaard
ec100c7e21 Makefile: system.mk rootfs modifications should be done before target-finalize
So they don't override E.G. changes done in post build scripts
(E.G. password settings).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-09 13:20:05 +01:00
Peter Korsgaard
677d5068b9 Makefile: kickoff 2013.02 cycle
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-02 17:19:18 -08:00
Peter Korsgaard
d201b95d8c Update for 2012.11
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-02 16:33:09 -08:00
Charles Manning
4f607edffd unexport PKG_CONFIG_SYSROOT_DIR
If this is not done then pkg-config can get confused.

Thomas and Arnout really deserve the credit for this - I just did
the testing.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-02 16:32:28 -08:00
Peter Korsgaard
8a46d4bf1f {rand,allyes}packageconfig: ensure legacy test options don't get enabled
The legacy BR2_PACKAGE_* options in Config.in.legacy are not supposed to
be user selectable, so {rand,allyes}packageconfig shouldn't enable them.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-01 18:13:05 -08:00
Peter Korsgaard
1a59dfae0c Update for 2012.11-rc2
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 22:59:02 -08:00
Richard Braun
6ae7886f84 Makefile: fix thread libraries stripping
Strip libthread_db the same as any other library, but strip libpthread
with --strip-debug. See the relevant mailing list discussion [1] for
additional details.

[1] http://lists.busybox.net/pipermail/buildroot/2012-October/060126.html

Signed-off-by: Richard Braun <rbraun@sceen.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 13:59:40 -08:00
Arnout Vandecappelle (Essensium/Mind)
ebcfa987df pkg-infra: introduce errors for legacy API
As discussed in the BR developer days, we want to be more strict about API
changes in buildroot. I.e., we want to make it less likely that a user's
customizations break down after upgrading buildroot.

A first step is to make sure that the user is warned about API changes.
This patch introduces Makefile.legacy and Config.in.legacy, which will
issue clear error messages for such situations.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 12:06:40 -08:00
Peter Korsgaard
47ee3051fc Update for 2012.11-rc1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-17 23:55:55 +01:00
Philippe Reynes
dbf4978e6b Allow to run severals post build scripts instead of only one
Using severals post build scripts is usefull to share
script between severals boards/projects.

[Peter: fix trailing spaces in Config.in]
Signed-off-by: Philippe Reynes <philippe.reynes@sagemcom.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-17 17:23:59 +01:00
Thomas Petazzoni
9226a9907c Warn the user about the usage of output/target as the root filesystem
A very common mistake done by our users is that they use
output/target/ directory as their root filesystem. Even though this is
loudly documented in our Buildroot manual, people don't read
documentation, so it is not sufficient.

This patch adds a text file named
output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM which explains why
output/target isn't appropriate to use as the root filesystem. The
process is:

 * At the beginning of the build, right after the skeleton has been
   copied, support/misc/target-dir-warning.txt is copied to
   output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM

 * In the filesystem images creation code, this file is removed before
   launching fakeroot, and restored right after that, so that this
   file is not present in the generated root filesystem images.

Note that the file has not been added to the default skeleton for two
reasons:

 * It would have annoying to have in our source tree a file named in
   capital letters inside system/skeleton/

 * The proposed way works even if the user uses a custom skeleton.

[Peter: fixed typo]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Juha Lumme <juha.lumme@gmail.com>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-17 17:12:49 +01:00
Thomas Petazzoni
6c3e3ad419 New top-level directory: system
This directory groups the following elements:
 * the default root filesystem skeleton
 * the default device tables
 * the Config.in options for system configuration (UART port for
   getty, system hostname, etc.)
 * the make rules to apply the system configuration options

Even though the skeleton and device tables could have lived in fs/, it
would have been strange to have the UART, system hostname and other
related options into fs/. A new system/ directory makes more sense.

As a consequence, this patch also removes target/Makefile.in, which
has become useless in the process.

[Peter: fixup TARGET_SKELETON settings / documentation to match]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Yann E. MORIN <yann.morin.1998@free.fr>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-04 12:51:08 +01:00
Thomas Petazzoni
b90a10303e Support KERNEL_ARCH for AArch64
The architecture tuple is 'aarch64', but the kernel people decided to
call it 'arm64', so we have to do some mungling to get the kernel
architecture name from the Buildroot architecture name.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-02 21:08:50 +01:00
Valentine Barshak
94d3aa171c Makefile: Remove more pkgconfig files
The pkgconfig files are located in  /usr/lib/pkgconfig
and /usr/share/pkgconfig directories.
However, only /usr/lib/pkgconfig is removed when no
development files are needed in the target filesystem.

Remove pkgconfig directory from $(TARGET_DIR)/usr/share
as well if BR2_HAVE_DEVFILES is not set.

Signed-off-by: Valentine Barshak <gvaxon@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-04 23:03:48 +02:00
Thomas Petazzoni
669d07bdd4 Remove the Xtensa architecture
As stated in commit 555c2585bf, the
Xtensa architecture has been introduced in 2009 and never changed
since its initial introduction. It requires some special handling that
is a bit annoying, and despite our call to the initial developers, and
the announcement of the deprecation of the architecture during the
2012.05, nothing has happened. Therefore, drop support for this
architecture.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: me
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-20 22:31:08 +02:00
Peter Korsgaard
a77ee7fd40 pkg-download: allow relative BR2_DL_DIR
And move the BUILDROOT_DL_DIR override here as well for consistency.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-10 16:00:50 +02:00
Peter Korsgaard
f9686563b4 Kickoff 2012.11 cycle
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-03 21:27:41 +02:00
Thomas Petazzoni
288b73995a Prepare for 2012.08
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-08-31 10:49:41 +02:00
Thomas Petazzoni
8437b56258 Prepare for 2012.08-rc3
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-08-25 22:47:23 +02:00
Stephan Hoffmann
32314b4471 Added QMAKESPEC to the list of unexported symbols
Building QT might fail if QMAKESPEC is defined.

Signed-off-by: Stephan Hoffmann <sho@relinux.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-08-17 18:02:19 +02:00
Thomas Petazzoni
b58c83ae99 Update for 2012.08-rc2
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-08-15 12:11:48 +02:00
Thomas Petazzoni
4009cbbbf9 Update for 2012.08-rc1
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-08-01 20:46:31 +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
Luca Ceresoli
7e76f904d2 legal-info: infrastructure to collect legally-relevant material
This allows to automatically collect material that may be needed to comply with
the license of packages that Buildroot prepares for the target device.

The core of the implementation is made by the following parts:
 - in package/pkg-utils.mk some helper functions are defined for common actions
   such as generating a warning, producing info about a package etc;
 - in package/pkg-gentargets.mk, within the GENTARGETS framework, a new
   <PKG>-legal-info target produces all the info for a given package;
 - Makefile implements the top-level targets:
   - legal-info-prepare creates the output directory and produces legal info
     about Buildroot itself and the toolchain, which mostly means just warning
     the user that this is not implemented;
   - legal-info, the only target that is supposed to be used directly, depends
     on all of the above and finishes things by producing the README files from
     the various pieces.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-17 19:05:49 +02:00
Thomas Petazzoni
91123a6fab Ensure DESTDIR will not confuse the build
Having DESTDIR defined will confuse the build of certain packages, so
we ensure that it is undefined from the environment when Buildroot
starts.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-07-02 20:22:50 +02:00
Arnout Vandecappelle
670cb30670 Globally disable PKG_CONFIG_PATH
If PKG_CONFIG_PATH is set in the environment, it allows pkg-config to
look for libraries outside of the buildroot tree.  This is a problem
both for host and target builds.  To avoid it, globally set an empty
PKG_CONFIG_PATH in the environment.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-07-01 00:27:39 +02:00
Thomas De Schampheleire
07bae75635 source-check: change behavior to check only selected packages / add source-check-all
The original 'source-check' target first selects all packages, and then checks
whether the package tarballs can be found. This is useful for Buildroot
maintainers, but less useful for developers working on a specific project. The
latter only care about the packages used in that project.

This patch removes the allyesconfig dependency to source-check so that only
selected packages are checked. The original behavior is moved to a new target
'source-check-all'.

[Peter: removed source-check-all, people can just make allyesconfig before]
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-23 23:18:39 +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
Peter Korsgaard
5b11223fb6 Kickoff 2012.08 cycle
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-31 09:17:10 +02:00
Peter Korsgaard
bce34ab199 Update for 2012.05
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-30 23:23:07 +02:00
Peter Korsgaard
0b0d7badb0 Update for 2012.05-rc3
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-25 21:09:50 +02:00
Peter Korsgaard
b07ad40c1d Update for 2012.05-rc2
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-18 22:50:37 +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
Peter Korsgaard
9f7bf3b63d Update for 2012.05-rc1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-10 19:07:20 +02:00
Thomas Petazzoni
aebf199ff0 Add support to generate locale data
In order to use locale support on a Linux system, you need locale data
to be present:

 * on a (e)glibc based system, this data is typically in the
   /usr/lib/locale/locale-archive file, which can be created and
   extended using the localedef program

 * on an uClibc based system, the set of supported locales is defined
   at build time by an uClibc configuration option.

This patch implements generating locale data for the following cases:

 * Internal toolchain

 * External toolchain based on (e)glibc. uClibc external toolchains
   are not supported, because with uClibc, the set of supported
   locales is defined at build time. CodeSourcery and Linaro
   toolchains have been tested, Crosstool-NG toolchains are believed
   to work properly as well.

 * Toolchains built using the Crosstool-NG backend, but only (e)glibc
   toolchains.

This feature was runtime tested with internal uClibc toolchain,
CodeSourcery ARM toolchain and Linaro ARM toolchain, thanks to a
simple C program that shows the data and a gettext translated message.

Note that this option differs from the "purge locales" option, which
is responsible for removing translation files and other locale stuff
installed by packages. At some point in the future, we may want to
clarify the respective roles of those options.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-09 00:26:21 +02:00
Arnout Vandecappelle
33f454bbef config: make it possible to specify which config file to use for 'make defconfig'
So that this works:

 % make defconfig BR2_DEFCONFIG=~/buildroot-defconfig

Right now we have to do:

 % cp ~/buildroot-defconfig configs/buildroot_defconfig
 % make buildroot_defconfig

That would dirty the buildroot tree and requires it to be writable.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-05 23:38:53 +02:00
Thomas Petazzoni
ce1acfb5ea toolchain: remove toolchain/Makefile.in and toolchain/gcc/Makefile.in
Re-integrate in gcc-uclibc-4.x.mk things from
toolchain/gcc/Makefile.in that were completely gcc-specific. There was
no reason to pull that when building with other backends than the
internal one.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-25 09:00:51 +02:00
Thomas Petazzoni
ad5af75732 Remove unused GNU_TARGET_SUFFIX
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-25 08:52:29 +02:00
Thomas Petazzoni
486253db30 cmake: move creation of toolchain file to package/pkg-cmaketargets.mk
This also requires moving a few include directives below the "all:"
target in the main Makefile, otherwise the new target to create the
toolchain file in pkg-cmaketargets.mk gets used as the default make
target instead of "all:".

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-20 00:01:03 +02:00
Thomas Petazzoni
b7285d0058 Move the manual build infrastructure to docs/manual/manual.mk
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-20 00:00:29 +02:00
Thomas Petazzoni
4ef7ec585c Remove unused .fakeroot.* mechanism
There used to be a mechanism using which packages could leave a
.fakeroot.<something> file which could contain commands to be executed
within the fakeroot environment. Since this mechanism is no longer
used by any package, remove it from the common infrastructure.

The latest user was nfs-utils, which used this mechanism to do the
"make install" as root, since doing otherwise was not supported. But
since 16e7b8255c, nfs-utils has been
upgraded and converted to the package infrastructure, and this hack is
no longer necessary. Another past user was the ltp-testsuite package,
for the same reason, and since
a72a670489, the fakeroot hack is no
longer needed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-19 16:09:30 +02:00
Thomas Petazzoni
aba915fe2b Remove filename extension crap for OS compatibility
The only variable that is used is HOST_LOADLIBES, defined for the
cygwin case in the kconfig build. Since we don't support cygwin,
simply get rid of this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-19 16:02:48 +02:00
Thomas Petazzoni
338c6d7cf2 Remove cc-option: not used anywhere
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-19 15:53:53 +02:00
Stephan Hoffmann
040f6a325f Add documentation for <pkg>-rebuild and <pkg>-reconfigure
Since these two special make targets are very useful but not yet
mentioned in the documentation I added them to the make help and
the manual.

Signed-off-by: Stephan Hoffmann <sho@reLinux.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-07 19:38:44 +02:00
Arnout Vandecappelle (Essensium/Mind)
2b91ab7a20 Add target to print buildroot version
It's convenient to have a target to print the buildroot version, for use
in external scripts calling buildroot.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-13 13:10:29 +01:00
Peter Korsgaard
7a58ed7317 Merge branch 'next' 2012-03-01 14:05:41 +01:00
Peter Korsgaard
9fc4359144 Update copyright year
We're in 2012 by now.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-01 14:04:54 +01:00
Peter Korsgaard
5c3a337387 kickoff 2012.05 development cycle
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-01 14:03:39 +01:00
Peter Korsgaard
03ceab6d16 Update for 2012.02
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-29 23:19:47 +01:00
Peter Korsgaard
6d24b41b09 Update for 2012.02-rc3
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-27 16:49:38 +01:00
Peter Korsgaard
ed7791e2e8 Makefile: move cmake toolchain file to $HOST_DIR/usr/share/buildroot
To make it part of the SDK installation.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-25 23:18:03 +01:00
Peter Korsgaard
3d6ff4f527 Update for 2012.02-rc2
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-19 23:16:50 +01:00
Luca Ceresoli
eb8fad2805 Print a message before executing the post-build script
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-19 23:05:34 +01:00
Peter Korsgaard
451a887894 Makefile: use /etc/os-release for version info rather than /etc/br-version
/etc/os-release is becoming a standard interface for distribution
name/version info, so let's use that instead of the nonstandard
/etc/br-version. Format of the file is something like:

NAME=Buildroot
VERSION=2012.02-rc1-00003-g2d10e81
ID=buildroot
VERSION_ID=2012.02-rc1
PRETTY_NAME="Buildroot 2012.02-rc1"

For more details, see:

http://0pointer.de/public/systemd-man/os-release.html

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-14 13:08:23 +01:00
Peter Korsgaard
14c2442858 Update for 2012.02-rc1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-12 23:22:29 +01:00
Peter Korsgaard
8139e21c97 Makefile: fix old make check thinko
So it doesn't fail with 3.81.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-09 22:59:20 +01:00
Thomas De Schampheleire
ee7f92e19f Makefile: change order of dirs and dependencies
If during the dependencies step, a package needs to be downloaded, the
download directory already has to be present. If not, the file will be
downloaded under the name 'dl' instead of in the directory 'dl'.

This patch changes the order of dirs and dependencies in the world target to
fix this.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-09 22:10:43 +01:00
Thomas De Schampheleire
0edfb24c38 dependencies: check minimal make version early on
Although support/dependencies/dependencies.sh checks for the version of make,
this script doesn't get a chance to run if make encounters a syntax error as a
result of being too old.

For example, the following syntax is only supported from make 3.81 onwards:

ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
include toolchain/toolchain-buildroot.mk
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
include toolchain/toolchain-external.mk
else ifeq ($(BR2_TOOLCHAIN_CTNG),y)
include toolchain/toolchain-crosstool-ng.mk
endif

This patch adds a check for the version of make very early in the Makefile, so
that old make versions are handled gracefully.

[Peter: simplify check]
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>
2012-02-09 22:06:05 +01:00
Thomas De Schampheleire
a792668b58 dependencies: move from toolchain/ to support/
As suggested by Arnout Vandecappelle, move toolchain/dependencies to
support/dependencies, as it really is not toolchain-specific anymore.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-09 21:45:59 +01:00
Peter Korsgaard
134ab1ce4f make release: add html/text/pdf manual and create .tar.bz2 format as well
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-07 11:39:41 +01:00
Peter Korsgaard
3ec57751fa Makefile: GENDOC_INNER: don't create subdirs for generated manuals
The output files are generated directly in $(O)/docs/manual.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-07 10:52:35 +01:00
Peter Korsgaard
d0880f70fa gcc-uclibc-4.x.mk: get rid of BR2_DEPENDS_DIR
Now that we have dropped the make-write-deps patch.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-15 20:59:37 +01:00
Peter Korsgaard
12c9f7dd6d Makefile: ensure CONFIG_SITE isn't set
Fixes lib/lib64 issue when building on OpenSUSE.

Reported-by: Guillaume Gardet <guillaume.gardet@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-12-12 10:25:50 +01:00
Peter Korsgaard
f7c26a2678 kickoff 2012.02 development cycle
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-11 22:45:28 +01:00
Peter Korsgaard
1507c39b76 Update for 2011.11-rc1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-11 20:26:10 +01:00
Peter Korsgaard
67a7d7b7d3 Makefile: build all manuals in $(O)/docs/manual
Like Arnouts' patch originally did.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-26 07:52:03 +02:00
Arnout Vandecappelle (Essensium/Mind)
22c547fba9 manual: refactor the targets into GENDOC macro.
Also add a clean target, give absolute path to a2x, add a dependency
on the output file, and add to .PHONY.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[Peter: build in docs/manual/<format>, fix clean targets]
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-25 12:05:39 +02:00
Thomas Petazzoni
8792cf9e0d manual: provide make targets to build the documentation
Special thanks for Yann E. Morin for giving input and suggestions to
implement this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Reviewed by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
[Peter: skip double mention of manual target in make help]
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-25 09:59:22 +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
Thomas Petazzoni
102a93bdca support: move package/gnuconfig to support/gnuconfig
The CONFIG_UPDATE macro is no longer defined in
package/gnuconfig/gnuconfig.mk, but instead in
package/Makefile.autotools.in. It it also changed a little bit to take
the directory of the package sources as argument, and the AUTOTARGETS
infrastructure is updated to use this macro.

[Peter: drop echo in CONFIG_UPDATE]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-17 08:22:12 +02:00
Thomas Petazzoni
56da3859c7 support: move kconfig stuff from package/config to support/kconfig
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-17 08:17:06 +02:00
Thomas Petazzoni
f082c7c5cf support: move scripts/ to a new support/ directory
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-17 08:14:11 +02:00
Peter Korsgaard
5427c506bd kickoff 2011.11 development cycle
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-05 22:14:33 +02:00
Peter Korsgaard
facd602dca Update for 2011.08
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-08-31 13:44:55 +02:00
Peter Korsgaard
73f131ce7d Update for 2011.08-rc2
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-08-29 11:21:17 +02:00
Jean-Christophe PLAGNIOL-VILLARD
83f1bf9e45 barebox: add barebox-<n/x/menu>config and barebox-savedefconfig support
[Peter: only activate if barebox is enabled, fix deps]
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-08-24 14:43:56 +02:00
Jean-Christophe PLAGNIOL-VILLARD
f5777ce8fb linux: add linux/linux26-savedefconfig support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-08-22 22:15:35 +02:00
Peter Korsgaard
7ff457cdb5 Update for 2011.08-rc1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-08-04 22:31:30 +02:00
Thomas De Schampheleire
4eb982cf90 'source' target should depend on 'dirs'
In the following command flow:
make distclean
make <board>_defconfig
make source

the dl directory would normally be created by the first wget download. If there are no such downloads, e.g. because you use a local download mirror (e.g. scp, file) or only use git/svn/hg/bzr repositories, the dl directory is not created automatically. This causes e.g. the 'pushd' command in the respective _DOWNLOAD commands to fail.

This patch adds a dependency to the 'dirs' target to 'source', fixing this scenario.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-08-04 21:44:56 +02:00
Danomi Mocelopolis
b979619973 make help: sort defconfigs for make 3.82
Closes #3985

The wildcard function in make 3.82 no longer sorts the output, so
add an explicit sort so the defconfigs are listed in a sensible order.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-17 22:19:19 +02:00
Yann E. MORIN
7c29745969 Makefile: unbreak source-check
'source-check' breaks because the *_DEFCONFIG options are empty strings.
There is an explicit check to avoid erroring-out when doing 'source', but
not when doing 'source-check'.

This patch set DL_MODE right from the first sub-make call.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-15 20:57:59 +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
Thomas Petazzoni
97fafb9adc Remove unused variable definitions
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-06-12 21:56:09 +02:00
Peter Korsgaard
0a5e7905a6 kickoff 2011.08 development cycle
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-06-06 13:36:55 +02:00
Peter Korsgaard
9ab73b51e8 Update for 2011.05
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-05-27 16:18:21 +02:00
Peter Korsgaard
effcc9a2a2 Update for 2011.05-rc2
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-05-24 15:02:23 +02:00
Peter Korsgaard
137a4d7e92 Update for 2011.05-rc1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-05-18 22:03:57 +02:00
Peter Korsgaard
125e2558b2 Get rid of unneeded CFLAGS
Now that we use a wrapper for external toolchains (and internal ones
default to the correct setting), we no longer need to explicitly pass
sysroot/march/mtune/mabi/floating point mode in TARGET_CFLAGS.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-05-05 23:39:03 +02:00
Peter Korsgaard
85dc57f6fd Add toolchain wrapper for external toolchains
Add a simple toolchain wrapper for external toolchains, which forces the
correct sysroot/march/mtune/floating point options needed to use it
with buildroot.

With this in place the external toolchain behaves similar to the internal
ones, and the special handling can be removed. This also means that the
toolchain is usable outside buildroot without having to pass any special
compiler flags.

Also adjust the downloadable external toolchain support to install under
HOST_DIR so it can be used after the temporary build files are removed.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-05-05 23:38:58 +02:00
Peter Korsgaard
4bb33dce49 Makefile: make help: show busybox/ctng/linux/uclibc-menuconfig if enabled
For this we need to read .config.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-04-25 00:10:45 +02:00
Peter Korsgaard
b052862f02 Makefile: remove outdated make targets
busybox and linux26 no longer have a -config target, and prepatch only makes
sense for a very specific configuration (BR toolchain with GDB enabled).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-04-25 00:00:23 +02:00
Peter Korsgaard
f894e85e85 Makefile: remove extra quotes around host linker flags for cygwin
Closes #3541

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-04-04 15:44:35 +02:00
Thomas Petazzoni
c729829c6c Fix ccache handling
When ccache support is enabled and 'make silentoldconfig' is being
started from the following rule:

$(BUILD_DIR)/buildroot-config/auto.conf: $(CONFIG_DIR)/.config
	$(MAKE) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" silentoldconfig

then, the Makefile in package/config inherits from HOSTCC/HOSTCXX
values with the ccache prefix. However, if we start from a cleaned
build (after make clean), ccache is not compiled yet, so things break.

To solve this, we pass a noccache variant of HOSTCC/HOSTCXX down to
the package/config Makefile.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-04-02 22:34:09 +02:00
Mike Frysinger
0df02e1233 hostcc/hostcxx: fix noccache variant setting
The current code accidentally sets up HOSTCC_NOCCACHE and HOSTCXX_NOCCACHE
only when the respective HOSTCC or HOSTCXX values are not set.  So if you
do something like:
	make HOSTCC=gcc menuconfig
The build fails because HOSTCC_NOCCACHE is not set anywhere.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-03-28 10:29:35 +02:00
Peter Korsgaard
da5e5a5aa2 kickoff 2011.05 development cycle
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-03-01 14:13:06 +01:00
Peter Korsgaard
f3e79a7aae Update for 2011.02
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-28 21:54:22 +01:00
Peter Korsgaard
2d3d618b6a Update for 2011.02-rc2
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-24 10:10:16 +01:00
Peter Korsgaard
51f8802d87 Update for 2011.02-rc1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-14 22:38:01 +01:00
Bjørn Forsman
f16f2a5fee Makefile: remove dead code (TARGET_SKELETON_PATCH)
TARGET_SKELETON_PATCH is no longer in use, so remove it.

Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-14 22:27:30 +01:00
Mike Frysinger
871db074b1 initial support for Blackfin processors
[Peter: don't allow MMU on bfin]
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 14:29:19 +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
35ac32d150 Makefile: savedefconfig: save in O= directory for out-of-tree builds
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-02 15:54:50 +01:00
Peter Korsgaard
15f5bef053 make help: document ncurses, make V=1 and make O=<dir>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-01 08:41:01 +01:00
Bjørn Forsman
73144a6e02 Makefile: generate CMake toolchain-file in $(O)
A CMake toolchain-file makes it easy to develop CMake-based packages
outside of Buildroot. Just give the toolchain-file to CMake via the
-DCMAKE_TOOLCHAIN_FILE=... option.

Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-26 23:22:32 +01:00
Thomas Petazzoni
b0c86bcc57 Remove .py or .pyc depending on Python configuration
We do this at a global level since several packages can install
Python modules.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2011-01-25 08:59:57 +01:00
Peter Korsgaard
877044a738 Update copyright info for 2011
Happy newyear!

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-13 00:18:39 +01:00
Gustavo Zacarias
5ad139ebc9 toolchain: do staging symlink
Make an output/staging -> sysroot symlink just for compatibility
purposes.
This may be gone in the future so don't count on it, use $(STAGING_DIR)
instead.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-02 22:55:36 +01:00
Gustavo Zacarias
009407e6be binutils: make it a proper package
* Convert binutils to a proper autotargets package

* Add version 2.21 and drop version 2.17

* Hook up packaged binutils for target gcc

* Build tools are on HOST_DIR now so change it

* Move cross/host gcc to HOST_DIR

* Drop kludge from commit 3c77bab2ee
  This is fixed in the next commit "gcc: install copies of libgcc,
  libstdc++ and libgcj to the sysroot" - tested for arm & x86_64
  targets.

* TARGET_CROSS now pointed to HOST_DIR too

[Peter: Config.in tweaks]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-02 22:55:16 +01:00
Daniel Nyström
2bf3c16609 Reset critical environment variables
Reset them early in top-level Makefile to ensure they're keept unset
all the way through the build process.

This also removes the requirement of these variables being unset
globally prior the build.

Signed-off-by: Daniel Nyström <daniel.nystrom@timeterminal.se>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-29 23:35:52 +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
6c492d5e7b toolchain: add support for external toolchain profiles and download
Instead of letting the user define all the details of his external
toolchain, we define a set of profiles for well-known external
toolchains (CodeSourcery ones only at the moment, can easily be
extended with other toolchains).

Once a profile has been choosen, the user is offered the choice of
either letting Buildroot download and install the external toolchain,
or (as before) to tell Buildroot where the toolchain is installed on
the system.

We of course provide a "custom profile", through which the user can
configure Buildroot to use a custom external toolchain for which no
profile is available.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 21:56:49 +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
Peter Korsgaard
d7051da8c6 Makefile: document savedefconfig in 'make help', like it's done in Linux
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-07 12:16:44 +01:00
Peter Korsgaard
a8ecce0743 buildroot: kickoff 2011.02 development phase
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-03 11:56:28 +01:00
Peter Korsgaard
dbc45b0369 Update for 2010.11
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-30 16:52:43 +01:00
Gustavo Zacarias
0dc940cdee Makefile: introduce KSTRIPCMD to strip kernel modules
When sstrip is selected it tries to strip kernel modules too.
Unfortunately this fails with a "unrecognized program segment header
size" error thus interrupting the build process.

We introduce a new $(KSTRIPCMD) strip command for this, being a regular
strip when sstrip is selected and an empty stub when not stripping.

At the same time get rid of the REMOVE_SECTION_* variables, as they are
only used once.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-30 16:28:41 +01:00
Mike Frysinger
66254843a5 target-finalize: libtread_db: support nonstd toolchain setups
Certain toolchain configs (E.G. on blackfin), don't use symlinks, so the
file name to match is the actual SONAME (.so.*). Support these toolchains
as well.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-28 22:13:05 +01:00
Javier Viguera
69b2cc76b3 target-finalize: do not strip libthread_db
Fix previous commit not to strip libthread_db library. In the previous
commit the wildcard was incorrectly matching the symbolic link instead
of the real library file.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-27 21:41:20 +01:00
Peter Korsgaard
09af8387fd Update for 2010.11-rc2
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-25 11:29:30 +01:00
Mike Frysinger
c98bc88e32 target-finalize: do not strip libthread_db.so
For proper threading debug support, the libthread_db.so library cannot
be stripped on the target.  This is because the target gdbserver will
also load up this library at runtime and poke around its symbols.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-24 22:24:06 +01:00
Mike Frysinger
68ad6d4ee0 auto remove empty /usr/share dir
Often times, the only reason /usr/share exists is because of documentation
installed into it.  So once we're done cleaning the docs, attempt to rmdir
/usr/share.  If it's empty, things will work out nicely.

[Peter: use make infrastructure to ignore errors rather than shell]
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-24 22:14:33 +01:00
Peter Korsgaard
7dccbc44a8 Makefile: really adjust kernel modules strip invocation
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-24 22:12:13 +01:00
Mike Frysinger
8101c9a357 linux: strip installed modules
The installed kernel modules should have useless build cruft stripped out
of them.  On my system, a default build went from a very unreasonable 30MB
to a normal 3MB (on disk) and from 14MB to 3MB when compressed due to the
info stored in the kernel modules alone.

[Peter: don't hardcode binutils strip specific options]
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-24 22:02:40 +01:00
Peter Korsgaard
69884e3149 Makefile: remove outdated flush target
Not needed any more as we've removed the shared config.cache handling.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-24 15:32:17 +01:00
Peter Korsgaard
610255e7e4 Makefile: remove outdated .config.cmd handling
Not used anymore, and forcefully removes config if *config is aborted.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-24 15:30:54 +01:00
Peter Korsgaard
22c2c6b541 Makefile: handle host packages for make source / make external-deps
Ensure host packages (dependencies of target packages) are also handled
by make source / make external-deps.

This has to be done a explicitly, as we don't list these in Kconfig,
and hence also not in a variable like TARGETS, so instead we have to
look at the <PKG>_DEPENDENCIES variables for each enabled package and
extract the host packages from there.

Host packages can in turn also have dependencies, so we have to follow
those as well. Ideally this should be done recursively, but as that's
pretty hard to do in make, it is limited to 1 level for now.

Finally, host packages share source files with target packages, so
pipe output of make external-deps through sort -u to ensure duplicates
are removed.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-19 14:20:56 +01:00
Peter Korsgaard
ea252b0e04 Update for 2010.11-rc1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-08 10:24:59 +01:00
Peter Korsgaard
64d8e9a0c1 Makefile: move target-{finalize,purgelocales} after bootloader/linux step
Closes #2731

Bootloader and Linux kernel steps can add content to the rootfs, so ensure
the cleanup / postprocess steps are moved after those.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-07 19:33:11 +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
0dca706568 Makefile: fix release target with make 3.81
It seems that target-specific variables don't mix with target rules.

Thanks to Yann for helping debugging the issue.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-04 00:03:52 +01:00
Yann E. MORIN
cb15bf8da5 Makefile: use global version string in /etc/br-version
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
8258df279a Makefile: compute the version string for all to use
Some packages use the buildroot version string (to set their own version
string). Computing the version string globally will makes it easy for
them to use it instead of re-computing it in every packages.

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:04 +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
Yann E. MORIN
2d239bbe27 Makefile: move .NOTPARALLEL
Move it down, users should not mess with it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-03 23:23:31 +01:00
Peter Korsgaard
3be4968343 Optimize (-O2) host binaries by default
Default HOST_CFLAGS to -O2, so host tools (like the cross compiler) are
built with optimization by default.

Based on a patch by Will Newton <will.newton@gmail.com>.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-10-29 21:00:26 +02:00
Peter Korsgaard
891973f538 Makefile: move KERNEL_ARCH from kernel-headers to here
Closes #2707

It's not only for kernel headers, and the kernel headers .mk file
isn't included for crosstool-ng toolchain, which broke linux/u-boot/..
builds.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-10-17 23:32:37 +02:00
Yann E. MORIN
10c1eec2c3 toolchain: add new toolchain backend: crosstool-NG
[Peter: indent Config.in, shuffle make targets around]
Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-10-01 16:40:40 +02:00
Peter Korsgaard
d0c3d1cf43 sed: get rid of host-sed variant
And all the infrastructure surrounding it. A broken sed implementation
is quite rare nowadays, as seen by the fact that the current host-sed
support has been broken for a while, so just get rid of it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-30 23:09:39 +02:00
Yann E. MORIN
d487168c71 Makefile: Force make to run serially in the top-level Makefile
The top-level Makefile can be executed in parallel, as it causes problems.
We can force make to be not parallel.

It's been reported many times, and recent discussions on IRC with kos_tom,
and user nick-named knee, led to this patch.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-30 14:37:01 +02:00
Yann E. MORIN
aefad5317f Makefile: generate a Makefile wrapper in $(O)
If building out-of-tree, add a Makefile wrapper that calls-out to the real
Makefile with proper args.

Avoids having to pass -C and O= every time we call make.

This is highly inspired from how the Linux kernel does it, and portions of
it have been used. We can't use exactly the same implementation as the
kernel does, because:

 - the script writing the wrapper has been expunged of the few lines
   that were too kernel-related: in buildroot we do not need the version
   string in the wrapper, and we do not have a patchlevel version;

 - "in-tree build" does not have the same meaning for the kernel and for
   buildroot: for the kernel, $(O) point to the $(TOPDIR), while for
   buildroot $(O) points to $(TOPDIR)/output.

For more complete explanations, see:
  http://lists.busybox.net/pipermail/buildroot/2010-September/037815.html

[Peter: minor tweaks]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-26 23:47:07 +02:00
Maxime Petazzoni
d147b81fda Re-implement the source-check and external-deps targets
The new DL_MODE variable dispatches between the various download
implementations of each method (Git, Subversion, Wget) to deal with the
normal download (default mode, 'DOWNLOAD'), the source-check
('SOURCE_CHECK') and to show the external dependencies for external-deps
('SHOW_EXTERNAL_DEPS').

For the latter, the legacy script wget-show-external-deps.sh is no
longer required as $(WGET) isn't called directly anymore but always
through the DOWNLOAD helper.

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-13 08:18:40 +02: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
Maxime Petazzoni
07b2af1a45 Remove the spider feature
In preparation for the re-work of the DOWNLOAD helper to support
multiple download methods and protocols, the spider feature used with
wget is removed for now until it is re-implemented on top of the new
download methods.

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-13 08:17:46 +02:00
Peter Korsgaard
e62ed84b19 Merge branch 'for-2010.11/kconfig-upgrade' of git://git.busybox.net/~tpetazzoni/git/buildroot 2010-09-02 17:08:11 +02:00
Thomas Petazzoni
0b36880085 Ensure that all config-related files are generated before the build
The previous commit has removed calls to conf_write_autoconf(), which
is the function that generates the KCONFIG_AUTOCONF,
KCONFIG_AUTOHEADER, KCONFIG_TRISTATE files and the split config (with
one file per config item). Therefore, those things were not generated
anymore before the build.

In order to get them generated before the build, we use the same
mechanism as the kernel: run a silentoldconfig when the .config file
is newer than the KCONFIG_AUTOCONF file.

In Buildroot, all those elements are not really used today, except the
split config which is used a little bit in the toolchain build, in a
try to make sure the toolchain gets rebuilt properly when the
configuration changes. It does not seem that this work has been
completed.

However, as we want to keep the same behaviour as previously, we have
to generate all those elements before starting the build.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-01 14:22:28 +02:00
Thomas Petazzoni
e1b1a18ab6 Add support for savedefconfig
savedefconfig allows to create a minimal defconfig file from an
existing configuration. For example :

 make O=/path/to/some/buildroot/build/directory savedefconfig

will generate a minimal 'defconfig' file in the main Buildroot source
directory.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-01 12:27:25 +02:00
Thomas Petazzoni
1039eb74fa Factorize environment variables for config utilities
Instead of duplicating the definition of KCONFIG_AUTOCONFIG,
KCONFIG_AUTOHEADER and BUILDROOT_CONFIG, let's define them in a
COMMON_CONFIG_ENV variable, which is used by all the xconfig, gconfig,
menuconfig, nconfig, config, oldconfig, randconfig, allyesconfig,
allnoconfig, randpackageconfig, allyespackageconfig,
allnopackageconfig, defconfig, %_defconfig targets.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-01 12:27:17 +02:00
Thomas Petazzoni
abba28ac7d Makefile: use long options names for the 'conf' utility
The short option names have been removed as they were starting to
cause too much confusion. See
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=4062f1a4c030157216dc8932e27131975cf7253c
for details.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-01 12:27:09 +02:00
Thomas Petazzoni
8b6585a9d3 Add support for the new nconf configuration tool
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-01 12:26:56 +02:00
Thomas Petazzoni
7c524dd0b6 Clean up our patches against kconfig
Our kconfig-to-buildroot2.patch hasn't been kept up to date with all
the changes made into package/config, and a single patch wasn't very
practical to maintain all our changes. Therefore, this commit adds a
package/config/patches directory, which contains a Quilt series of
patches that correspond to our modifications to the kconfig mechanism.

The huge kconfig-to-buildroot2.patch has been split into 16 smaller
patches. The purpose of some of the modifications has been clearly
identified, while some others were not identified.

The 16 patches together do match exactly the old
kconfig-to-buildroot2.patch. We have been very careful in making sure
that we wouldn't loose any of our modifications.

The only modifications made are :

 * Instead of renaming the kernel Makefile to Makefile.kconfig and
   naming the Buildroot Makefile just 'Makefile', we instead keep the
   original package/config/Makefile from the kernel
   scripts/kconfig/Makefile and name the Buildroot Makefile
   package/config/Makefile.br. The main Buildroot Makefile is modified
   accordingly.

 * The documentation README.buildroot2 is updated to explain how to
   upgrade to a newer version of scripts/kconfig.

 * The kconfig-language.txt documentation is removed, as anybody can
   easily find it in the kernel sources so there's no need to
   duplicate it here.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-01 12:26:41 +02:00
Thomas Petazzoni
6f38119cbb Implement %_defconfig similarly to the kernel
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-01 12:26:29 +02:00
Thomas Petazzoni
dc9dba1509 Remove CONFIG_DEFCONFIG
There's no need to have a .defconfig, when you run make menuconfig,
make xconfig or anything else for the first time, it will just start
with the default configuration anyway. This is what the kernel does.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-01 12:26:22 +02:00
Thomas Petazzoni
4ccde7fabb Fix ldconfig call in target-finalize
Recent versions of ldconfig require the directory /var/lib/ldconfig,
otherwise they bail out with an error. Moreover, having a
/etc/ld.so.conf file also avoids a warning.

In addition to this, we remove the redirection of stderr, so that
errors remain visible to the user.

Thanks to Baruch Siach, Andy Gibbs and Darcy Watkins for investigating
the issue and proposing solutions.

This fixes the build on recent distributions such as Fedora 13 or
Gentoo.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-08-30 23:14:20 +02:00
Peter Korsgaard
de846f6e04 Makefile: fix source/source-check/external-deps with O=
Based on patch by Will Wagner <will_wagner@carallon.com>.

Now that the .config is located in the output directory when O=<dir>
is used, we have to pass the O= option to make for
source/source-check/external-deps to get them to look in the right place
for the .config.

Fix it by introducing an EXTRAMAKEARGS variable and use it whenever we
call back into the toplevel Makefile.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-08-29 23:24:07 +02:00
Malte Starostik
e48a72e5e9 Remove gdb plugins from target
* Don't install gdb plugins unless BR2_TARGET_GDB is set

Signed-off-by: Malte Starostik <m-starostik@versanet.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-30 10:46:37 +02:00
Malte Starostik
bea9e43fe7 Globally remove aclocal directories from target
* Remove $(TARGET_DIR)/usr/share/aclocal from target-finalize when not
  installing devfiles and
* Remove some (now) redundant cleanup from individual packages

Signed-off-by: Malte Starostik <m-starostik@versanet.de>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-30 10:45:00 +02:00
Yann E. MORIN
ed0200993e toolchain: move makefile includes
Including a bunch of Makefiles with wildcard makes it impossible to add
new toolchain backends. Avoid that by namely including needed files.

The external toolchain still needs to include all the toolchain/*/*.mk
sub-makefiles, as they are needed to build a toolchain that runs on the
target. It is to be noted that the cross-toolchain is not built in this
case, as the make-targets to build the cross-toolchain are not present
in the $(BASE_TARGETS) variable, which is later used to create the
dependency rules.

Also, the comment 'Explicit ordering' has been removed, as it is mis-
leading. It is make's responsibility to create the proper ordering based
on the dependency rules it finds in the Makefiles

Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-28 16:20:06 +02:00
Yann E. MORIN
ed181aeedb toolchain: move helper functions from external toolchain
The helper functions used for external toolchains may also be useful
to alternate toolchain backends (currently, the external toolchain is
the sole user).

Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-28 16:19:56 +02:00
Peter Korsgaard
e49e2feda4 Makefile: fix ldconfig selection for internal toolchains
Commit ed0d45fdd (Choose host/target ldconfig based on availability)
added a runtime check for a cross-ldconfig being available.
Unfortunately this checks runs too early (at package/Makefile.in parsing
time), so it always fails when using an internal toolchain as ldconfig
isn't built yet.

Fix it by moving the check to the only place it is used (target-finalize).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-26 23:57:01 +02:00
Malte Starostik
fbc22ecaef Fix default skeleton path
Signed-off-by: Malte Starostik <m-starostik@versanet.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-19 09:42:56 +02:00
Dmytro Milinevskyy
2b3a43f4e3 fs: add option to define path to custom rootfs skeleton
Signed-off-by: Dmytro Milinevskyy <milinevskyy@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-18 23:15:55 +02:00
Dmytro Milinevskyy
d9119c0bc5 move default skeleton to fs/ and drop busybox skeleton
[Peter: fixup patch, adjust for busybox.mk changes]
Signed-off-by: Dmytro Milinevskyy <milinevskyy@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-18 23:08:55 +02:00
Thomas Petazzoni
26082e79af Introduce support for host config cache
We now have for quite some time a configuration cache used to speed-up
the execution of ./configure scripts when compiling programs for the
target. This commit introduces a similar concept when Buildroot
compiles programs for the host.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:14:41 +02:00
Peter Korsgaard
8e29430410 Makefile: fixup make distclean after kconfig build in BUILD_DIR
We don't actually need to explicitly clean the kconfig stuff, as distclean
already removes the entire BUILD_DIR, but fix up the packag/config makefile
to do the right thing if make clean/distclean is called manually for
completeness.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-01 09:03:36 +02:00
Daniel Hobi
cf4689f8b1 Fix: convert leftover $(CONFIG)/conf to $(BUILD_DIR)/buildroot-config/conf
Signed-off-by: Daniel Hobi <daniel.hobi@schmid-telecom.ch>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-29 23:47:49 +02:00
Thomas Petazzoni
fe1cba690a Remove old Linux infrastructure
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-06-22 21:20:26 +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
2cc210c92f kconfig: build in BUILD_DIR/buildroot-config
This way the main buildroot dir can be completely read-only for
out-of-tree builds

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-21 22:16:34 +02:00
Peter Korsgaard
2691d80803 Makefile: fix make <blah>_defconfig
Make sure we only pass O=<path> if we were originally called like that,
otherwise we might end up looking for the .config in the wrong place.

Likewise, when changing between using O= or not (or simply running
make <blah>_defconfig in a pristine source tree), we do end up having
a .config, but no .config.cmd. It isn't really critical so just continue
even if we couldn't read it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-21 22:16:34 +02:00
Will Wagner
39ca6d50d8 Move config files into output directory for out-of-tree build
Closes #1213

Signed-off-by: Will Wagner <will_wagner@carallon.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-21 22:06:00 +02:00
Peter Korsgaard
5fd095b374 toolchain: remove gcc 4.1.2 and non-sysroot support
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-15 23:16:55 +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
2b42aae784 Makefile: support gconfig (GTK-based configurator) similar to xconfig
Support the GTK variant of the graphical kconfig configurator as an
alternative to the Qt3-based one.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-05 21:15:10 +02:00
Peter Korsgaard
35fac17ebc Makefile: cleanup *conf targets
The make targets for the kconfig conf/mconf/qconf are almost identical,
so us a single rule for it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-05 21:14:59 +02:00
Peter Korsgaard
aacfa18033 Merge branch 'graph-dependencies' of git://git.busybox.net/~tpetazzoni/git/buildroot 2010-05-27 14:11:26 +02:00
Peter Korsgaard
319a4751c4 Makefile: move filesystem stuff after u-boot build again
Otherwise u-boot tools / kernel modules are only added to target AFTER
the filesystems are built.

Long term u-boot/kernel stuff should get splitted from target/device,
but this is the safest solution for now.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-21 16:19:11 +02:00
Thomas Petazzoni
b7d6c8ad0f Add a show-targets target
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-05-21 15:07:34 +02:00
Peter Korsgaard
c71816a8a5 Makefile: make GNU_HOST_NAME a simply expanded variable (:=)
GNU_HOST_NAME is referred more than 100 times in the tree, used 5
times during startup, and is relatively expensive to run - so make
it a simple expanded variable (:=) rather than recursively expanded
one (=).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-06 20:56:25 +02:00
Paulius Zaleckas
d701a82321 Remove gtk-doc documentations from target
On my target rootfs it is installed documentation for:
atk, cairo, gdk, gdk-pixbuf, gio, glib, gobject, gtk, pango

It ocupies 34M of space. Configure option --disable-gtk-doc doesn't
prevent installation of it. So we should remove them manually if
documentation is disabled.

[Peter: also remove manual rm's from hal/libxml2/libglade]
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-05 12:21:21 +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
Thomas Petazzoni
4c5bf461cd Commonalize the definition of TOOLCHAIN_DIR
The definition of TOOLCHAIN_DIR is the same regardless of whether
external or internal toolchains are used. Moreover, move its
definition together with all the other *_DIR definitions.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-03 00:00:05 +02:00
Thomas Petazzoni
72f913bb3b Get rid of unused variables
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-11 21:10:34 +02:00
Thomas Petazzoni
60281cbfe4 Guess build system and remove BR2_GNU_BUILD_SUFFIX
Instead of having a configuration option BR2_GNU_BUILD_SUFFIX, let's
use config.guess to guess the build system type.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-11 21:10:33 +02:00
Thomas Petazzoni
87b0637bd0 Remove all documentation when BR2_HAVE_DOCUMENTATION is not set
Until now, we had BR2_HAVE_MANPAGES, BR2_HAVE_INFOPAGES and
BR2_HAVE_DOCUMENTATION, but there's no need to have such a
fine-grained control over what documentation gets kept or not.

Therefore, just remove all the documentation (man pages, info pages
and documentation in $(TARGET_DIR)/usr/doc and
$(TARGET_DIR)/usr/share/doc) when BR2_HAVE_DOCUMENTATION is not set.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-11 06:01:08 +02:00
Thomas Petazzoni
0585241505 Move all filesystem generation code to fs/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-09 11:04:36 +02:00
Peter Korsgaard
cd61ea772b Makefile: out-of-tree fix for uclibc 0.9.31
Strangely enough O is still passed to submakes with MAKEOVERRIDES
(with make 3.81 atleast), the only thing that changes is the output
of the origin function (command line -> environment).
Unfortunately some packages don't look at origin (E.G. uClibc 0.9.31+)
To really make O go away, we have to override it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-04-05 10:44:54 +02:00
Yann E. MORIN
26b44b2b02 toolchain: prepare for more than two alternatives
Lay down the path to add more than two toolchain kinds:
- check the type of toolchain as:
    ifeq (toolchain_buildroot,y)
        blabla buildroot-specific
    else ifeq (toolchain_external,y)
        blabla external-specific
    endif

- prefer using positive checks, a-la:
    ifeq (foo,y)
  instead of:
    ifneq (bar,y)
  (where foo and bar are mutually exclusive)

- have the toolchain_buildroot case always appear first

- gettext is handled differently, because we want to add an option
  only if not using the buildroot toolchain, hence we use ifneq.

Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Acked-By: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-03-31 10:53:12 +02:00
Peter Korsgaard
eb05757510 buildroot: we're in 2010 now
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-02-24 09:42:30 +01:00
Thomas Petazzoni
a05c337de5 Create $(STAGING_DIR)/usr/bin unconditionnally
This fixes the build of libcap, with external toolchain, when it is
the first package being built.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-02-09 22:44:15 +01:00
Peter Korsgaard
23ddf460aa Makefile: release: use git archive
Create tarballs with git-archive so we're sure they don't contain
anything not in git (E.G. local backup configs).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-02-09 16:34:04 +01:00
Yann E. MORIN
4b74321195 toolchain/gdb: get rid of another legacy and unused variable
BR2_VENDOR_GDB_VERSION and VENDOR_GDB_VERSION are no longer settable.
The only user is gdb, and it's totally useless in this case.

Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-02-09 11:44:20 +01:00
Yann E. MORIN
7dd0591183 toolchain/gdb: get rid of legacy & unused variables
The BR2_VENDOR_SUFFIX and VENDOR_SUFFIX variables are no longer settable.
The only user is gdb, and is totally useless in this case.

Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-02-08 17:03:03 +01:00
Anders Darander
b9656e81a4 Remove backup-files from the TARGET_DIR.
Closes #823.

~ is commonly used as a suffix to editor backup files.
Remove these files, just as we remove CVS-directories and
.empty-files.

[Peter: tweaked to remove in same find invocation as .empty]
Signed-off-by: Anders Darander <ad@datarespons.se>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-12-23 11:54:25 +01:00
Thomas Petazzoni
bc994c533c Use BR2_TOOLCHAIN_BUILDROOT instead of BR2_TOOLCHAIN_SOURCE
The BR2_TOOLCHAIN_SOURCE option is removed in a future commit.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:54:47 +01:00
Peter Korsgaard
f7a501e13c Makefile: fix build if CDPATH is set in environment
Reported by Bjørn Forsman <bjorn.forsman@gmail.com>.

If CDPATH is set in the environment, cd <dir> will print the absolute path
of <dir>, causing various trouble (The most critical being BASE_DIR ending
up as <path> <path> which breaks basically everything).

Fix it by clearing CDPATH. Notice that export doesn't affect the environment
of $(shell ..) calls, so explicitly throw away any output from cd in the
BASE_DIR shell call.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-12-13 22:58:49 +01:00
Peter Korsgaard
97c996d654 Makefile: document configure cache handling
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-12-12 08:50:00 +01:00
Peter Korsgaard
b5972138c3 Makefile: drop config cache on .config changes
The config cache might contain invalid values when .config is changed
(E.G. when adding/removing libraries), so drop it so config checks are
rerun for new packages (existing package still won't be rebuilt).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-12-12 00:16:33 +01:00
Peter Korsgaard
6b1dd45bf4 Makefile: use absolute path for TOPDIR
Reported by mr_claus on IRC.

This ensure DL_DIR is always an absolute path, like it was before the
build dir reorganization - Fixes vim (patch) build.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-11-30 17:31:56 +01:00
Peter Korsgaard
406053d5dc Makefile: cleanup *clean targets
As discussed on the list, fixup the *clean targets, so we now have:

clean: remove all generated files (E.G. everything in output/)
distclean: same as clean, but also remove the kconfig build and .config

Also tweak 'make help' output to match. This also merges the two
different clean / distclean targets we had depending on if there was
a .config present or not (most variables are not defined for !.config
case, so E.G. the clean target ends up being a noop).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-11-20 14:34:04 +01:00
Peter Korsgaard
58fd779a43 buildroot; move defconfigs to configs/ and print in help
As discussed earlier on the mailing list. It simplifies code, gives more
sensible error message on typos and makes the defconfigs easier to find
for users.

Furthermore, update documentation to match.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-04 22:20:28 +02:00
Peter Korsgaard
6652770f41 Makefile: add rand/allyes/allno package config targets
Similar to the normal targets, but only affects the BR2_PACKAGE_* options.
E.G. handy for keeping your current toolchain config while testing
(random) packages.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-04 21:57:12 +02:00
Peter Korsgaard
c48bbb8c08 Makefile: update help text
get rid of the removed saveconfig/getconfig targets, and instead document
randconfig/defconfig/allyesconfig/allnoconfig.

Furthermore, get rid of the unused tags target.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-04 21:45:10 +02:00
Peter Korsgaard
912ea81ad4 Makefile: reinstate /etc/br-version
Got lost in the recent cleanup, but is handy to know BR version.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-30 17:40:24 +02:00
Peter Korsgaard
89464a9601 Makefile: be more quiet when make -s is used
Somehow got lost in the recent reorganisation.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-30 17:39:44 +02:00
Michael Roth
18994732d3 Makefile: Remove ancient 'sourceball' target
Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23 12:09:08 +02:00
Michael Roth
483b2980d0 Remove unneeded trailing slash from TOPDIR
Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23 09:19:47 +02:00
Michael Roth
416323e934 Move download directory 'dl' back to the top hierachy of buildroot
Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23 09:15:39 +02:00
Michael Roth
cb5710c538 rename TOOL_BUILD_DIR to TOOLCHAIN_DIR
To reflect the new output directory hierachy rename the Makefile variable
TOOL_BUILD_DIR to TOOLCHAIN_DIR.

Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23 09:15:27 +02:00
Thomas Petazzoni
3b2a803d28 Rename the output directories
In the output directory, we now have

 - build/    where all the packages are built
 - images/   where the final kernel and rootfs images are stored
 - staging/  the staging directory (containing the development files
             and libraries compiled for the target)
 - target/   which contains the target root filesystem
 - host/     which contains all the host programs
 - stamps/   which contains the stamps files

Therefore, the build_ARCH and toolchain_build_ARCH have been
removed. People willing to use the same Buildroot sources to compile
for different architectures are invited to use the O= command line
option for out-of-tree compilation.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-16 20:33:31 +02:00
Thomas Petazzoni
fd3800c197 Remove BR2_TOPDIR_PREFIX and BR2_TOPDIR_SUFFIX
The same effect can be done using out-of-tree build with O=

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-16 20:33:27 +02:00
Thomas Petazzoni
a07d6b9d56 By default, put the output in an output/ directory
Instead of putting all the build-related stuff as a mess in the
Buildroot sources, group them in an output/ directory.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-16 20:32:54 +02:00
Thomas Petazzoni
18183726d4 Remove the BOARD/LOCAL feature
This can be achieved by adding a new target in target/device/, and I
will later propose a mechanism to add external boards and packages, so
that our users not willing to get their target-specific or
package-specific things merged can keep them cleanly separated from
Buildroot tree.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-16 20:28:25 +02:00
Thomas Petazzoni
397fe5cc0b Remove the "project" feature
The "project" feature was designed to allow to several projects to be
built inside the same Buildroot source tree and allowing the toolchain
and non-configurable packages to be shared between the different
projects on the same architecture. While being interesting in theory,
this feature adds a level of complexity to Buildroot, both from an
user perspective and from a developer perspective, while one of the
main Buildroot strengh is to be simple. Moreover, this feature is only
seldomly used by our users.

From a user-level perspective, this for example allows to remove the
project_build_ARCH directory, which was very confusing. The
autotools-stamps directory is also removed, since these stamps are
back at their normal location.

Description of the changes involved :

 * project/, directory removed

 * Makefile

    - Don't include project/Makefile.in and project/project.mk anymore

    - Grab a copy of the contents of project/Makefile.in at the
      location it was imported, but remove the definition related to
      PROJECT_BUILD_DIR. The TARGET_DIR is now in
      $(BUILD_DIR)/target_dir

    - Remove the creation/removal of the $(PROJECT_BUILD_DIR) and
      $(PROJECT_BUILD_DIR)/autotools-stamps directories

    - Don't make world depends on target-host-info. This target was
      defined by project/project.mk to customize /etc/issue,
      /etc/hostname and create /etc/br-version depending on the
      project definitions. We can of course imagine re-adding such a
      feature later.

    - Replace PROJECT_BUILD_DIR by BUILD_DIR everywhere

    - Remove the update, log and lognr.$(PROJECT) target, they were
      specific to the project feature.

 * package/Makefile.autotools.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the
      configure cache

    - Move the INSTALL_TARGET and HOOK_POST_INSTALL stamps to the same
      directory as the other stamps (i.e, in the package directory).

 * package/Makefile.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the
      configure cache

 * package/at/at.mk,
   package/busybox/busybox.mk,
   package/busybox/initramfs.mk,
   package/customize/customize.mk,
   package/linux-fusion/linux-fusion.mk,
   package/ltp-testsuite/ltp-testsuite.mk,
   package/nfs-utils/nfs-utils.mk,
   target/cpio/cpioroot.mk,
   target/cramfs/cramfs.mk,
   target/device/Atmel/DataFlashBoot/DataflashBoot.mk,
   target/device/Atmel/Makefile.in,
   target/device/Atmel/at91bootstrap/at91bootstrap.mk,
   target/device/KwikByte/Makefile.in,
   target/ext2/ext2root.mk,
   target/initramfs/initramfs.mk,
   target/iso9660/iso9660.mk,
   target/jffs2/jffs2root.mk,
   target/linux/Makefile.in,
   target/romfs/romfs.mk,
   target/squashfs/squashfsroot.mk,
   target/tar/tarroot.mk,
   target/ubifs/ubifsroot.mk

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

 * target/device/Config.in

    - Do not include project/Config.in anymore

 * target/linux/Makefile.in.advanced

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

    - Store the stamps file in $(STAMP_DIR) instead of
      $(PROJECT_BUILD_DIR)/autotools-stamps

 * target/u-boot/Makefile.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

    - Remove $(PROJECT) from the U-Boot target binary name

    - Remove the insertion in the configuration of the project name as
      the hostname

    - The u-boot-autoscript target now generates
      $(U_BOOT_AUTOSCRIPT).img instead of
      $(U_BOOT_AUTOSCRIPT).$(PROJECT)

 * toolchain/gcc/gcc-uclibc-3.x.mk
   toolchain/gcc/gcc-uclibc-4.x.mk

    - Move the stamps files to $(STAMP_DIR)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-16 20:28:25 +02:00
Thomas Petazzoni
6cdf2481ee makefile: use qstrip
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-05 14:43:16 +02:00
Thomas Petazzoni
580c6d9b44 makefile: new qstrip make function
Define a qstrip function that strips double quotes and then
whitespaces around a given string. This is a very commonly needed
thing, and having a function allows to remove a large quantity of
hand-written definitions, followed by a dummy comment to make text
editors not crazy because of the unmatching double quote.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-05 14:43:16 +02:00
Will Newton
fc3eb18b70 Makefile: Ensure CVS directories are removed from target fs.
The find command syntax is incorrect when deleting CVS and .svn directories
from the target filesystem, which prevent CVS directories from being
deleted.

It's useful to delete these dirs because users of buildroot often import
buildroot into CVS or Subversion.

Signed-off-by: Will Newton <will.newton@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-26 23:00:38 +02:00
Thomas Petazzoni
7e7576c3d8 Makefile: add the xconfig target to the help of the main Makefile
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-07-27 18:09:32 +02:00
Peter Korsgaard
76dade1788 Merge branch 'kconfig-update' of git://git.busybox.net/~tpetazzoni/git/buildroot 2009-07-27 17:24:01 +02:00
Alper Yildirim
b0df9df39a config: Add support for xconfig
It involved:

 * Modifying the top-level Makefile to create the xconfig target, and
   the $(CONFIG)/qconf target to compile the qconf utility

 * Modifying the package/config/Makefile magic so that C++ files and
   binaries gets linked properly, re-using the
   package/config/Makefile.kconfig logic inherited from the kernel

 * Hacking a little bit package/config/Makefile.kconfig in a way
   similar to the modifications done for the mconf (menuconfig
   interface)

Signed-off-by: Alper Yildirim <ayildirim@aselsan.com>
2009-07-27 16:07:00 +02:00
Daniel Mack
eed7d8737a Add support for custom post-build script
The config help text says it all:

  Specify a script to be run after the build has finished and before
  the BR2 starts packing the files into selected packages.

  This gives users the oportunity to do board-specific cleanups,
  add-ons and the like, so the generated files can be used directly
  without further processing.

  The script is called with the target directory name as first and
  only argument. Make sure the exit code of that script is 0,
  otherwise make will stop after calling it.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Cc: Sven Neumann <s.neumann@raumfeld.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-25 23:15:18 +02:00
Maxim Grigoriev
edb5ca9c52 Makefile: apply xtensa specific TARGET_SKELETON_PATCH if available
Part of #163.

Signed-off-by: Maxim Grigoriev <maxim2405@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-24 02:37:06 +02:00
Wade Berrier
027aa1d2ec Older versions of 'find' don't have the '-delete' option
Use find's '-print0' and 'xargs -0' as an equivalent alternative.
2009-04-28 17:33:44 +00:00
Peter Korsgaard
a767c8bdf7 Makefile: distclean: remove correct dirs
Remove toolchain build dir, and don't try to remove the non-existing include
dir. Also don't explicitly remove the kernel image located in binaries as
we're already removing that dir.
2009-04-17 13:53:07 +00:00
Peter Korsgaard
32faf35112 Makefile: add target-finalize for common filesystem cleanup
And remove from each rootfs variant.
2009-04-07 21:04:31 +00:00
Peter Korsgaard
b87b4742e0 Makefile: add BR2_ENABLE_LOCALE_PURGE to purge unwanted locales
Add BR2_ENABLE_LOCALE_PURGE / BR2_ENABLE_LOCALE_WHITELIST options to
remove unwanted locales from the target rootfs. Handy for stuff like
the gtk stack, which comes with ~25 MB locales.

Works similar to localepurge in Debian, E.G. you provide a white list
of wanted locales, and everything else is removed.
2009-04-06 09:21:26 +00:00
Peter Korsgaard
4d298a2d37 Makefile: target-devfiles: combine .a / .la find invocation 2009-04-06 09:21:22 +00:00
Peter Korsgaard
e7b38c71ce package: add STAMP_DIR and use for host builds
Move stamp (dependency) files outside the (version specific) source
directories, so other packages can hardcode dependencies on them instead
of having to use <PACKAGE>_VERSION variables.

This is important as the variables in the make rules are evaluated when
the rules is seen, which might be before the dependent makefile is parsed
(and hence <PACKAGE>_VERSION variable is known, screwing up stuff.

The downside of this is that the package isn't automatically rebuilt
when the version changes (E.G. by a svn update) and you now also have to
remove the stamp files next to $(BUILD_DIR)/<PACKAGE>-* to force a rebuild.
2009-03-19 11:06:47 +00:00
Peter Korsgaard
bd07d92aad Makefile: introduce $(HOST_DIR) for host binaries
Add HOST_DIR directory handling. HOST_DIR should be used just like
STAGING_DIR, but for host files instead of target ones.
2009-03-16 15:48:43 +00:00
Ulf Samuelsson
8a446caa89 make update shoudl save to PROJECT_defconfig 2009-01-31 20:38:55 +00:00
Ulf Samuelsson
260d3b4ac2 make flush, should always be visible 2009-01-29 09:34:11 +00:00
Peter Korsgaard
b30d673c06 Makefile: fix typo introduced in r25601 2009-01-26 19:42:47 +00:00
Ulf Samuelsson
cf7d9872f2 Fix spelling error in Makefile comment 2009-01-26 19:37:54 +00:00
Peter Korsgaard
e03683e066 libglib2: move HOST_GLIB detection to glib package
Makes more sense to have it here, and easier to change once we start
building host-glib.
2009-01-26 19:10:41 +00:00
Ulf Samuelsson
13a85e3c04 Flush configuration cache, needed if config has changed 2009-01-25 23:01:22 +00:00
Peter Korsgaard
f85f2de174 Makefile: globally define variables used at different places
$(comma) and $(space) are used in packages and the toolchain.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
2009-01-25 20:19:01 +00:00
Ulf Samuelsson
7b2ec61074 Add help for make configured 2009-01-22 23:03:17 +00:00
Peter Korsgaard
2671be4d64 Makefile: update copyright 2009-01-16 10:27:27 +00:00
Peter Korsgaard
e62d2ecda0 Makefile: implement make release 2009-01-15 19:36:06 +00:00
Hans-Christian Egtvedt
386b8139ea Mention the saveconfig and getconfig targets in make help
I often find myself forgetting what those targets were called, and I imagine
others may not even be aware of their existence.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
2009-01-08 13:16:24 +00:00
Peter Korsgaard
69f8592407 buildroot: set SHELL instead of messing around with CONFIG_SHELL
Simply set SHELL to bash instead of adding CONFIG_SHELL to all shell
invocations. CONFIG_SHELL is still set, as it is used by kconfig.
2009-01-01 21:20:35 +00:00
Peter Korsgaard
95e165c2bc Makefile: revert HOST_GLIB_BIN staging_dir fix (r23920,23923)
It causes more trouble than it's worth, and we should move to building those
host tools ourselves to not get into version issues anyway.
2008-11-07 08:57:59 +00:00
Hans-Christian Egtvedt
7167dedea2 Build $(PROJECT_BUILD_DIR)/autotools-stamps with normal Makefile rules
This patch will add a rule to top level Makefile to depend on the
$(PROJECT_BUILD_DIR)/autotools-stamps as a required directory. Hence it will be
generated if missing in stead of made when the $(PROJECT_BUILD_DIR)/.root rule
is triggered.

Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
2008-11-05 11:39:46 +00:00
Hans-Christian Egtvedt
d86faadff9 Move creation of $(PROJECT_BUILD_DIR)/autotools-stamps into top level Makefile
This patch will create the autotools-stamps directory early in the build
process, thus making it possible for non Makefile.autotools.in packages to use
this directory to hold stamp files.

Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
2008-11-05 10:41:31 +00:00
Peter Korsgaard
d1a7ffe8f9 Makefile: glib-genmarshal: use BR2_STAGING_DIR instead of hardcoded staging_dir 2008-11-04 12:50:38 +00:00
Peter Korsgaard
b948fdba22 Makefile: ignore glib-genmarshal in staging_dir
HOST_GLIB is set to the path that contains the host glib tool set and is
used when building packages using glib. The buildroot top level Makefile
sets HOST_GLIB using which to find the path where glib-genmarshal is
located.

The problem is that a cross compiled version of glib-genmarshal is also
put in the build_ARCH/staging_dir/usr/bin directory when the package
libglib2 is built. This cross compiled version will typically not run on
the host system.

Fix it by ignoring staging_dir in the which output.

Closes #5934

jacmet: fixed to work correctly if it's only found in staging_dir.
2008-11-03 20:11:03 +00:00
Peter Korsgaard
51f5f62754 External toolchain support improvements
Improve external toolchain support

 * Do not put kernel-headers in the dependencies of BASE_TARGETS in
   the case where BR2_TOOLCHAIN_SOURCE is not y. The kernel headers
   are already supposed to be part of the external toolchain, so
   there's no need to download, extract and install them.

 * In the configuration system, don't display the kernel headers
   version selection list when an external toolchain is selected. This
   is implemented by moving the source
   "toolchain/kernel-headers/Config.in" inside the if
   BR2_TOOLCHAIN_SOURCE in toolchain/Config.in.2.

 * Change the description and help message of the BR2_LARGEFILE,
   BR2_INET_IPV6, BR2_INET_RPC, and BR2_SOFT_FLOAT option in
   toolchain/external-toolchain/Config.in. In the case of an external
   toolchain, the semantic of these options is not to enable large
   file support, IPV6 or RPC (since the toolchain is already compiled,
   it has been decided previously). Their semantic is to let Buildroot
   know about the characteristics of the external toolchain being
   used.

   As an improvement, we could guess these values automatically:

    - for BR2_LARGEFILE, look at the value of __UCLIBC_HAS_LFS__ in
      bits/uClibc_config.h in the libc headers directory.

    - for BR2_INET_RPC, look at the value of __UCLIBC_HAS_RPC__ in the
      same file

    - for BR2_INET_IPV6, look at the value of __UCLIBC_HAS_IPV6__ in
      the same file

    - for BR2_SOFT_FLOAT, look at the output of $(CC) -v 2>&1 | grep
      -- "--with-float=soft"

   But I'm not sure how this would be possible, since these values are
   used at configuration-time by other configuration options, not only
   at build time.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2008-11-03 10:18:39 +00:00
Hamish Moffatt
346844d057 Applied patch from Brian Foster <brian.foster@innova-card.com>:
make "make clean" remove the .root stamp, so that everything will
be reinstalled properly on a subsequent build. (bug id 4304)
Also remove new autotools-stamps directory.
2008-09-11 02:22:47 +00:00
Peter Korsgaard
02a623ddf9 buildroot: remove trailing spaces
for i in `find -name 'Config*' -o -name 'Makefile*' -o -name '*.mk'`;
do
	sed -i 's/ \+$//' $i;
done
2008-08-04 19:07:05 +00:00
Peter Korsgaard
bcad6288f5 Makefile.autotools.in: fix make source-check/external-deps differently
The MAKELEVEL test is not that robust; It fails with the recent log
support or if buildroot is driven from an external Makefile.

Rework it to instead detect source-check/external-deps by the fact that
they set SPIDER.
2008-07-24 13:38:39 +00:00
Ulf Samuelsson
552c0d197b Fix log 2008-07-07 23:20:09 +00:00
Ulf Samuelsson
9220e90b0a Fix log 2008-07-07 18:32:41 +00:00
Ulf Samuelsson
2ad346abb7 Add slashes to allow TOPDIR to end without a slash in the future 2008-07-07 18:26:09 +00:00
Ulf Samuelsson
84518dc8d7 Remove some debug messages 2008-07-07 17:48:27 +00:00
Ulf Samuelsson
54e9332892 Replace configuring GLIB with autodetect 2008-07-06 07:34:41 +00:00
Ulf Samuelsson
50cbb4a188 Add configuration possibility for host Gnome Lib installation 2008-07-05 09:22:38 +00:00
Ulf Samuelsson
def8b8d12d Add version number to log 2008-07-05 06:58:53 +00:00
Ulf Samuelsson
195df2e1a0 Add 'build with log' 2008-07-04 22:29:50 +00:00
Ulf Samuelsson
126bb72fa0 Add prepatched AVR32 gcc-4.2.2 toolchain from www.atmel.no, move patch locations for prepatched toolchain to be under the toolchain directory 2008-07-04 08:39:35 +00:00
Peter Korsgaard
926646d9ca Makefile: remove target pkgconfig files if BR2_HAVE_DEVFILES isn't enabled 2008-07-01 12:04:28 +00:00
Peter Korsgaard
d45f355db1 Makefile: don't include .config from TOPDIR
If we ever want to support building out of tree, having the .config in the
tree is probably not what we want.
2008-06-23 13:47:37 +00:00
Peter Korsgaard
2c2796719a package/config: cygwin fix
- pass HOST_LOADLIBES down to make mconf for cygwin
- fix link-order WRT HOST_LOADLIBES

From Bernhards tree (91018d95)
2008-06-19 08:11:35 +00:00
Peter Korsgaard
f85cd12c17 toolchain: also setup kernel headers when ext toolchain is used
Provide kernel headers when ext toolchain is used, so we can compile
packages which need them.
2008-06-13 14:28:57 +00:00
Peter Korsgaard
db8eecfcea distclean: Don't delete $(IMAGE)
There is not much point in deleting $(IMAGE) as the entire binaries dir
is removed. Furthermore, $(IMAGE) is a prefix rather than a file name.
2008-05-31 07:27:47 +00:00
Ulf Samuelsson
a8ee124036 Use local time (Thanks Mike) 2008-05-11 06:55:04 +00:00
Peter Korsgaard
d55b283ce7 Makefile: revert broken ccache (r21525) for now. 2008-03-31 09:06:26 +00:00
Peter Korsgaard
e013773645 Makefile: merge CVS and .svn find invocation 2008-03-30 20:52:33 +00:00
Peter Korsgaard
6a262b14ac Makefile: fix typo (.empty files, not dirs) 2008-03-30 20:48:13 +00:00
Peter Korsgaard
01c5168579 target_skeleton: mark empty directories with .empty files
Mark empty directories in target skeletons with .empty files
and remove them while copying to target (like it's already done for
svn and cvs files) to better support version control system which don't
handle empty directories (E.G. git-svn).
2008-03-30 20:45:42 +00:00
Ulf Samuelsson
efd8576c2e Ensure shell environment is handled correctly 2008-03-30 06:38:46 +00:00
Ulf Samuelsson
82c92e1e1a Easy update of defconfig 2008-03-30 06:29:30 +00:00
Ulf Samuelsson
a1b0651a5a Use BUSYBOX_LOCAL shell variable, if defined 2008-03-28 07:31:28 +00:00
Jason Spence
0d17acf4cf Added ccache support and removed grub from defconfig due to brokenness at the moment. 2008-03-28 02:50:42 +00:00
John Voltz
d45de0ca0c more robust development files in target handler 2008-03-11 13:12:39 +00:00
John Voltz
f5b96fc71d renamed variable, removed uppercase config text 2008-03-10 16:34:19 +00:00
John Voltz
bc67ca29d3 added dev files in target option 2008-03-10 15:22:43 +00:00
Peter Korsgaard
3d8919a184 buildroot: add kernel-headers to base targets so it gets handled by external-deps 2008-03-04 12:19:19 +00:00
Peter Korsgaard
155971e08f buildroot: add external-deps target
Add external-deps target to show what external files are needed to recreate
the build.
2008-03-04 12:19:16 +00:00
Ulf Samuelsson
f5905dc9eb Do not create new directories in external toolchain 2007-10-07 18:23:43 +00:00
Bernhard Reutner-Fischer
cfe511b268 - Nowadays there is no need to strip the config symbols anymore 2007-09-29 13:58:30 +00:00
Bernhard Reutner-Fischer
5f97580e50 - add FC, remove some duplicate entries, cleanup
- fixup after Ulf: CXX doesn't take CFLAGS but CXXFLAGS
2007-09-28 20:10:22 +00:00
Ulf Samuelsson
356133b4f3 Add some more host tools 2007-09-28 19:46:58 +00:00
Ulf Samuelsson
5459a9c5e0 Cleanup cross toolchain admin, split uclibc-menuconfig into same + uclibc-update to avoid overwriting board support file 2007-09-28 19:43:26 +00:00
Ulf Samuelsson
b8f28d656b Add administration for linux,uclibc and main 2007-09-28 16:18:16 +00:00
Bernhard Reutner-Fischer
57310ec605 - for various reasons i will need an explicit ordering of the toolchain includes 2007-09-27 21:24:15 +00:00
Bernhard Reutner-Fischer
4b0d5a80f8 - revert some bad checkins, fixup bad settings in atmel targets and move the gcc target abi back to a place where the other arch-specific settings live 2007-09-26 21:12:38 +00:00
Ulf Samuelsson
8820d63a13 Ensure make %_defconfig works without error - now silently 2007-09-23 14:36:04 +00:00
Ulf Samuelsson
e41b76e91c fix error when doing 'make %_defconfig 2007-09-23 10:57:15 +00:00
Bernhard Reutner-Fischer
4909da4156 - rename the gcc base_target to the more appropriate term cross_compiler 2007-09-22 21:38:15 +00:00
Bernhard Reutner-Fischer
1669b6ed83 - set and export VERBOSE if V= was requested 2007-09-22 14:19:22 +00:00
Bernhard Reutner-Fischer
3b08e64d6f - forgot to put base-target's sources into the source target.
Thanks to Ulf for pointing out this error of mine..
2007-09-18 13:12:25 +00:00
Ulf Samuelsson
633c8cbf5b Remove some debug info + add uclibc-target-utils-source target 2007-09-17 12:49:46 +00:00
Ulf Samuelsson
c8240ca3bf make source should include BASE_TARGETS 2007-09-17 12:40:42 +00:00
Ulf Samuelsson
7521f37372 Add hooks for creating your own board support package 2007-09-12 04:34:16 +00:00
Bernhard Reutner-Fischer
18d979c780 - whitespace cleanup (Cristian Ionescu-Idbohrn) 2007-09-01 18:21:09 +00:00
Bernhard Reutner-Fischer
b3efde23cc - rephrase r19284 -- explicitely list base targets for World
Needed for toplevel parallel builds to work properly.
2007-09-01 17:10:55 +00:00
Bernhard Reutner-Fischer
232fa7eeaa - README even. 2007-08-27 21:51:27 +00:00
Bernhard Reutner-Fischer
663dee48ac - allow me to point people at 'make help' 2007-08-27 21:40:42 +00:00
Bernhard Reutner-Fischer
6547bced93 - global whitespace trimming 2007-08-22 12:35:41 +00:00
Bernhard Reutner-Fischer
1dbe6e3396 - our dependencies are project specific. First (untested) attempt to take this fact into account.
Will need to try to copy eventual pre-existing project-specific deps back
  to package/config in order not to mess up the corresponding timestamps (to avoid superfluous rebuilds)..
2007-08-21 17:56:47 +00:00
Bernhard Reutner-Fischer
7b403ada37 - sed -i -e "/\-[[:space:]]*mkdir[[:space:]][[:space:]]*-p/s/-[[:space:]]*mkdir/mkdir/g"
(want to know about errors if mkdir failed). Thanks to Cristian Ionescu-Idbohrn for pointing this out
2007-08-21 11:25:30 +00:00
Bernhard Reutner-Fischer
f0ca4b8205 - fix incorrect invocation of non-existing binary named "-find"
This bloated the target needlessly (and used to work before)
2007-08-21 10:56:38 +00:00
Bernhard Reutner-Fischer
7547c7ebae - fix whitespace damage.. 2007-08-21 10:53:39 +00:00
Bernhard Reutner-Fischer
0338040243 - cosmetic adjustment in help text 2007-08-21 10:42:05 +00:00
Ulf Samuelsson
adbc5a18cb Add BUILDROOT_DL_DIR to dependencies.sh and fix whitespace damage (sorry) 2007-08-20 15:47:42 +00:00
Ulf Samuelsson
3c567e6466 Add support for BUILDROOT_DL_DIR environment variable, overriding DL_DIR 2007-08-19 23:32:33 +00:00
Ulf Samuelsson
5d2be04979 Move fakeroot temps from STAGING_DIR to PROJECT_BUILD_DIR 2007-08-16 18:19:42 +00:00
Ulf Samuelsson
ceef40146f Dont create TARGET_DIR if it exists 2007-08-16 11:18:29 +00:00
Ulf Samuelsson
c6771dfb84 Avoid copying TARGET_SKELETON on every 'make' 2007-08-16 05:44:55 +00:00
Ulf Samuelsson
c2fc93bcf2 Remove fakeroot files after use to avoid rerun 2007-08-15 09:47:49 +00:00
Ulf Samuelsson
f958d89724 Move project related info from main Makefile to project dir 2007-08-14 07:45:01 +00:00
Ulf Samuelsson
74cda1e49b Avoid continuous rebuilds of TARGET_DIR and /etc/* project files 2007-08-14 07:24:45 +00:00
Bernhard Reutner-Fischer
6ad072032a - add variable BR2_DEPENDS_DIR to point to the Kconfig depend hierarchy 2007-07-31 15:02:06 +00:00
Bernhard Reutner-Fischer
69d692e4ae - explicitely list base targets for World 2007-07-27 15:29:12 +00:00
Bernhard Reutner-Fischer
7603183a87 - put dependency checking right to the start where any later stages can rely on the being ok. 2007-07-27 15:10:45 +00:00
Bernhard Reutner-Fischer
5ef9e52b8e - fix directory dependencies
- BASE_TARGET depends on dirs
2007-07-27 14:57:34 +00:00
Bernhard Reutner-Fischer
fb2c8fec6c - remove passing down the goals 2007-07-27 14:16:00 +00:00
Bernhard Reutner-Fischer
153b1beaeb - fix building mconf with curses flags
- make sure to rm .config when the first 'make menuconfig' was interrupted and thus no .config.cmd was created.
2007-07-27 12:37:30 +00:00
Bernhard Reutner-Fischer
acc706b7b6 - the external-toolchain.mk is not parallel-safe, so ignore it.
- first step of minor adjustments to allow for a toplevel 'make -j128' (regardless of BR2_JLEVEL)
2007-07-23 11:29:38 +00:00
Ulf Samuelsson
e7c08c297d make source-check without permanently changing WGET command 2007-07-20 07:34:28 +00:00
"Steven J. Hill"
62b5ae4b66 Fix INITRAMFS target that was broken. Get rid of config stuff out of the top-level directory. Finally fix Linux kernel module building such that modules are built and installed first followed by rest of packages. This allows for packages to build external Linux kernel modules. 2007-07-18 18:07:19 +00:00
Ulf Samuelsson
0f9c5b1129 Define HOSTLN to allow gzip to build for non-x86 target 2007-07-15 21:54:11 +00:00
Bernhard Reutner-Fischer
e0dd5309bd - use established style 2007-07-13 12:21:19 +00:00
Ulf Samuelsson
fe1bd1ae1b Workaround for vi bug in syntax highlighting 2007-07-12 16:57:47 +00:00
Ulf Samuelsson
e327a1f0a7 Change HOSTNAME to TARGET_HOSTNAME to avoid superseeding build host HOSTNAME 2007-07-12 15:28:58 +00:00
Ulf Samuelsson
412ca2a4d4 BSP Patch:
=========================================================
	The purpose of the BSP patch is to allow building
	several boards inside the same buildroot tree.
	For this to work, each board has to have its
	own "$(TARGET_DIR)" and all *configurable* packages
	must be rebuilt for each board.
	They are now built in the "$(PROJECT_BUILD_DIR)"
	All non configurable packages can and should still
	be built in the "$(BUILD_DIR)".
	If a package is built for one board, then when
	you build for a second board of the same architecture
	the build becomes a simple copy of the resulting
	binaries.

	-----
	Define BR2_PROJECT which will be used as the selector
	between different boards. Note that BR2_PROJECT allow
	you to build multiple root file systems for a single 
	board, and should not be confused with BR2_BOARD_NAME
	which relates to the H/W.

	-----
	Define PROJECT_BUILD_DIR as 	"PROJECT_BUILD_DIR/$(PROJECT)"
	Define BINARIES_DIR as 		"binaries/$(PROJECT)"
	Define TARGET_DIR as		"$(PROJECT_BUILD_DIR)/root"
	(some prefix/postfix may apply)

	Resulting images are stored in	"$(BINARIES_DIR)"

	-----
	Define a few new environment variables in Makefile

	PROJECT:	Stripped BR2_PROJECT
	DATE:		Date of build in YYYY-MM-DD format
	HOSTNAME:	Stripped BR2_HOSTNAME	=> /etc/hostname
	BANNER:		Stripped BR2_BANNER	=> /etc/issue

	Linux and Busybox will be built in $(PROJECT_BUILD_DIR)
	More patches will be needed later to ensure all
	configurable packages are built in this directory.
2007-07-12 13:11:03 +00:00
Ulf Samuelsson
7def55591d Define date of build as DATE, use in mtd/mtd.mk 2007-07-11 15:01:42 +00:00
Bernhard Reutner-Fischer
c0d7d4e035 - fix evaluation of HOSTCFLAGS for kconfig. Closes #1415 2007-07-09 18:23:20 +00:00
Bernhard Reutner-Fischer
81df22641f - wipe config related files in distclean 2007-07-09 08:06:27 +00:00
Ulf Samuelsson
83832cdafd sh needs '-c' to run a binary 2007-07-09 04:26:49 +00:00
Bernhard Reutner-Fischer
e491fba221 - add help target 2007-07-08 12:20:58 +00:00
Bernhard Reutner-Fischer
f987b7a541 - silence a cosmetic warning (closes several issues in mantis).
This also provides a nice up-to-date filestamp if something got reconfigured (e.g. c++ support got toggled) that can be used in the future to depend accordingly.
2007-07-08 00:00:17 +00:00
Ulf Samuelsson
4df454e974 Remove some unwanted white space in Makefile 2007-07-06 12:19:35 +00:00
Bernhard Reutner-Fischer
afc61c6e8e - adjust infrastructure for new kconfig 2007-06-28 10:47:05 +00:00
Bernhard Reutner-Fischer
ba2e7e02d1 - Search for defconfigs in target, not entire tree
This patch changes the way the top level Makefile searches for a
  <board>_defconfig file, it will only look in the target/ directory and its sub
  directories.

  The patch also enables loading a defconfig even if there already is a .config.
  (Hans-Christian Egtvedt)
2007-06-25 10:56:13 +00:00
Bernhard Reutner-Fischer
7e0c890c72 - forgot to apply this hunk that should have belonged to r18904 2007-06-24 12:27:08 +00:00
Bernhard Reutner-Fischer
8027784c35 - add full sysroot support for non-ancient toolchains.
- start to separate usr/lib and lib to match normal system-layout
2007-06-20 11:26:36 +00:00
Peter Korsgaard
2c64904519 Hide troublesome environment variables from sub processes
(E.G. screws up gdb, busybox, ..)
2007-06-19 15:19:27 +00:00
Bernhard Reutner-Fischer
825ff341da - provide a "source-check" target that tries to download all packages with
wget's spider-mode (i.e. just see if the server says the file is there without
  actually downloading the files.
  Convenient to check for unavailable source-packages.
2007-06-07 12:57:03 +00:00
Bernhard Reutner-Fischer
c6e43c9da3 - fixup the extension for the host and start to honor BR2_PREFER_STATIC_LIB 2007-06-02 11:22:17 +00:00
Bernhard Reutner-Fischer
7dcbbfbbd8 - move setting up the extensions to correct place (like i said but tom didn't do..) 2007-06-02 09:05:40 +00:00
Bernhard Reutner-Fischer
fc9566ef23 - correct extensions for apple (thanks Heikki Lindholm for pointing this out) 2007-06-02 08:49:45 +00:00
Bernhard Reutner-Fischer
3096f34d27 - add BR2_PREFER_STATIC_LIB config option to be able to select if we prefer to build static or dynamic libs/bins.
- depending on the BR2_GNU_BUILD_SUFFIX, set the respective EXEEXT, LIBEXT, SHREXT extensions for use on the target.
Thanks to Tom for suplying a diff which implements these.
2007-06-01 22:16:28 +00:00
"Steven J. Hill"
9c865d752e Create 'bin' directory in staging area. 2007-05-07 03:56:47 +00:00
"Steven J. Hill"
4b2ebdb6d9 Create symlink for 'usr/include' in the staging directory so that packages like zlib and others who expect that to exist will install properly. 2007-04-28 17:09:44 +00:00
Bernhard Reutner-Fischer
73be7f9ef4 - make sure to download fakeroot if needed 2007-04-06 16:36:48 +00:00
Bernhard Reutner-Fischer
99cf7293f9 - add cc-option and use it to check for stuff that is benefical for PREFER_IMA
- backport the libbackend.o gcov-iov.h dependency fixup from 4.2 to 4.0
2007-02-12 13:38:06 +00:00
"Steven J. Hill"
02f71aab47 Support building using an external toolchain. Questions to the mailing list and all other comments to <biteme@devnull.com>. 2007-02-06 18:19:38 +00:00
Bernhard Reutner-Fischer
8d583fc01a - generalize the menuconfig linux kernel support
- simplify toplevel mkdir rules a tiny bit
2007-01-30 00:58:18 +00:00
Bernhard Reutner-Fischer
41697b7a46 - make sure to add board specific targets before the final generation of the filesystems/tarballs.
Until now, we did created the fs and only after that built/installed grub et al
2007-01-28 17:35:11 +00:00
Bernhard Reutner-Fischer
b5136193e6 - make distclean didn't clean dialog binaries. Closes #1039 2007-01-19 18:00:49 +00:00
Eric Andersen
3da708e479 link $(STAGING_DIR)/usr/lib to $(STAGING_DIR)/lib
to make glib2 (and packages with similar confusion) work
properly, while still being able to cross compile
2007-01-10 06:55:27 +00:00
Bernhard Reutner-Fischer
9e2503563a - andersee, what was that good for? It just slows down rebuilds as it delves into each sub-file needlessly.. Ripping out. 2006-12-02 19:01:10 +00:00
Bernhard Reutner-Fischer
6e2823c1fa - add and use BR2_BZCAT config option. 2006-11-17 15:43:51 +00:00
Bernhard Reutner-Fischer
870cb9e826 - check if busybox' Rules.mak exists.
- add target dirs to ensure that all required dirs do exist so make busybox-menuconfig works in a pristine checkout.
2006-11-17 11:21:23 +00:00
Eric Andersen
a4c685f165 make certain the target directory exists 2006-11-15 21:00:07 +00:00
Eric Andersen
ba70f94e62 subversion makes it so we do not need a separate tarball
to store empty directories and symlinks for the target_skeleton.
2006-11-15 06:52:00 +00:00
Bernhard Reutner-Fischer
6342c83201 - use $(ZCAT) as configured by the user instead of hardcoded 'zcat' that may not exist; Closes #971
Silly, unchecked sed -i -e "/[^b]zcat/s/zcat/\$\(ZCAT\)/g" $(svngrep "[^b]zcat" * -rl | grep -v Config.in)
2006-10-01 15:17:52 +00:00
Eric Andersen
98bc6dac2a configuring uClibc depends on first having kernel headers in place 2006-07-18 23:43:58 +00:00
Eric Andersen
8c709551ff put sed check in the correct place 2006-07-18 23:39:39 +00:00
Eric Andersen
ddb5ebab06 move TAR_OPTIONS to its rightful place 2006-07-18 22:58:58 +00:00
"Steven J. Hill"
0c1e709edb Resolves Bug #182 for buildroot. It works nice to pull in default
configuration files for targets. More information on the bug database
page at <http://bugs.uclibc.org/view.php?id=182>.
2006-06-22 02:24:08 +00:00
Mike Frysinger
d99c31c646 s/dependancies/dependencies/ 2006-05-26 01:18:09 +00:00
Eric Andersen
a71258c161 when copying, be forceful about it to gratuitously overwrite symlinks 2006-04-19 17:24:47 +00:00
Eric Andersen
5418a92350 make sure things still work even when fakeroot is not in active use 2006-04-07 22:42:15 +00:00
David Anders
d4aab02a04 removed clean and distclean from the noconfig targets per case 0000232 2006-01-25 13:36:51 +00:00
Bernhard Reutner-Fischer
7df4de6cbb - remove BR2_TAR_VERBOSITY and add helptext to BR2_TAR_OPTIONS.
default to no additional tar options.
2005-12-10 15:36:43 +00:00
Bernhard Reutner-Fischer
ce90aae17c - add option to pass to tar for unpacking the source.
Set it to exclude .svn per default (please default to "" if inappropriate)
2005-12-10 14:59:02 +00:00
Mike Frysinger
5bc1f0c323 Allan Clark writes:
Quick patch to avoid deleting my directory of RPM Sources.

I tend to use buildroot as "make DL_DIR=/.rh/SOURCES", with the rpm 
topdir set to $HOME/.rh in my .rpmmacros -- allows me to build RPMs as 
non-root, and share the source with buildroot.  Problem is, buildroot 
likes to delete my directory :(
2005-09-09 02:49:10 +00:00
Mike Frysinger
8c2fc60997 only build host-file if we need it 2005-09-08 00:03:33 +00:00
"Steven J. Hill"
6b632ad624 Build 'file' for the host as well as the target. If the host system has a version older than that being built for buildroot, the target build will fail. So, we build 'file' for the host and add actually add '$(TOOL_BUILD_DIR)/bin' to the TARGET_PATH so that it takes precedence over the host system version. 2005-08-30 03:35:37 +00:00
Eric Andersen
d1345f067e Allow packages to use fakeroot. To accomodate this, convert all
target filesystem creation tools to also use fakeroot.
2005-08-04 06:32:52 +00:00
Eric Andersen
f3ccf319b0 Make defconfig work properly 2005-04-27 08:09:58 +00:00
Eric Andersen
74ad4e12c8 Change all instances of 'ln -sf' to 'ln -snf' 2005-04-15 02:19:11 +00:00
Eric Andersen
bb15c2215e more changes towards better board support 2005-02-17 18:21:20 +00:00
Eric Andersen
79f5f1e867 Make target stuff last so it can override everything else 2005-02-17 03:00:29 +00:00
Eric Andersen
1a35a66350 Fix some silly bugs: a variable for gcc was used before it was defined, remove
'.svn' not 'CVS' from the install, add 2.4.29 kernel headers as the default.
2005-02-11 20:52:06 +00:00
Eric Andersen
d06645d8ed There is no need to have a separate 'Makefile.in' file in the
general case, therefore, combine the toplevel Makefile options
such as setting TARGETS into the per-package *.mk file
2005-02-10 03:06:39 +00:00
Eric Andersen
15b26aeee9 update copyright 2005-02-07 22:19:26 +00:00