Compare commits

...

88 Commits

Author SHA1 Message Date
Peter Korsgaard fcd720dfcf Update for 2014.08
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-01 13:20:56 +02:00
Jörg Krause 4f6e8e5992 package/libnl: add patch to fix build with the musl C library
Add a patch to the package libnl which removes an error when building
libnl against the musl C library.

Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-01 13:20:20 +02:00
Peter Korsgaard c86439678b mtdev2tuio: fix static linking
Liblo uses log(3), so we need to link with -lm when linking statically.

Fixes http://autobuild.buildroot.net/results/bec/becda4756c577ec158536408aba59797fbed938a/

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-01 10:54:18 +02:00
Peter Korsgaard f8993ebb34 cppcms: needs wchar support even without icu
Fixes http://autobuild.buildroot.net/results/6f8/6f8e8b68235f6cf0dfef13e3ed11f97a3ab50a06/

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-01 10:37:39 +02:00
Samuel Martin be8b062f80 package/taglib: fix static link
- disable shared object build when BR2_PREFER_STATIC_LIB is set
- patch the CMake code for handling static/shared object build using
  standard CMake flags, instead of the custom ones.

Fixes:
  http://autobuild.buildroot.net/results/a9c/a9cfe66c57bffc5a4560b2e4dcb41994da59e294/

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-01 00:09:57 +02:00
Samuel Martin ec3417676e package/polarssl: fix static link
- disable shared object build when BR2_PREFER_STATIC_LIB is set
- patch the CMake code for handling static/shared object build using
  standard CMake flags, instead of the ucstom ones.

Fixes:
  http://autobuild.buildroot.net/results/754/754947d2a77a4dbe91057d8ce64fc4996e716ece/

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-31 23:44:58 +02:00
Samuel Martin d77b0a7d88 package/musepack: fix static link
- disable shared object build when BR2_PREFER_STATIC_LIB is set
- patch the CMake code for handling static/shared object build using
  standard CMake flags, instead of the custom ones.

Fixes:
  http://autobuild.buildroot.org/results/e5e/e5eef14d5ed76db824c47a7e679e68397a023526/

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-31 23:27:33 +02:00
Samuel Martin cd769f6104 package/musepack: add sequence number in patch names
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-31 23:27:29 +02:00
Samuel Martin 8d7993654d package/libplist: fix static link
- libplist depends on libm and optionally on zlib and libiconv (via
  libxml2), so add a patch fixing the build-system that way
- disable shared object build when BR2_PREFER_STATIC_LIB is set

Fixes:
  http://autobuild.buildroot.net/results/9a3/9a364e3d91634a2da2bc481da1dee0ad0e870941/

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-31 22:49:31 +02:00
Samuel Martin 022a48280a package/yajl: fix static link
- disable shared object build when BR2_PREFER_STATIC_LIB is set

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-31 22:26:31 +02:00
Samuel Martin 4a0dfea9c2 package/yajl: add sequence number in patch names
Also remove the package version from the patch names.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-31 22:26:18 +02:00
Samuel Martin 3d475ee0ba package/cmake: add host-pkgconf as dependency
Since some CMake modules (even upstream ones) use pgk_check_modules
primitives to find {C,LD}FLAGS, add it to the dependency list.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-31 22:25:37 +02:00
Thomas De Schampheleire 44a5c46213 manual/user guide/customization: rework section on rootfs customization
This patch reworks the section on root filesystem customization as follows:
- use labeled list instead of bulleted list to clarify the different methods
- move rootfs overlay and post-build scripts to the top and label them as
  recommended.
- split post-image to a separate section, as it is not related to the target
  filesystem customization
- line up post-build and post-image explanations, for example regarding
  working directory of the script
- general expansion of some of the explanation
- general rewording

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-31 22:22:43 +02:00
Peter Korsgaard 24534eb40a systemd: fix endian detection for powerpc
Fixes http://autobuild.buildroot.net/results/d53/d5305af6e47da7a577e391c96328ca952c149cd1/

Apply two patches from upstream git to fix powerpc endian detection. These patches
are already part of systemd v216, so they should be dropped when the package
is bumped.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-31 21:36:52 +02:00
Peter Korsgaard f24945a212 php-*: get tarball from sources.buildroot.net
pecl.php.net seems to have a database issue and returns a html page instead
of the tarball.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-31 21:13:47 +02:00
Peter Korsgaard 6708db52c7 php-gnupg: get tarball from sources.buildroot.net
pecl.php.net seems to have a database issue and returns a html page instead
of the tarball.

Fixes http://autobuild.buildroot.net/results/3b6/3b6c53ecbd8d25307ed77b29bffa62f5395f1981/

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-31 21:06:22 +02:00
Peter Korsgaard 752b94c7dc php-geoip: get tarball from sources.buildroot.net
pecl.php.net seems to have a database issue and returns a html page instead
of the tarball.

Fixes http://autobuild.buildroot.net/results/c56/c56b3bf6c141b2b9b9062816bec559b2529534a1/

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-31 21:02:35 +02:00
Romain Naour 5292762206 package/xscreensaver: fix linking with intl
xscreensaver doesn't build with (e)glibc toolchain when gettext package is
selected.

With (e)glibc libintl is provided by the libc whereas with uClibc it's provided
by gettext.

If "LIBS=-lintl" is removed from XSCREENSAVER_CONF_ENV, then the -lintl is
missing during xscreensaver build if the toolchain needs gettext.

xscreensaver.o: In function `main':
undefined reference to `libintl_bindtextdomain'
undefined reference to `libintl_textdomain'

Backport a patch applied in 5.28 that fix linking issue with intl and remove
"LIBS=-lintl" from XSCREENSAVER_CONF_ENV.

Note:
gettext package is always selected with xscreensaver when BR2_NEEDS_GETTEXT is
set due to dependencies on libgtk2 and libglib2.

Fixes:
http://autobuild.buildroot.net/results/39b/39b6ad07ad59d87afeca6e427c69f580bed35700/build-end.log

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-31 00:07:32 +02:00
Yann E. MORIN 172e62be98 package/mesa3d: fix comment about i965 DRI driver
The help entry for the i965 DRI driver states that it supports alll
Intel GPUs. That's not true, as at least the i915 series is not handled
by this driver, but by a separate one.

Fix the help text accordingly; remove the useless second part of the
help text (which does not mean much for Buildroot.)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-31 00:03:16 +02:00
Vicente Olivert Riera 0a9a32d692 libgpgme: Take into account that gnupg and gnupg2 are mutual exclusive
Avoid that libgpgme can select the gnupg package although gnupg2 has
been already selected. Both packages are mutual exclusive and shouldn't
be selected at the same time.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-30 23:57:08 +02:00
Samuel Martin 1ddffb0e1a package/libwebsockets: fix static link
- disable shared object build when BR2_PREFER_STATIC_LIB is set

Fixes:
  http://autobuild.buildroot.net/results/0a9/0a9f0c3c101550e73f7100f2b88a88c1f2bbad95/

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-30 23:34:50 +02:00
Samuel Martin 9418a8387c package/libiqrf: fix static link
- libiqrf depends on pthread, so add a patch fixing the build-system that way
- disable shared object build when BR2_PREFER_STATIC_LIB is set

Fixes:
  http://autobuild.buildroot.net/results/210/2108f37e4a41af0b527c78e646e82f1cafa0353d/

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-30 23:34:41 +02:00
Jörg Krause 14193ee874 package/libdaemon: add patch to fix build with the musl C library
Adds a patch to the package libdaemon which removes an error when building
libdaemon against the musl C library.

Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-30 23:30:49 +02:00
Thomas Petazzoni a2d7725e4d btrfs-progs: bump to version 3.16, fix static linking
The original aim of this patch was to fix static linking of
btrfs-progs. In order to implement this in the form of patches that
can potentially be upstreamed, this patch first bumps the btrfs-progs
package to the latest upstream stable version. It then:

 - Reworks the existing documentation disabling patch in a form that
   can potentially be upstreamed.

 - Adds a patch to support static building of the btrfs-progs
   binaries.

Both patches have been submitted upstream, see
http://article.gmane.org/gmane.comp.file-systems.btrfs/38145.

Fixes:

  http://autobuild.buildroot.org/results/ddc/ddcc70143ce2c2882894184e4ce195a11407e027/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-30 23:20:09 +02:00
Thomas De Schampheleire 4d36f10426 manual/user guide/customization: rework section on BR2_EXTERNAL
This patch reworks the section on BR2_EXTERNAL as follows:
- move note about upstreaming to the chapter introduction
- streamline the section with the previously added section 'Recommended
  directory structure', avoiding duplication.
- use $(BR2_EXTERNAL) rather than BR2_EXTERNAL when referring to file paths.
- some general rewording

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-30 09:18:56 +02:00
Thomas De Schampheleire 9c09fc6017 manual/user guide/customization: add section with recommended dir structure
Although the user is free to choose where to put project-specific files, the
presentation 'Using Buildroot for real projects' [1] first described a
certain recommendation.
This patch briefly describes this recommendation in the form of a directory
structure overview, the details will be added in subsequent patches.

Since the section on BR2_EXTERNAL is logically connected to the directory
structure, this section is moved right after it.

[1] http://elinux.org/images/2/2a/Using-buildroot-real-project.pdf

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-30 09:18:45 +02:00
Thomas De Schampheleire a194faa44d manual/user guide/customization: expand introduction text
This patch expands the introduction text of chapter 'Project-specific
customization' by listing the type of customizations that can be performed
by a project.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-30 09:18:27 +02:00
Jörg Krause f4905d7a3e package/upmpdcli: disable for Blackfin GNU Toolchain
Those toolchains use gcc <= 4.3, which do not support required C++11 features.

Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-30 09:16:47 +02:00
Thomas Petazzoni c9ad5ddfb1 lftp: add missing host-pkgconf dependency
lftp configure.ac uses PKG_CHECK_MODULES, so it must have host-pkgconf
in its dependency, otherwise the autoreconf step fails due to the lack
of pkg.m4.

Fixes:

  http://autobuild.buildroot.org/results/b16/b16d964f275d4d8703665236b969cc19f7ef20be/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-29 10:00:43 +02:00
Thomas Petazzoni c1ef53ed7e exim: requires thread support
Fixes:

  http://autobuild.buildroot.net/results/98a1acb58665e6cd2df354fc63afef1d4606c6e0/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-29 09:59:32 +02:00
Thomas Petazzoni 53bf889cdc ruby: should not use dl_iterate_phdr() on Blackfin
The dl_iterate_phdr() C library function on Blackfin returns a
non-conventional structure format compared to other architectures,
which makes Ruby unable to use it. Since it's just an optional feature
of Ruby apparently used to generate more fancy backtraces, this commit
simply disables the usage of dl_iterate_phdr() on this architecture.

Fixes:

  http://autobuild.buildroot.org/results/1b0/1b0e2f5f95889eb26846927da45d128247d0ed89/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-29 09:16:00 +02:00
Thomas Petazzoni 2b77369882 ruby: requires shared library
No matter what you do, the Ruby build system wants to use shared
libraries for the encoding modules. Therefore, this commit disallows
the selection of Ruby in BR2_PREFER_STATIC_LIB situations.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-29 09:15:42 +02:00
Peter Korsgaard 134f51bf0d libroxml: fix pthread linking issue
Fixes http://autobuild.buildroot.net/results/d18/d188bcf5c374273ffe09589f7db5a40e4c5d7bc9/

Thread handling can get disabled with --disable-xml-thread-safe, but that's
a change for next.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-29 08:59:01 +02:00
Bernd Kuhls 779cb8be9e xapp_luit: needs MMU
Fixes
http://autobuild.buildroot.net/results/13a/13a97461e3b6098e59cfcd829e6bcafa51e50bb4/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-27 22:19:59 +02:00
Thomas Petazzoni 11323613a8 uboot-tools: add patch to fix (no)stripping on non-ELF platforms
On Blackfin FLAT, stripping does not exist, but recent U-Boot versions
nonetheless try to strip and fail if they cannot do so. This commit
adds a U-Boot patch (submitted upstream) that solves this issue.

Fixes:

  http://autobuild.buildroot.org/results/153/1530f8247d1652da5779994f298141b1572ce74f/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-27 21:32:39 +02:00
Thomas Petazzoni f9a11a8fed xapp_xfs: needs MMU
Fixes:

  http://autobuild.buildroot.net/results/7a89f79499e167cc98449a045604d25d4fc88484/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-27 21:31:51 +02:00
Thomas Petazzoni 837ff3b752 webkit: disable on SuperH
Webkit has been failing on SuperH since a long time, with nobody
caring to fix the problem. Since anyway our Webkit version is old and
in the process of being updated, our best option for 2014.08 is to
simply disallow Webkit on SuperH.

Fixes:

  http://autobuild.buildroot.org/results/3a0/3a0c48f65c06f7f19e608d54307c0788a0130589/
  http://autobuild.buildroot.org/?reason=webkit-1.11.5&arch=sh4a

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-27 21:31:47 +02:00
Thomas Petazzoni 0f46e48c9c perl-gd: mark as broken
perl-gd doesn't build on gcc10 due to the host Perl being a bit
old. This shows a defiency in the perl package infrastructure, which
is being worked on. However, since it won't be solved before 2014.08,
our only solution for now is to mark perl-gd as broken, as well as its
reverse dependency perl-gdgraph.

Avoids:

  http://autobuild.buildroot.org/results/228/228b43e67e683cecfa3851a8a030d06e9fdc6dac/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-27 21:31:02 +02:00
Jörg Krause 5e6b7159d7 package/mpd: opus plugin needs libogg as well
Fixes http://autobuild.buildroot.net/results/492/4924194292a428a295ded2f7aa0b9a3f81ed1b4a/

The opus decoder plugin depends on libopus and libogg.

[Peter: reworded commit message]
Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-27 16:49:51 +02:00
Gustavo Zacarias 5de840cc6a libev: don't install event.h
It's a 'compatibility layer' with libevent which we:
1) Don't need
2) Possibly outdated with respect to libevent2
3) Causes build failures

Fixes:
http://autobuild.buildroot.net/results/451/4510fe02ef3497803ed27bf339dca07b3b073c10/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-26 23:49:18 +02:00
Peter Korsgaard fdff715089 Update for 2014.08-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-26 10:26:38 +02:00
Yann E. MORIN 1939011ce6 package/infra: fix downloading versions with a slash
Since cset 54456cc (infra: consistently use double dollar signs...), it
is no longer possible to download versions with a slash in it, because
the _DL_VERSION variable is second-expanded, but the _VERSION variable
is immediately-expanded to have '/' substitued with '_'.

So, _DL_VERSION is only expanded at the time it is evaluated, and by
that time, we've lost the slashes in _VERSION.

Make the _DL_VERSION variables immediately-evaluated.

Fixes:
    https://bugs.busybox.net/show_bug.cgi?id=7328

Reported-by:  Vincent Stehlé <vincent.stehle@freescale.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc:  Vincent Stehlé <vincent.stehle@freescale.com>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Tested-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-25 23:08:17 +02:00
Romain Naour e05c6a791d package/libinput: fix build with libevdev
libevdev and libinput use the same function name (log_msg).
An easy fix is to rename one of the two functions.

Fixes:
http://autobuild.buildroot.net/results/b1e/b1ea94f09d6f7459e3d7794c4a62bbdbb53d5da6/build-end.log

[Thomas: slightly reword the patch description.]

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-25 20:12:04 +02:00
Romain Naour 16c1af8d9d package/libevas-generic-loaders: needs zlib
Fixes:
http://autobuild.buildroot.net/results/5d4/5d41cec63a15dc5f31460c8cecd6054119ddb1fc/build-end.log

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-25 20:07:50 +02:00
Romain Naour 47128a9b82 package/procps-ng: fix linking with intl
procps-ng doesn't build with (e)glibc toolchain when gettext package is
selected.

With (e)glibc libintl is provided by the libc whereas with uClibc it's provided
by gettext.

Linking with intl is only needed if the toolchain needs gettext and locale is
set.

Fixes:
http://autobuild.buildroot.net/results/3e8/3e8464e0b00ce22fa02a6337159fca250d86425c/build-end.log

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-25 19:55:20 +02:00
Gustavo Zacarias 374adc17a0 php: security bump to version 5.5.16
Fixes:
CVE-2014-3538 - Extensive backtracking in rule regular expression
CVE-2014-3587 - Segfault in cdf.c
CVE-2014-2497 - php-gd 'c_color' NULL pointer dereference
CVE-2014-5120 - Null byte injection possible with imagexxx functions
CVE-2014-3597 - segfault in dns_get_record

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-25 19:50:30 +02:00
Thomas De Schampheleire f21256b86a manual: file organization: rename files to match new section title
After the renaming of some sections, rename the corresponding files for
clarity.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-21 15:39:33 +02:00
Thomas De Schampheleire a14ce4d57c manual: file organization: avoid unnecessary indirection
Some source files of the manual merely contain inclusion of other files.
Especially at top-level this is unnecessary, and one could just as well add
these includes in manual.txt.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-21 15:39:33 +02:00
Thomas De Schampheleire 5a980678f6 manual/user guide: rework 'Configuration of other components' chapter
This patch reworks the chapter 'Configuration of other components' as
follows:
- remove separate customize-xxx-config.txt files in favor of one shared file
  configure-other-componenents.txt
- use labeled list instead of separate sections, as the information in each
  section is limited.
- simplify instructions for busybox/uclibc thanks to the kconfig-package
  infrastructure
- rewrite instructions for Linux
- add instructions for Barebox

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-21 15:39:33 +02:00
Thomas De Schampheleire 47c1c50134 manual/user guide: move tip on configuration searches
This patch moves the tip on searching in the configuration editors into the
section 'Buildroot configuration', which is more logical.

The wording of that section is slightly adapted to fit this new part.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-21 15:39:32 +02:00
Thomas De Schampheleire 77007ad950 manual/user guide: high-level restructuring
This patch performs some additional restructuring of the manual,
specifically in the User Guide. In detail:

- Rename 'Daily use' to 'General Buildroot usage'
- Move chapters 'make tips', 'Eclipse integration', and 'Advanced usage' as
  sections under the 'General Buildroot usage' chapter.
- Rename 'Details on Buildroot configuration' into 'Buildroot configuration'
- Rework the 'Customization' section as follows:
  - Move the short section on debugging the external toolchain wrapper into
    the rest of the explanation on external toolchains.
  - Remove the now redundant section on toolchains, as this is already
    explained in much more detail in the 'Buildroot configuration' chapter.
  - Move the sections on busybox/uclibc/kernel configuration from chapter
    'Customization' into a separate chapter 'Configuration of other
    components'.
  - Rename the remaining part of the original 'Customization' chapter into
    'Project-specific customization' and fold it together with the next
    chapter 'Storing the configuration'
- Remove the chapter 'Going further in Buildroot innards' thanks to:
  - Moving the chapter 'How Buildroot works' to the Developer guide.
  - Moving the 'Advanced Buildroot usage' section to the 'General Buildroot
    usage' chapter.
- Remove the chapter 'Hacking Buildroot' by:
  - Adding a reference to adding packages to the 'Project-specific
    customizations' chapter
  - Leaving out the explicit reference to creating board support, as this is
    part of the previous chapter already, so an extra reference is
    redundant.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-21 15:39:32 +02:00
Thomas De Schampheleire 3afdf89f69 manual/getting started: minor improvements to 'Using Buildroot' section
This patch renames the section 'Using Buildroot' into 'Buildroot quick
start' as real details about Buildroot usage will be in the User Guide
rather than in 'Getting Started'.

Additionally, add a cross-reference to the section about configuring
Buildroot.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-21 15:39:32 +02:00
Romain Naour 1d57260757 package/ltris: fix linking with intl
ltris doen't build with (e)glibc toolchain since commit 454a41016f
when gettext package is selected.

With (e)glibc libintl is provided by the libc whereas with uClibc it's provided by gettext.

Linking with intl is only needed if the toolchain needs gettext and locale is set.

Fixes:
http://autobuild.buildroot.net/results/821/82128cb9f5cd6ae2595a8302462f1b5719dad9f7/build-end.log

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-21 15:36:01 +02:00
Romain Naour 56ed21e726 package/lbreakout2: fix linking with intl
lbreakout2 doen't build with (e)glibc toolchain when gettext package is selected.

With (e)glibc libintl is provided by the libc whereas with uClibc it's provided by gettext.

Linking with intl is only needed if the toolchain needs gettext and locale is set.

Fixes:
http://autobuild.buildroot.net/results/a77/a77dd3e18cc4a5e8300ab33eb532cc03d0156f7f/build-end.log

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-21 15:34:47 +02:00
Jonathan Ben Avraham e1d7f2dc8f usb_modeswitch: more descriptive help text
Provides a fuller description of the USB_ModeSwitch functionality for
the benefit of the otherwise clueless.

[Thomas: minor formatting and wording fixes.]

Signed-off-by: Jonathan Ben-Avraham <yba@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-21 15:29:02 +02:00
Romain Naour b840bc6345 package/xmlstarlet: fix static linking
The static linking with libxml2 and lib(e)xslt (--enable-static-libs)
need to be enabled when BR2_PREFER_STATIC_LIB is set.

Fixes:
http://autobuild.buildroot.net/results/0fd/0fd4a65ab98a4cf3fe893c29628608a71e96ecbc/build-end.log

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-21 15:25:50 +02:00
Danomi Manchego 5400717833 tvheadend: fix undefined variable in error print
The variable "$SCRIPTNAME" is undefined; replace with "$0".

Also, fix "Stopping" spelling.

Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-21 15:23:02 +02:00
Danomi Manchego 1b86a60d7a ntp: fix undefined variable in error print
The variable "$SCRIPTNAME" is undefined; replace with "$0".

Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-21 15:22:47 +02:00
Alexey Brodkin 520e74f2b5 gstreamer{, 1}: fix unaligned access detection for arc
Fixes the same issue as reported for microblaze here
http://autobuild.buildroot.net/results/f49/f4914bb3999c8a7a0c0a2afdac5de40fb9058372/

Similar to the existing handling for avr32, microblaze and xtensa.
Also add it for gstreamer1 for good measure as it was missing there as well.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>

Cc: Anton Kolesov <akolesov@synopsys.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-21 15:21:46 +02:00
Benoît Thébaudeau 9579e6aac3 imagemagick: Disable OpenMP
By default (i.e. without adding libgomp.so* to
BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS), if an external toolchain with libgomp
support is used, then libgomp is installed to staging/ , but not to target/ .
Consequently, with such a toolchain, imagemagick's configure detected libgomp as
supported and enabled its usage for the build stage, but then it failed to run
on the target because libgomp was missing. This is the bug #7322.

Disable OpenMP for imagemagick as a temporary workaround, until a better long
term solution is agreed on and implemented.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-21 15:19:47 +02:00
Romain Naour f67e7ba06f package/gutenprint: replaces -static with -static-libtool-libs
gutenprint rely on the original behaviour of -static, but since commit
in buildroot "support/libtool: make -static behave like -all-static" [1],
the build of genppd is broken.

genppd need to be build statically otherwise the following warning appears:
***WARNING: Use of --disable-static-genppd or --disable-static
            when building CUPS is very dangerous.  The build may
            fail when building the PPD files, or may *SILENTLY*
            build incorrect PPD files or cause other problems.
            Please review the README and release notes carefully!

[1] http://git.buildroot.net/buildroot/commit/?id=97703978ac870ce2b14ad144f8e082de82aa2c64

Fixes:
http://autobuild.buildroot.net/results/55f/55f78104d7a5d11baf5650ac12aaa1b23c2b7743/build-end.log
http://autobuild.buildroot.net/results/fc8/fc8cfe3f27ceaca70c7471c44305317c66cb0eea/build-end.log

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:04:58 +02:00
Yann E. MORIN a690fea1ac arch: remove no-longer default on atomics option
Now that all architectures explicitly select this option when it makes
sense, there is no need to have a default value.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:03:36 +02:00
Yann E. MORIN 6a1f8b712d arch/xtensa: always has atomic ops
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:03:28 +02:00
Yann E. MORIN 4f07578a86 arch/x86: all x86 but i386 has atomics operations
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:03:16 +02:00
Yann E. MORIN da86e94f80 arch/sparc: always has atomic ops
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:03:09 +02:00
Yann E. MORIN 5d22b6e06c arch/sh: always has atomic ops
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:03:02 +02:00
Yann E. MORIN 84e8a337d5 arch/powerpc: always has atomic ops
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:02:57 +02:00
Yann E. MORIN 700080c494 arch/nios2: always has atomic ops
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:02:51 +02:00
Yann E. MORIN 4e99ab9bd7 arch/mips: always has atomic ops
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:02:41 +02:00
Yann E. MORIN 85da209efb arch/microblaze: always has atomic ops
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:02:31 +02:00
Yann E. MORIN 0d79bc13ec arch/m68k: always has atomic ops
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:01:40 +02:00
Yann E. MORIN 5b98309f59 arch/bfin: always has atomic ops
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:01:31 +02:00
Yann E. MORIN 116f63f4d7 arch/avr32: always has atomic ops
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:01:22 +02:00
Yann E. MORIN b8a8263858 arch/arm: always has atomic ops
armv6 and above all have one sort of atomic ops or another. For armv5
and below, they are emulated, either as a kernel trap, a kernel VDSO,
or compiler intrinsics.

Aarch64 is just armv8, so make it a single commit. ;-)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:00:51 +02:00
Anton Kolesov b63ede67ea msgpack: add dependency on atomic operations
This fixes:
http://autobuild.buildroot.net/results/44849a386cefb8899f4560296bfbbd8ea19ee910/

Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
[yann.morin.1998@free.fr: use the new symbol; remove comment strings]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:00:34 +02:00
Anton Kolesov 669ce8c75e libftdi: add dependency on atomic operations
This fixes:
http://autobuild.buildroot.net/results/6cb25ed954840109c9d0e582e922b0ba9d07e174/

Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
[yann.morin.1998@free.fr: use the new symbol; remove comment strings]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:00:17 +02:00
Anton Kolesov 8277bb18db pulseaudio: add dependency on atomic operations
This fixes:
http://autobuild.buildroot.net/results/d463f3bf730a600a07ed6cd33695bf45e9fd3540/

Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
[yann.morin.1998@free.fr: use the new symbol; remove comment strings]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 11:00:07 +02:00
Anton Kolesov da2f182237 cairo: add dependency on atomic operations
This fixes:
http://autobuild.buildroot.net/results/fadfaa9916724d310d0dda555a1db31bee1601d0/

Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
[yann.morin.1998@free.fr: use the new symbol; remove comment strings;
 fix weston's comment]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 10:58:21 +02:00
Anton Kolesov a30b868de6 manual: document dependencies on atomic operations
Add atomic operations to the list of generic dependencies.

Since this is an architecture option, there is no comment string to be
added.

Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
[yann.morin.1998@free.fr: use the new arch-option; remove comment string]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 10:58:15 +02:00
Yann E. MORIN 6172ceb3cf toolchain: drop the now-unused old BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
It's now been replaced with BR2_ARCH_HAS_ATOMICS, annd all packages have
been changed to use that instead.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 10:57:55 +02:00
Yann E. MORIN 08a024b3ed package/thrift: use the new ARCH_HAS_ATOMICS as dependency
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 10:57:27 +02:00
Yann E. MORIN f346af2868 package/jack2: use the new ARCH_HAS_ATOMICS as dependency
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 10:57:20 +02:00
Yann E. MORIN a251d1b78a package/libtorrent: use the new ARCH_HAS_ATOMICS as dependency
And propagate to the reverse dependencies of libtorrent

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 10:56:59 +02:00
Yann E. MORIN 19237110da package/icu: use the new ARCH_HAS_ATOMICS as dependency
And propagate to the reverse dependencies of icu.
Also, fix beecrypt's comment: only the C++ support needs atomics.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 10:56:42 +02:00
Yann E. MORIN 1b5f0fc8df arch: add an option to specify if the arch has atomic ops
The fact that atomic operations are available is not really a
specificity of the toolchain, but rather of the architecture.

So, add a new option that architectures that have atomic operations
can select. This in turn selects the current toolchain atomic option,
until all packages have been converted, at which point the old
toolchain option can be removed.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 10:56:35 +02:00
Thomas Petazzoni 2289c34a19 docs/manual: update documentation about gettext handling
This commit updates the Buildroot manual regarding how gettext related
issues are handled, now that we have cases where the gettext package
should be selected even with glibc toolchains.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 10:36:31 +02:00
Thomas Petazzoni effe0beb1d ecryptfs-utils: select gettext, needed for command line utilities
The ecryptfs-utils package requires the 'gettext' program, which is
provided by the gettext package, to get translated strings. This is
needed regardless of whether the toolchain uses glibc or uClibc.

This issue was reported by 'ausjke' on IRC.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 10:36:01 +02:00
Thomas Petazzoni 2bc3bca6d8 gettext: allow building when BR2_NEEDS_GETTEXT is not selected
Until now, we thought that gettext was only needed for the target for
uClibc toolchains, to provide the gettext functions that are normally
provided directly by glibc.

However, the gettext runtime actually does more than providing the
equivalent of those C library functions: it also provides certain
command line tools, like 'gettext' to get translated strings from the
shell. This tool is for example used by certain ecryptfs-utils scripts
to get translated strings. It is therefore necessary to be able to
build the gettext package even for glibc toolchains.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 10:35:56 +02:00
133 changed files with 1612 additions and 479 deletions
+34
View File
@@ -1,3 +1,37 @@
2014.08, Released September 1st, 2014
Minor manual fixes/additions.
Updated/fixed packages: btrfs-progs, cmake, cppcms, exim,
lftp, libdaemon, libev, libgpgme, libiqrf, libnl, libplist,
libroxml, libwebsockets, mesa3d, mpd, mtdev2tuio, musepack,
perl-gd, php-geoip, php-gnupg, php-imagick, php-memcached,
php-ssh2, php-yaml, php-zmq, polarssl, ruby, systemd, taglib,
uboot-tools, upmpdcli, webkit, xapp_xfs, xapp_luit,
xscreensaver, yajl
Issues resolved (http://bugs.uclibc.org):
#7346: vim-8ae50e3ef8bf.tar.gz can not be downloaded, 404 not found
2014.08-rc3, Released August 26th, 2014
Minor fixes.
User manual update / restructuring.
Updated/fixed packages: cairo, ecryptfs-utils, gettext,
gstreamer, gstreamer1, gutenprint, icu, imagemagick, jack2,
lbreakout2, libevas-generic-loaders, libftdi, libinput,
libtorrent, ltris, msgpack, ntp, php, procps-ng, pulseaudio,
thrift, tvheadend, usb_modeswitch, xmlstarlet,
Issues resolved (http://bugs.uclibc.org):
#7136: ecryptfs-utils needs gettext to run when glibc/eglibc...
#7322: libgomp dependency issue with imagemagick
#7328: Git dl of versions in x/y broken
2014.08-rc2, Released August 18th, 2014
Fixes all over the tree.
+1 -1
View File
@@ -25,7 +25,7 @@
#--------------------------------------------------------------
# Set and export the version string
export BR2_VERSION := 2014.08-rc2
export BR2_VERSION := 2014.08
# Check for minimal make version (note: this check will break at make 10.x)
MIN_MAKE_VERSION = 3.81
+4
View File
@@ -250,6 +250,10 @@ config BR2_GCC_TARGET_FLOAT_ABI
config BR2_GCC_TARGET_MODE
string
# If the architecture has atomic operations, select this:
config BR2_ARCH_HAS_ATOMICS
bool
# Set up target binary format
choice
prompt "Target Binary Format"
+3
View File
@@ -3,3 +3,6 @@ config BR2_ARCH
config BR2_ENDIAN
default "LITTLE"
config BR2_ARCH_HAS_ATOMICS
default y
+1 -1
View File
@@ -1,7 +1,7 @@
# Choise of atomic instructions presence
config BR2_ARC_ATOMIC_EXT
bool "Atomic extension (LLOCK/SCOND instructions)"
select BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
select BR2_ARCH_HAS_ATOMICS
config BR2_ARCH
default "arc" if BR2_arcle
+3
View File
@@ -340,6 +340,9 @@ config BR2_ENDIAN
default "LITTLE" if BR2_arm
default "BIG" if BR2_armeb
config BR2_ARCH_HAS_ATOMICS
default y
config BR2_GCC_TARGET_CPU
default "arm920" if BR2_arm920
default "arm920t" if BR2_arm920t
+3
View File
@@ -6,3 +6,6 @@ config BR2_ENDIAN
config BR2_GCC_TARGET_ARCH
default "ap"
config BR2_ARCH_HAS_ATOMICS
default y
+3
View File
@@ -68,6 +68,9 @@ config BR2_ARCH
config BR2_ENDIAN
default "LITTLE"
config BR2_ARCH_HAS_ATOMICS
default y
config BR2_GCC_TARGET_CPU
default bf606 if BR2_bf606
default bf607 if BR2_bf607
+3
View File
@@ -4,6 +4,9 @@ config BR2_ARCH
config BR2_ENDIAN
default "BIG"
config BR2_ARCH_HAS_ATOMICS
default y
config BR2_GCC_TARGET_TUNE
default "68000" if BR2_m68k_68000
default "68010" if BR2_m68k_68010
+3
View File
@@ -9,3 +9,6 @@ config BR2_ENDIAN
config BR2_microblaze
bool
default y if BR2_microblazeel || BR2_microblazebe
config BR2_ARCH_HAS_ATOMICS
default y
+3
View File
@@ -73,6 +73,9 @@ config BR2_ENDIAN
default "LITTLE" if BR2_mipsel || BR2_mips64el
default "BIG" if BR2_mips || BR2_mips64
config BR2_ARCH_HAS_ATOMICS
default y
config BR2_GCC_TARGET_ARCH
default "mips1" if BR2_mips_1
default "mips2" if BR2_mips_2
+3
View File
@@ -3,3 +3,6 @@ config BR2_ARCH
config BR2_ENDIAN
default "LITTLE"
config BR2_ARCH_HAS_ATOMICS
default y
+3
View File
@@ -157,6 +157,9 @@ config BR2_ENDIAN
default "BIG" if BR2_powerpc || BR2_powerpc64
default "LITTLE" if BR2_powerpc64le
config BR2_ARCH_HAS_ATOMICS
default y
config BR2_GCC_TARGET_TUNE
default "401" if BR2_powerpc_401
default "403" if BR2_powerpc_403
+3
View File
@@ -28,3 +28,6 @@ config BR2_ARCH
config BR2_ENDIAN
default "LITTLE" if BR2_sh4 || BR2_sh4a || BR2_sh64
default "BIG" if BR2_sh2a || BR2_sh4eb || BR2_sh4aeb
config BR2_ARCH_HAS_ATOMICS
default y
+3
View File
@@ -23,6 +23,9 @@ config BR2_ARCH
config BR2_ENDIAN
default "BIG"
config BR2_ARCH_HAS_ATOMICS
default y
config BR2_GCC_TARGET_TUNE
default "v8" if BR2_sparc_v8
+3
View File
@@ -202,6 +202,9 @@ config BR2_ARCH
config BR2_ENDIAN
default "LITTLE"
config BR2_ARCH_HAS_ATOMICS
default y if !BR2_x86_i386
config BR2_GCC_TARGET_TUNE
default "i386" if BR2_x86_i386
default "i486" if BR2_x86_i486
+3
View File
@@ -35,3 +35,6 @@ config BR2_XTENSA_OVERLAY_DIR
config BR2_ARCH
default "xtensa" if BR2_xtensa
config BR2_ARCH_HAS_ATOMICS
default y
+12 -12
View File
@@ -4,32 +4,32 @@
<p>
The latest stable release is <b>2014.05</b>, which can be downloaded
The latest stable release is <b>2014.08</b>, which can be downloaded
here:<p>
<a href="/downloads/buildroot-2014.05.tar.gz">buildroot-2014.05.tar.gz</a>
(<a href="/downloads/buildroot-2014.05.tar.gz.sign">PGP signature</a>)
<a href="/downloads/buildroot-2014.08.tar.gz">buildroot-2014.08.tar.gz</a>
(<a href="/downloads/buildroot-2014.08.tar.gz.sign">PGP signature</a>)
or
<a href="/downloads/buildroot-2014.05.tar.bz2">buildroot-2014.05.tar.bz2</a>
(<a href="/downloads/buildroot-2014.05.tar.bz2.sign">PGP signature</a>).
<a href="/downloads/buildroot-2014.08.tar.bz2">buildroot-2014.08.tar.bz2</a>
(<a href="/downloads/buildroot-2014.08.tar.bz2.sign">PGP signature</a>).
<p>
The latest release candidate is <b>2014.08-rc2</b>, which can be
<!--
The latest release candidate is <b>2014.08-rc3</b>, which can be
downloaded here:<p>
<a href="/downloads/buildroot-2014.08-rc2.tar.gz">buildroot-2014.08-rc2.tar.gz</a>
(<a href="/downloads/buildroot-2014.08-rc2.tar.gz.sign">PGP signature</a>)
<a href="/downloads/buildroot-2014.08-rc3.tar.gz">buildroot-2014.08-rc3.tar.gz</a>
(<a href="/downloads/buildroot-2014.08-rc3.tar.gz.sign">PGP signature</a>)
or
<a href="/downloads/buildroot-2014.08-rc2.tar.bz2">buildroot-2014.08-rc2.tar.bz2</a>
(<a href="/downloads/buildroot-2014.08-rc2.tar.bz2.sign">PGP signature</a>).
<a href="/downloads/buildroot-2014.08-rc3.tar.bz2">buildroot-2014.08-rc3.tar.bz2</a>
(<a href="/downloads/buildroot-2014.08-rc3.tar.bz2.sign">PGP signature</a>).
<p>
This and earlier releases (and their PGP signatures) can always be downloaded from
<a href="/downloads/">http://buildroot.net/downloads/</a>.
<p>
-->
You can also obtain daily snapshots of the latest Buildroot source tree if you
want to follow development, but cannot or do not wish to use Git.
@@ -219,6 +219,11 @@ use in the comment.
** Dependency symbol: +BR2_USE_MMU+
** Comment string: no comment to be added
* Atomic instructions (whereby the architecture has instructions to
perform some operations atomically, like LOCKCMPXCHG on x86)
** Dependency symbol: +BR2_ARCH_HAS_ATOMICS+
** Comment string: no comment to be added
* Kernel headers
** Dependency symbol: +BR2_TOOLCHAIN_HEADERS_AT_LEAST_X_Y+, (replace
+X_Y+ with the proper version, see +toolchain/toolchain-common.in+)
+22 -7
View File
@@ -8,15 +8,22 @@ library. Dependencies for this library are fairly complicated and
therefore, deserve some explanation.
The 'uClibc' C library doesn't implement gettext functionality;
therefore with this C library, a separate gettext must be compiled. On
the other hand, the 'glibc' C library does integrate its own gettext,
and in this case the separate gettext library should not be compiled,
because it creates various kinds of build failures.
therefore with this C library, a separate gettext must be compiled,
which is provided by the additional +libintl+ library, part of the
+gettext+ package.
On the other hand, the 'glibc' C library does integrate its own
gettext library functions, so it is not necessary to build a separate
+libintl+ library.
However, certain packages need some gettext utilities on the target,
such as the +gettext+ program itself, which allows to retrieve
translated strings, from the command line.
Additionally, some packages (such as +libglib2+) do require gettext
unconditionally, while other packages (those who support
+--disable-nls+ in general) only require gettext when locale support
is enabled.
functions unconditionally, while other packages (in general, those who
support +--disable-nls+) only require gettext functions when locale
support is enabled.
Therefore, Buildroot defines two configuration options:
@@ -44,3 +51,11 @@ should:
* use +$(if $(BR2_NEEDS_GETTEXT),gettext)+ in the package
+DEPENDENCIES+ variable in the +.mk+ file.
Packages that need the +gettext+ utilities on the target (should be
rare) should:
* use +select BR2_PACKAGE_GETTEXT+ in their +Config.in+ file,
indicating in a comment above that it's a runtime dependency only.
* not add any +gettext+ dependency in the +DEPENDENCIES+ variable of
their +.mk+ file.
+7 -1
View File
@@ -1,7 +1,9 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
== Daily use
== General Buildroot usage
include::make-tips.txt[]
include::rebuilding-packages.txt[]
@@ -262,3 +264,7 @@ only other format supported is PNG:
----------------
BR2_GRAPH_OUT=png make graph-build
----------------
include::eclipse-integration.txt[]
include::advanced.txt[]
@@ -0,0 +1,52 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
== Configuration of other components
Before attempting to modify any of the components below, make sure you
have already configured Buildroot itself, and have enabled the
corresponding package.
BusyBox::
+
If you already have a BusyBox configuration file, you can directly
specify this file in the Buildroot configuration, using
+BR2_PACKAGE_BUSYBOX_CONFIG+. Otherwise, Buildroot will start from a
default BusyBox configuration file.
+
To make subsequent changes to the configuration, use +make
busybox-menuconfig+ to open the BusyBox configuration editor.
+
It is also possible to specify a BusyBox configuration file through an
environment variable, although this is not recommended. Refer to
xref:env-vars[] for more details.
uClibc::
+
Configuration of uClibc is done in the same way as for BusyBox. The
configuration variable to specify an existing configuration file is
+BR2_UCLIBC_CONFIG+. The command to make subsequent changes is +make
uclibc-menuconfig+.
Linux kernel::
+
If you already have a kernel configuration file, you can directly
specify this file in the Buildroot configuration, using
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG+.
+
If you do not yet have a kernel configuration file, you can either start
by specifying a defconfig in the Buildroot configuration, using
+BR2_LINUX_KERNEL_USE_DEFCONFIG+, or start by creating an empty file and
specifying it as custom configuration file, using
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG+.
+
To make subsequent changes to the configuration, use +make
linux-menuconfig+ to open the Linux configuration editor.
Barebox::
+
Configuration of Barebox is done in the same way as for the Linux
kernel. The corresponding configuration variables are
+BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG+ and
+BR2_TARGET_BAREBOX_USE_DEFCONFIG+. To open the configuration editor,
use +make barebox-menuconfig+.
+33 -4
View File
@@ -2,12 +2,27 @@
// vim: set syntax=asciidoc:
[[configure]]
== Details on Buildroot configuration
== Buildroot configuration
All the configuration options in +make *config+ have a help text
providing details about the option. However, a number of topics
require additional details that cannot easily be covered in the help
text and are there covered in the following sections.
providing details about the option.
The +make *config+ commands also offer a search tool. Read the help
message in the different frontend menus to know how to use it:
* in _menuconfig_, the search tool is called by pressing +/+;
* in _xconfig_, the search tool is called by pressing +Ctrl+ + +f+.
The result of the search shows the help message of the matching items.
In _menuconfig_, numbers in the left column provide a shortcut to the
corresponding entry. Just type this number to directly jump to the
entry, or to the containing menu in case the entry is not selectable due
to a missing dependency.
Although the menu structure and the help text of the entries should be
sufficiently self-explanatory, a number of topics require additional
explanation that cannot easily be covered in the help text and are
therefore covered in the following sections.
=== Cross-compilation toolchain
@@ -215,6 +230,20 @@ Drawbacks of this backend:
fix from the toolchain vendor, unless you build your external
toolchain by yourself using Crosstool-NG.
===== External toolchain wrapper
When using an external toolchain, Buildroot generates a wrapper program,
that transparently passes the appropriate options (according to the
configuration) to the external toolchain programs. In case you need to
debug this wrapper to check exactly what arguments are passed, you can
set the environment variable +BR2_DEBUG_WRAPPER+ to either one of:
* +0+, empty or not set: no debug
* +1+: trace all arguments on a single line
* +2+: trace one argument per line
=== /dev management
On a Linux system, the +/dev+ directory contains special files, called
-26
View File
@@ -1,26 +0,0 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
[[busybox-custom]]
=== Customizing the BusyBox configuration
http://www.busybox.net/[BusyBox] is very configurable, and you may
want to customize it. You can follow these simple steps to do so. This
method isn't optimal, but it's simple, and it works:
* Do an initial compilation of Buildroot, with busybox, without
trying to customize it.
* Invoke +make busybox-menuconfig+.
The nice configuration tool appears, and you can
customize everything.
* Run the compilation of Buildroot again.
Otherwise, you can simply change the
+package/busybox/busybox-<version>.config+ file, if you know the
options you want to change, without using the configuration tool.
If you want to use an existing config file for busybox, then see
xref:env-vars[].
@@ -0,0 +1,59 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
[[customize-dir-structure]]
=== Recommended directory structure
When customizing Buildroot for your project, you will be creating one or
more project-specific files that need to be stored somewhere. While most
of these files could be placed in _any_ location as their path is to be
specified in the Buildroot configuration, the Buildroot developers
recommend a specific directory structure which is described in this
section.
Orthogonal to this directory structure, you can choose _where_ you place
this structure itself: either inside the Buildroot tree, or outside of
it using +BR2_EXTERNAL+. Both options are valid, the choice is up to you.
-----
+-- board/
| +-- <company>/
| +-- <boardname>/
| +-- linux.config
| +-- busybox.config
| +-- <other configuration files>
| +-- post_build.sh
| +-- post_image.sh
| +-- rootfs_overlay/
| | +-- etc/
| | +-- <some file>
| +-- patches/
| +-- foo/
| | +-- <some patch>
| +-- libbar/
| +-- <some other patches>
|
+-- configs/
| +-- <boardname>_defconfig
|
+-- package/
| +-- <company>/
| +-- Config.in (if not using BR2_EXTERNAL)
| +-- <company>.mk (if not using BR2_EXTERNAL)
| +-- <boardname>/
| +-- package1/
| | +-- Config.in
| | +-- package1.mk
| +-- package2/
| +-- Config.in
| +-- package2.mk
|
+-- Config.in (if using BR2_EXTERNAL)
+-- external.mk (if using BR2_EXTERNAL)
------
Details on the files shown above are given further in this chapter.
Note: if you choose to place this structure outside of the Buildroot
tree using +BR2_EXTERNAL+, the <company> and possibly <boardname>
components may be superfluous and can be left out.
-15
View File
@@ -1,15 +0,0 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
[[kernel-custom]]
=== Customizing the Linux kernel configuration
The Linux kernel configuration can be customized just like
xref:busybox-custom[BusyBox] and xref:uclibc-custom[uClibc] using
+make linux-menuconfig+. Make sure you have enabled the kernel build
in +make menuconfig+ first. Once done, run +make+ to (re)build
everything.
If you want to use an existing config file for Linux, then see
xref:env-vars[].
+29 -61
View File
@@ -1,30 +1,25 @@
// -*- mode:doc -*- ;
[[outside-br-custom]]
=== Keeping customizations outside Buildroot
=== Keeping customizations outside of Buildroot
The Buildroot community recommends and encourages upstreaming to the
official Buildroot version the packages and board support that are
written by developers. However, it is sometimes not possible or
desirable because some of these packages or board support are highly
specific or proprietary.
As already briefly mentioned in xref:customize-dir-structure[], you can
place project-specific customizations in two locations:
In this case, Buildroot users are offered two choices:
* directly within the Buildroot tree, typically maintaining them using
branches in a version control system so that upgrading to a newer
Buildroot release is easy.
* They can add their packages, board support and configuration files
directly within the Buildroot tree, and maintain them by using
branches in a version control system.
* They can use the +BR2_EXTERNAL+ mechanism, which allows to keep
package recipes, board support and configuration files outside of
the Buildroot tree, while still having them nicely integrated in
the build logic. The following paragraphs give details on how to
use +BR2_EXTERNAL+.
* outside of the Buildroot tree, using the +BR2_EXTERNAL+ mechanism.
This mechanism allows to keep package recipes, board support and
configuration files outside of the Buildroot tree, while still
having them nicely integrated in the build logic. This section
explains how to use +BR2_EXTERNAL+.
+BR2_EXTERNAL+ is an environment variable that can be used to point to
a directory that contains Buildroot customizations. It can be passed
to any Buildroot +make+ invocation. It is automatically saved in the
hidden +.br-external+ file in the output directory. By doing this,
hidden +.br-external+ file in the output directory. Thanks to this,
there is no need to pass +BR2_EXTERNAL+ at every +make+ invocation. It
can however be changed at any time by passing a new value, and can be
removed by passing an empty value.
@@ -32,7 +27,7 @@ removed by passing an empty value.
*Note:* the +BR2_EXTERNAL+ path can be either an absolute or a relative path,
but if it's passed as a relative path, it is important to note that it
is interpreted relative to the main Buildroot source directory, *not*
the Buildroot output directory.
to the Buildroot output directory.
Some examples:
@@ -40,7 +35,7 @@ Some examples:
buildroot/ $ make BR2_EXTERNAL=/path/to/foobar menuconfig
-----
Starting from now on, external definitions from the +/path/to/foobar+
From now on, external definitions from the +/path/to/foobar+
directory will be used:
-----
@@ -60,7 +55,7 @@ Or disable the usage of external definitions:
buildroot/ $ make BR2_EXTERNAL= xconfig
-----
+BR2_EXTERNAL+ then allows three different things:
+BR2_EXTERNAL+ allows three different things:
* One can store all the board-specific configuration files there,
such as the kernel configuration, the root filesystem overlay, or
@@ -72,63 +67,36 @@ Or disable the usage of external definitions:
filesystem overlay), or the +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+
Buildroot option to
+$(BR2_EXTERNAL)/board/<boardname>/kernel.config+ (to specify the
location of the kernel configuration file). To achieve this, it is
recommended but not mandatory, to store those details in
directories called +board/<boardname>/+ under +BR2_EXTERNAL+. This
matches the directory structure used within Buildroot.
location of the kernel configuration file).
* One can store package recipes (i.e. +Config.in+ and
+<packagename>.mk+), or even custom configuration options and make
logic. Buildroot automatically includes +BR2_EXTERNAL/Config.in+ to
logic. Buildroot automatically includes +$(BR2_EXTERNAL)/Config.in+ to
make it appear in the top-level configuration menu, and includes
+BR2_EXTERNAL/external.mk+ with the rest of the makefile logic.
+$(BR2_EXTERNAL)/external.mk+ with the rest of the makefile logic.
Providing those two files is mandatory, but they can be empty.
+
The main usage of this is to store package recipes. The recommended
way to do this is to write a +BR2_EXTERNAL/Config.in+ that looks
like:
way to do this is to write a +$(BR2_EXTERNAL)/Config.in+ file that
looks like:
+
------
source "$BR2_EXTERNAL/package/package1/Config.in"
source "$BR2_EXTERNAL/package/package2/Config.in"
source "$BR2_EXTERNAL/package/<boardname>/package1/Config.in"
source "$BR2_EXTERNAL/package/<boardname>/package2/Config.in"
------
+
Then, have a +BR2_EXTERNAL/external.mk+ file that looks like:
Then, have a +$(BR2_EXTERNAL)/external.mk+ file that looks like:
+
------
include $(sort $(wildcard $(BR2_EXTERNAL)/package/*/*.mk))
include $(sort $(wildcard $(BR2_EXTERNAL)/package/*/*/*.mk))
------
+
And then in +BR2_EXTERNAL/package/package1+ and
+BR2_EXTERNAL/package/package2+ create normal Buildroot package
recipes, as explained in xref:adding-packages[].
And then in +$(BR2_EXTERNAL)/package/<boardname>/package1+ and
+$(BR2_EXTERNAL)/package/<boardname>/package2+ create normal Buildroot
package recipes, as explained in xref:adding-packages[].
* One can store Buildroot defconfigs in the +configs+ subdirectory of
+BR2_EXTERNAL+. Buildroot will automatically show them in the
+$(BR2_EXTERNAL)+. Buildroot will automatically show them in the
output of +make help+ and allow them to be loaded with the normal
+make <name>_defconfig+ command. They will be visible under the
+User-provided configs:+' label in the 'make help' output.
In the end, a typical +BR2_EXTERNAL+ directory organization would
generally be:
-----
$(BR2_EXTERNAL)/
+-- Config.in
+-- external.mk
+-- board/
| +-- <boardname>/
| +-- linux.config
| +-- overlay/
| +-- etc/
| +-- <some file>
+-- configs/
| +-- <boardname>_defconfig
+-- package/
+-- package1/
| +-- Config.in
| +-- package1.mk
+-- package2/
+-- Config.in
+-- package2.mk
------
+User-provided configs+' label in the 'make help' output.
+37
View File
@@ -0,0 +1,37 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
=== Customization _after_ the images have been created
While post-build scripts (xref:rootfs-custom[]) are run _before_
building the filesystem image, kernel and bootloader, *post-image
scripts* can be used to perform some specific actions _after_ all images
have been created.
Post-image scripts can for example be used to automatically extract your
root filesystem tarball in a location exported by your NFS server, or
to create a special firmware image that bundles your root filesystem and
kernel image, or any other custom action required for your project.
To enable this feature, specify a space-separated list of post-image
scripts in config option +BR2_ROOTFS_POST_IMAGE_SCRIPT+ (in the +System
configuration+ menu). If you specify a relative path, it will be
relative to the root of the Buildroot tree.
Just like post-build scripts, post-image scripts are run with the main
Buildroot tree as current working directory. The path to the +images+
output directory is passed as the first argument to each script. If the
config option +BR2_ROOTFS_POST_SCRIPT_ARGS+ is not empty, these
arguments will be passed to the script too. All the scripts will be
passed the exact same set of arguments, it is not possible to pass
different sets of arguments to each script.
Again just like for the post-build scripts, the scripts have access to
the environment variables +BR2_CONFIG+, +HOST_DIR+, +STAGING_DIR+,
+TARGET_DIR+, +BUILD_DIR+, +BINARIES_DIR+ and +BASE_DIR+.
The post-image scripts will be executed as the user that executes
Buildroot, which should normally _not_ be the root user. Therefore, any
action requiring root permissions in one of these scripts will require
special handling (usage of fakeroot or sudo), which is left to the
script developer.
+82 -71
View File
@@ -4,85 +4,96 @@
[[rootfs-custom]]
=== Customizing the generated target filesystem
Besides changing one or another configuration through +make *config+,
there are a few ways to customize the resulting target filesystem.
Besides changing the configuration through +make *config+,
there are a few other ways to customize the resulting target filesystem.
* Customize the target filesystem directly and rebuild the image. The
target filesystem is available under +output/target/+. You can
simply make your changes here and run make afterwards - this will
rebuild the target filesystem image. This method allows you to do
anything to the target filesystem, but if you decide to completely
rebuild your toolchain and tools, these changes will be lost. This
solution is therefore only useful for quick tests only: _changes do
not survive the +make clean+ command_. Once you have validated your
changes, you should make sure that they will persist after a +make
clean+ by using one of the following methods.
The two recommended methods, which can co-exist, are root filesystem
overlay(s) and post build script(s).
* Create a filesystem overlay: a tree of files that are copied directly
over the target filesystem after it has been built. Set
+BR2_ROOTFS_OVERLAY+ to the top of the tree. +.git+, +.svn+, +.hg+
directories, +.empty+ files and files ending with +~+ are excluded.
_Among these first 3 methods, this one should be preferred_.
Root filesystem overlays (+BR2_ROOTFS_OVERLAY+)::
+
A filesystem overlay is a tree of files that is copied directly
over the target filesystem after it has been built. To enable this
feature, set config option +BR2_ROOTFS_OVERLAY+ (in the +System
configuration+ menu) to the root of the overlay. You can even specify
multiple overlays, space-separated. If you specify a relative path,
it will be relative to the root of the Buildroot tree. Hidden
directories of version control systems, like +.git+, +.svn+, +.hg+,
etc., files called +.empty+ and files ending in +~+ are excluded from
the copy.
* In the Buildroot configuration, you can specify the paths to one or
more *post-build scripts*. These scripts are called in the given order,
'after' Buildroot builds all the selected software, but 'before' the
rootfs images are assembled. The +BR2_ROOTFS_POST_BUILD_SCRIPT+ allows
you to specify the location of your post-build scripts. This option can be
found in the +System configuration+ menu. The destination root
filesystem folder is given as the first argument to these scripts,
and these scripts can then be used to remove or modify any file in your
Post-build scripts (+BR2_ROOTFS_POST_BUILD_SCRIPT+)::
+
Post-build scripts are shell scripts called 'after' Buildroot builds
all the selected software, but 'before' the rootfs images are
assembled. To enable this feature, specify a space-separated list of
post-build scripts in config option +BR2_ROOTFS_POST_BUILD_SCRIPT+ (in
the +System configuration+ menu). If you specify a relative path, it
will be relative to the root of the Buildroot tree.
+
Using post-build scripts, you can remove or modify any file in your
target filesystem. You should, however, use this feature with care.
Whenever you find that a certain package generates wrong or unneeded
files, you should fix that package rather than work around it with some
post-build cleanup scripts.
You may also use these variables in your post-build script:
- +BR2_CONFIG+: the path to the Buildroot .config file
- +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+: see
xref:generic-package-reference[]
- +BUILD_DIR+: the directory where packages are extracted and built
- +BINARIES_DIR+: the place where all binary files (aka images) are
stored
- +BASE_DIR+: the base output directory
+
The post-build scripts are run with the main Buildroot tree as current
working directory. The path to the target filesystem is passed as the
first argument to each script. If the config option
+BR2_ROOTFS_POST_SCRIPT_ARGS+ is not empty, these arguments will be
passed to the script too. All the scripts will be passed the exact
same set of arguments, it is not possible to pass different sets of
arguments to each script.
+
In addition, you may also use these environment variables:
* Create your own 'target skeleton'. You can start with the default
skeleton available under +system/skeleton+ and then customize it to
suit your needs. The +BR2_ROOTFS_SKELETON_CUSTOM+ and
+BR2_ROOTFS_SKELETON_CUSTOM_PATH+ will allow you to specify the
location of your custom skeleton. These options can be found in the
+System configuration+ menu. At build time, the contents of the
skeleton are copied to output/target before any package
installation. Note that this method is *not recommended*, as it
duplicates the entire skeleton, which prevents from taking advantage
of the fixes or improvements brought to the default Buildroot
skeleton. The recommended method is to use the _post-build scripts_
mechanism described in the previous item.
- +BR2_CONFIG+: the path to the Buildroot .config file
- +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+: see
xref:generic-package-reference[]
- +BUILD_DIR+: the directory where packages are extracted and built
- +BINARIES_DIR+: the place where all binary files (aka images) are
stored
- +BASE_DIR+: the base output directory
Note also that you can use the *post-image scripts*
if you want to perform some specific actions 'after' all
filesystem images have been created (for example to automatically
extract your root filesystem tarball in a location exported by your
NFS server, or to create a special firmware image that bundles your
root filesystem and kernel image, or any other custom action), you can
specify a space-separated list of scripts in the
+BR2_ROOTFS_POST_IMAGE_SCRIPT+ configuration option. This option can be
found in the +System configuration+ menu as well.
Below two more methods of customizing the target filesystem are
described, but they are not recommended.
Each of those scripts will be called with the path to the +images+
output directory as first argument, and will be executed with the main
Buildroot source directory as the current directory. Those scripts will
be executed as the user that executes Buildroot, which should normally
not be the root user. Therefore, any action requiring root permissions
in one of these _post-image scripts_ will require special handling
(usage of fakeroot or sudo), which is left to the script developer.
Direct modification of the target filesystem::
+
For temporary modifications, you can modify the target filesystem
directly and rebuild the image. The target filesystem is available
under +output/target/+. After making your changes, run +make+ to
rebuild the target filesystem image.
+
This method allows you to do anything to the target filesystem, but if
you need to clean your Buildroot tree using +make clean+, these
changes will be lost. Such cleaning is necessary in several cases,
refer to xref:full-rebuild[] for details. This solution is therefore
only useful for quick tests: _changes do not survive the +make clean+
command_. Once you have validated your changes, you should make sure
that they will persist after a +make clean+, using a root filesystem
overlay or a post-build script.
Just like for the _post-build scripts_ mentioned above, you also have
access to the following environment variables from your _post-image
scripts_: +BR2_CONFIG+, +BUILD_DIR+, +HOST_DIR+, +STAGING_DIR+,
+TARGET_DIR+, +BINARIES_DIR+ and +BASE_DIR+.
Additionally, each of the +BR2_ROOTFS_POST_BUILD_SCRIPT+ and
+BR2_ROOTFS_POST_IMAGE_SCRIPT+ scripts will be passed the arguments
specified in +BR2_ROOTFS_POST_SCRIPT_ARGS+ (if that is not empty).
All the scripts will be passed the exact same set of arguments, it
is not possible to pass different sets of arguments to each script.
Custom target skeleton (+BR2_ROOTFS_SKELETON_CUSTOM+)::
+
The root filesystem image is created from a target skeleton, on top of
which all packages install their files. The skeleton is copied to the
target directory +output/target+ before any package is built and
installed. The default target skeleton provides the standard Unix
filesystem layout and some basic init scripts and configuration files.
+
If the default skeleton (available under +system/skeleton+) does not
match your needs, you would typically use a root filesystem overlay or
post-build script to adapt it. However, if the default skeleton is
entirely different than what you need, using a custom skeleton may be
more suitable.
+
To enable this feature, enable config option
+BR2_ROOTFS_SKELETON_CUSTOM+ and set +BR2_ROOTFS_SKELETON_CUSTOM_PATH+
to the path of your custom skeleton. Both options are available in the
+System configuration+ menu. If you specify a relative path, it will
be relative to the root of the Buildroot tree.
+
This method is not recommended because it duplicates the entire
skeleton, which prevents taking advantage of the fixes or improvements
brought to the default skeleton in later Buildroot releases.
+2 -7
View File
@@ -1,8 +1,8 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
[[customize-store]]
== Storing the configuration
[[customize-store-basics]]
=== Basics for storing the configuration
When you have a buildroot configuration that you are satisfied with and
you want to share it with others, put it under revision control or move
@@ -12,11 +12,6 @@ consists of the buildroot configuration, the configuration files for
packages that you use (kernel, busybox, uClibc, ...), and your rootfs
modifications.
[[customize-store-basics]]
=== Basics for storing the configuration
[[customize-store-buildroot-config]]
==== Buildroot configuration
-49
View File
@@ -1,49 +0,0 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
[[toolchain-custom]]
=== Customizing the toolchain
There are three distinct types of toolchain backend supported in Buildroot,
available under the menu +Toolchain+, invoking +make menuconfig+.
==== Using the external toolchain backend
There is no way of tuning an external toolchain since Buildroot does not
generate it.
It also requires to set the Buildroot settings according to the toolchain ones
(see xref:external-toolchain-backend[]).
When using an external toolchain, Buildroot generates a wrapper program,
that transparently passes the appropriate options (according to the
configuration) to the external toolchain programs. In case you need to
debug this wrapper to check exactly what arguments are passed, you can
set the environment variable +BR2_DEBUG_WRAPPER+ to either one of:
* +0+, empty or not set: no debug
* +1+: trace all arguments on a single line
* +2+: trace one argument per line
==== Using the internal Buildroot toolchain backend
The internal Buildroot toolchain backend allows to generate toolchains
based on http://www.uclibc.org/[uClibc],
https://www.gnu.org/software/libc/[glibc] and
http://www.eglibc.org/[eglibc].
Generation of (e)glibc-based toolchains is still experimental in
Buildroot.
It allows to tune major settings, such as:
* Linux headers version;
* C library configuration (only available for
http://www.uclibc.org/[uClibc], see xref:uclibc-custom[uClibc]);
* Binutils, GCC, Gdb and toolchain options.
These settings are available after selecting the +Buildroot toolchain+ type in
the menu +Toolchain+.
-33
View File
@@ -1,33 +0,0 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
[[uclibc-custom]]
=== Customizing the uClibc configuration
Just like xref:busybox-custom[BusyBox], http://www.uclibc.org/[uClibc]
offers a lot of configuration options. They allow you to select
various functionalities depending on your needs and limitations.
The easiest way to modify the configuration of uClibc is to
follow these steps:
* Do an initial compilation of Buildroot without trying to customize
uClibc.
* Invoke +make uclibc-menuconfig+. The nice configuration assistant,
similar to the one used in the Linux kernel or Buildroot,
appears. Make your configuration changes as appropriate.
* Copy the +$(O)/build/uClibc-VERSION/.config+ file to a different
place (e.g. +board/MANUFACTURER/BOARDNAME/uClibc.config+) and adjust
the uClibc configuration file option +BR2_UCLIBC_CONFIG+ to refer to this
configuration instead of the default one.
* Run the compilation of Buildroot again.
Otherwise, you can simply change +package/uclibc/uClibc-VERSION.config+,
without running the configuration assistant.
If you want to use an existing config file for uClibc, then see
xref:env-vars[].
+37 -10
View File
@@ -1,20 +1,47 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
== Customization
== Project-specific customization
Typical actions you may need to perform for a given project are:
- configuring Buildroot (including build options and toolchain,
bootloader, kernel, package and filesystem image type selection)
- configuring other components, like the Linux kernel and BusyBox
- adding project-specific patches to some packages (using
+BR2_GLOBAL_PATCH_DIR+)
- adding or overwriting files on the target filesystem (using
+BR2_ROOTFS_OVERLAY+)
- modifying or deleting files on the target filesystem (using
+BR2_ROOTFS_POST_BUILD_SCRIPT+)
- running arbitrary commands prior to generating the filesystem image
(using +BR2_ROOTFS_POST_BUILD_SCRIPT+)
- running arbitrary commands after generating the filesystem image
(using +BR2_ROOTFS_POST_IMAGE_SCRIPT+)
- adding project-specific packages
An important note regarding such 'project-specific' customizations:
please carefully consider which changes are indeed project-specific and
which changes are also useful to developers outside your project. The
Buildroot community highly recommends and encourages the upstreaming of
improvements, packages and board support to the official Buildroot
project. Of course, it is sometimes not possible or desirable to
upstream because the changes are highly specific or proprietary.
This chapter describes how to make such project-specific customizations
in Buildroot and how to store them in a way that you can build the same
image in a reproducible way, even after running 'make clean'. By
following the recommended strategy, you can even use the same Buildroot
tree to build multiple distinct projects!
include::customize-directory-structure.txt[]
include::customize-outside-br.txt[]
include::customize-rootfs.txt[]
include::customize-busybox-config.txt[]
include::customize-uclibc-config.txt[]
include::customize-kernel-config.txt[]
include::customize-toolchain.txt[]
include::customize-post-image.txt[]
include::customize-store.txt[]
include::customize-packages.txt[]
include::customize-outside-br.txt[]
-12
View File
@@ -1,12 +0,0 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
include::writing-rules.txt[]
include::adding-packages.txt[]
include::patch-policy.txt[]
include::download-infra.txt[]
include::debugging-buildroot.txt[]
+1 -1
View File
@@ -1,7 +1,7 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
== Integration with Eclipse
=== Integration with Eclipse
While a part of the embedded Linux developers like classical text
editors like Vim or Emacs, and command-line based interfaces, a number
-8
View File
@@ -1,8 +0,0 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
== Going further in Buildroot's innards
include::how-buildroot-works.txt[]
include::advanced.txt[]
+1 -1
View File
@@ -1,7 +1,7 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
=== How Buildroot works
== How Buildroot works
As mentioned above, Buildroot is basically a set of Makefiles that
download, configure, and compile software with the correct options. It
+1 -11
View File
@@ -2,20 +2,10 @@
// vim: set syntax=asciidoc:
[[make-tips]]
== 'make' tips
=== 'make' tips
This is a collection of tips that help you make the most of Buildroot.
.Configuration searches:
The +make *config+ commands offer a search tool. Read the help message in
the different frontend menus to know how to use it:
* in _menuconfig_, the search tool is called by pressing +/+;
* in _xconfig_, the search tool is called by pressing +Ctrl+ + +f+.
The result of the search shows the help message of the matching items.
.Display all commands executed by make:
--------------------
+24 -6
View File
@@ -20,27 +20,45 @@ image::logo.png[]
include::introduction.txt[]
include::starting-up.txt[]
include::prerequisite.txt[]
include::get-involved.txt[]
include::getting.txt[]
include::quickstart.txt[]
include::resources.txt[]
= User guide
include::working-with.txt[]
include::configure.txt[]
include::configure-other-components.txt[]
include::common-usage.txt[]
include::customize.txt[]
include::faq-troubleshooting.txt[]
include::known-issues.txt[]
include::going-further.txt[]
include::legal-notice.txt[]
include::beyond-buildroot.txt[]
= Developer guide
include::developer-guide.txt[]
include::how-buildroot-works.txt[]
include::writing-rules.txt[]
include::adding-packages.txt[]
include::patch-policy.txt[]
include::download-infra.txt[]
include::debugging-buildroot.txt[]
include::contribute.txt[]
@@ -1,7 +1,7 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
== Using Buildroot
== Buildroot quick start
*Important*: you can and should *build everything as a normal user*. There
is no need to be root to configure and use Buildroot. By running all
@@ -47,7 +47,8 @@ specifically the xref:requirement-optional[optional requirements]
to get the dependencies of your favorite interface.
For each menu entry in the configuration tool, you can find associated
help that describes the purpose of the entry.
help that describes the purpose of the entry. Refer to xref:configure[]
for details on some specific configuration aspects.
Once everything is configured, the configuration tool generates a
+.config+ file that contains the entire configuration. This file will be
-9
View File
@@ -1,9 +0,0 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
include::prerequisite.txt[]
include::getting.txt[]
include::using.txt[]
-25
View File
@@ -1,25 +0,0 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
This section explains how you can customize Buildroot to fit your
needs.
include::configure.txt[]
include::make-tips.txt[]
include::customize.txt[]
include::common-usage.txt[]
include::eclipse-integration.txt[]
== Hacking Buildroot
If Buildroot does not yet fit all your requirements, you may be
interested in hacking it to add:
* new packages: refer to the xref:adding-packages[Developer guide]
* new board support: refer to the
xref:customize-store-board-support[Developer guide].
+21
View File
@@ -6,6 +6,27 @@
<ul>
<li><b>1 September 2014 -- 2014.08 released</b>
<p>The stable 2014.08 release is out - Thanks to everyone
contributing and testing the release candidates. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.08">CHANGES</a>
file for more details,
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2014.08.tar.bz2">2014.08 release</a>.</p>
<li><b>26 August 2014 -- 2014.08-rc3 released</b>
<p>Release candidate 3 is out with more cleanups and build fixes. See the <a
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.08-rc3">CHANGES</a>
file for details.</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2014.08-rc3.tar.bz2">2014.08-rc3
release candidate</a>, and report any problems found to the <a
href="lists.html">mailing list</a> or <a
href="https://bugs.uclibc.org">bug tracker</a>.</p>
<li><b>18 August 2014 -- 2014.08-rc2 released</b>
<p>Another week, another release candidate with more cleanups and
+6 -6
View File
@@ -1,5 +1,5 @@
comment "beecrypt needs a toolchain w/ threads, atomic intrinsics"
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
comment "beecrypt needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_BEECRYPT
bool "beecrypt"
@@ -15,15 +15,15 @@ config BR2_PACKAGE_BEECRYPT_CPP
bool "C++ support"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR # icu
depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # icu
depends on !BR2_BINFMT_FLAT # icu
depends on BR2_ARCH_HAS_ATOMICS # icu
select BR2_PACKAGE_ICU
help
Enable C++ support. This pulls in the (large) icu package.
comment "C++ support needs a toolchain w/ wchar, atomic intrinsics"
comment "C++ support needs a toolchain w/ wchar"
depends on !BR2_BINFMT_FLAT
depends on BR2_INSTALL_LIBSTDCPP && (!BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS)
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_INSTALL_LIBSTDCPP && !BR2_USE_WCHAR
endif # BR2_PACKAGE_BEECRYPT
@@ -0,0 +1,41 @@
From 5e101a32087bbba18ebbcdf75faee3fff27f7168 Mon Sep 17 00:00:00 2001
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
Date: Sat, 30 Aug 2014 14:42:00 +0200
Subject: [PATCH 1/2] Add support for DISABLE_DOCUMENTATION
This commit adds the support for a make variable named
"DISABLE_DOCUMENTATION", which allows to disable the build of the
documentation. This is useful in contexts where the tools needed to
build the documentation are not necessarily available.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Makefile | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index e721e99..926885f 100644
--- a/Makefile
+++ b/Makefile
@@ -57,10 +57,15 @@ btrfs_image_libs = -lpthread
btrfs_fragments_libs = -lgd -lpng -ljpeg -lfreetype
SUBDIRS =
-BUILDDIRS = $(patsubst %,build-%,$(SUBDIRS)) build-Documentation
-INSTALLDIRS = $(patsubst %,install-%,$(SUBDIRS)) install-Documentation
+BUILDDIRS = $(patsubst %,build-%,$(SUBDIRS))
+INSTALLDIRS = $(patsubst %,install-%,$(SUBDIRS))
CLEANDIRS = $(patsubst %,clean-%,$(SUBDIRS))
+ifneq ($(DISABLE_DOCUMENTATION),1)
+BUILDDIRS += build-Documentation
+INSTALLDIRS += install-Documentation
+endif
+
.PHONY: $(SUBDIRS)
.PHONY: $(BUILDDIRS)
.PHONY: $(INSTALLDIRS)
--
2.0.0
@@ -1,19 +0,0 @@
Disable documentation build/install, it needs asciidoc
and we don't use it anyway.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
diff -Nura btrfs-progs-v3.14.2.orig/Makefile btrfs-progs-v3.14.2/Makefile
--- btrfs-progs-v3.14.2.orig/Makefile 2014-05-29 21:56:59.000000000 -0300
+++ btrfs-progs-v3.14.2/Makefile 2014-06-17 16:53:29.404520306 -0300
@@ -57,8 +57,8 @@
btrfs_fragment_libs = -lgd -lpng -ljpeg -lfreetype
SUBDIRS =
-BUILDDIRS = $(patsubst %,build-%,$(SUBDIRS)) build-Documentation
-INSTALLDIRS = $(patsubst %,install-%,$(SUBDIRS)) install-Documentation
+BUILDDIRS = $(patsubst %,build-%,$(SUBDIRS))
+INSTALLDIRS = $(patsubst %,install-%,$(SUBDIRS))
CLEANDIRS = $(patsubst %,clean-%,$(SUBDIRS))
.PHONY: $(SUBDIRS)
@@ -0,0 +1,101 @@
From 6cef3077e0e7073e3449286b3e544ec60e3c5270 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sat, 30 Aug 2014 14:43:04 +0200
Subject: [PATCH 2/2] Improve static building and installation
This commit improves the static-only building of btrfs-progs, and adds
support for installing the static only tools:
- It now ensures that all programs are built statically, not only a
small subset of them, by defining 'progs_static' from the existing
'progs' variable.
- It changes the order of libraries in the btrfs-%.static rule so
that -lpthread (part of STATIC_LIBS) appears *after* the '$($(subst
-,_,$(subst .static,,$@)-libs))' logic, which brings in
-lcom_err. This is needed because libcom_err.a uses the semaphore
functions, which are available in the pthread library.
- Adds the necessary rules to generate the btrfsck.static link and
btrfstune.static binary.
- Adds an 'install-static' target to install the static
binaries. Note that they are renamed to not carry a '.static'
suffix.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Makefile | 22 +++++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index 926885f..93e264b 100644
--- a/Makefile
+++ b/Makefile
@@ -50,6 +50,8 @@ progs = mkfs.btrfs btrfs-debug-tree btrfsck \
btrfs btrfs-map-logical btrfs-image btrfs-zero-log btrfs-convert \
btrfs-find-root btrfstune btrfs-show-super
+progs_static = $(foreach p,$(progs),$(p).static)
+
# external libs required by various binaries; for btrfs-foo,
# specify btrfs_foo_libs = <list of libs>; see $($(subst...)) rules below
btrfs_convert_libs = -lext2fs -lcom_err
@@ -141,7 +143,7 @@ test:
# NOTE: For static compiles, you need to have all the required libs
# static equivalent available
#
-static: btrfs.static mkfs.btrfs.static btrfs-find-root.static
+static: $(progs_static)
version.h:
@echo " [SH] $@"
@@ -174,8 +176,8 @@ $(lib_links):
btrfs-%.static: $(static_objects) btrfs-%.static.o $(static_libbtrfs_objects)
@echo " [LD] $@"
$(Q)$(CC) $(STATIC_CFLAGS) -o $@ $@.o $(static_objects) \
- $(static_libbtrfs_objects) $(STATIC_LDFLAGS) $(STATIC_LIBS) \
- $($(subst -,_,$(subst .static,,$@)-libs))
+ $(static_libbtrfs_objects) $(STATIC_LDFLAGS) \
+ $($(subst -,_,$(subst .static,,$@)-libs)) $(STATIC_LIBS)
btrfs-%: $(objects) $(libs) btrfs-%.o
@echo " [LD] $@"
@@ -196,6 +198,10 @@ btrfsck: btrfs
@echo " [LN] $@"
$(Q)$(LN) -f btrfs btrfsck
+btrfsck.static: btrfs.static
+ @echo " [LN] $@"
+ $(Q)$(LN) -f $^ $@
+
mkfs.btrfs: $(objects) $(libs) mkfs.o
@echo " [LD] $@"
$(Q)$(CC) $(CFLAGS) -o mkfs.btrfs $(objects) mkfs.o $(LDFLAGS) $(LIBS)
@@ -209,6 +215,11 @@ btrfstune: $(objects) $(libs) btrfstune.o
@echo " [LD] $@"
$(Q)$(CC) $(CFLAGS) -o btrfstune $(objects) btrfstune.o $(LDFLAGS) $(LIBS)
+btrfstune.static: $(static_objects) btrfstune.static.o $(static_libbtrfs_objects)
+ @echo " [LD] $@"
+ $(Q)$(CC) $(STATIC_CFLAGS) -o $@ btrfstune.static.o $(static_objects) \
+ $(static_libbtrfs_objects) $(STATIC_LDFLAGS) $(STATIC_LIBS)
+
dir-test: $(objects) $(libs) dir-test.o
@echo " [LD] $@"
$(Q)$(CC) $(CFLAGS) -o dir-test $(objects) dir-test.o $(LDFLAGS) $(LIBS)
@@ -258,6 +269,11 @@ install: $(libs) $(progs) $(INSTALLDIRS)
$(INSTALL) -m755 -d $(DESTDIR)$(incdir)
$(INSTALL) -m644 $(headers) $(DESTDIR)$(incdir)
+install-static: $(progs_static) $(INSTALLDIRS)
+ for p in $(progs_static) ; do \
+ $(INSTALL) -D -m755 $$p $(DESTDIR)$(bindir)/`basename $$p .static` ; \
+ done
+
$(INSTALLDIRS):
@echo "Making install in $(patsubst install-%,%,$@)"
$(Q)$(MAKE) $(MAKEOPTS) -C $(patsubst install-%,%,$@) install
--
2.0.0
+15 -3
View File
@@ -4,19 +4,31 @@
#
################################################################################
BTRFS_PROGS_VERSION = 3.14.2
BTRFS_PROGS_VERSION = 3.16
BTRFS_PROGS_SITE = https://www.kernel.org/pub/linux/kernel/people/mason/btrfs-progs
BTRFS_PROGS_SOURCE = btrfs-progs-v$(BTRFS_PROGS_VERSION).tar.xz
BTRFS_PROGS_DEPENDENCIES = acl attr e2fsprogs lzo util-linux zlib
BTRFS_PROGS_LICENSE = GPLv2
BTRFS_PROGS_LICENSE_FILES = COPYING
BTRFS_PROGS_MAKE_FLAGS = DISABLE_DOCUMENTATION=1
ifeq ($(BR2_PREFER_STATIC_LIB),y)
BTRFS_PROGS_MAKE_TARGET = static
BTRFS_PROGS_MAKE_INSTALL_TARGET = install-static
else
BTRFS_PROGS_MAKE_TARGET = all
BTRFS_PROGS_MAKE_INSTALL_TARGET = install
endif
define BTRFS_PROGS_BUILD_CMDS
$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \
$(BTRFS_PROGS_MAKE_FLAGS) $(BTRFS_PROGS_MAKE_TARGET)
endef
define BTRFS_PROGS_INSTALL_TARGET_CMDS
$(MAKE) -C $(@D) prefix=/usr DESTDIR=$(TARGET_DIR) install
$(MAKE) -C $(@D) prefix=/usr DESTDIR=$(TARGET_DIR) \
$(BTRFS_PROGS_MAKE_FLAGS) $(BTRFS_PROGS_MAKE_INSTALL_TARGET)
endef
$(eval $(generic-package))
+1
View File
@@ -1,5 +1,6 @@
config BR2_PACKAGE_CAIRO
bool "cairo"
depends on BR2_ARCH_HAS_ATOMICS
select BR2_PACKAGE_PIXMAN
select BR2_PACKAGE_FONTCONFIG
select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
+2
View File
@@ -10,6 +10,8 @@ CMAKE_SITE = http://www.cmake.org/files/v$(CMAKE_VERSION_MAJOR)
CMAKE_LICENSE = BSD-3c
CMAKE_LICENSE_FILES = Copyright.txt
HOST_CMAKE_DEPENDENCIES = host-pkgconf
define HOST_CMAKE_CONFIGURE_CMDS
(cd $(@D); \
LDFLAGS="$(HOST_LDFLAGS)" \
+3 -7
View File
@@ -26,18 +26,14 @@ config BR2_PACKAGE_CPPCMS_ICU
bool "enable icu support"
depends on !BR2_BINFMT_FLAT # icu
depends on BR2_USE_WCHAR # icu
depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # icu
depends on BR2_ARCH_HAS_ATOMICS # icu
select BR2_PACKAGE_ICU
help
Using ICU allows advanced localization features into CppCMS,
in another hand ICU is heavier than iconv.
comment "icu support needs a toolchain w/ wchar, atomic intrinsics"
depends on !BR2_BINFMT_FLAT || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
depends on !BR2_USE_WCHAR
endif
comment "cppcms needs a toolchain w/ C++, NPTL, dynamic library"
comment "cppcms needs a toolchain w/ C++, NPTL, wchar, dynamic library"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
BR2_PREFER_STATIC_LIB
!BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB
+6 -2
View File
@@ -2,6 +2,10 @@ config BR2_PACKAGE_ECRYPTFS_UTILS
bool "ecryptfs-utils"
select BR2_PACKAGE_KEYUTILS
select BR2_PACKAGE_LIBNSS
# runtime dependency only, some scripts are using the
# 'gettext' program to get translations
select BR2_PACKAGE_GETTEXT
depends on BR2_USE_WCHAR # gettext
depends on BR2_USE_MMU # keyutils
depends on !BR2_avr32 && !BR2_microblaze # keyutils
depends on BR2_LARGEFILE # libnss
@@ -23,8 +27,8 @@ config BR2_PACKAGE_ECRYPTFS_UTILS
http://ecryptfs.org
comment "ecryptfs-utils needs a toolchain w/ largefile, threads"
comment "ecryptfs-utils needs a toolchain w/ largefile, threads, wchar"
depends on !BR2_avr32 && !BR2_microblaze
depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT
depends on BR2_USE_MMU
depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
@@ -1,6 +1,7 @@
config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS
bool "libevas generic loaders"
select BR2_PACKAGE_LIBEINA
select BR2_PACKAGE_ZLIB
help
These are additional "generic" loaders for Evas that are
stand-alone executables that evas may run from its generic
@@ -17,10 +18,12 @@ config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS_SVG
depends on BR2_USE_WCHAR # librsvg -> glib2
depends on BR2_TOOLCHAIN_HAS_THREADS # librsvg -> glib2
depends on BR2_INSTALL_LIBSTDCPP # librsvg -> pango
depends on BR2_ARCH_HAS_ATOMICS # cairo
help
This option enables the Evas generic SVG loader
comment "SVG loader needs a toolchain w/ wchar, threads, C++"
depends on BR2_ARCH_HAS_ATOMICS
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
endif
@@ -12,7 +12,7 @@ LIBEVAS_GENERIC_LOADERS_LICENSE_FILES = COPYING
LIBEVAS_GENERIC_LOADERS_INSTALL_STAGING = YES
LIBEVAS_GENERIC_LOADERS_DEPENDENCIES = libeina
LIBEVAS_GENERIC_LOADERS_DEPENDENCIES = libeina zlib
# For now, we only support the SVG loader
LIBEVAS_GENERIC_LOADERS_CONF_OPT += \
+4
View File
@@ -1,6 +1,10 @@
comment "exim needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_EXIM
bool "exim"
depends on BR2_USE_MMU # fork()
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_PCRE
select BR2_PACKAGE_BERKELEYDB
help
-1
View File
@@ -1,6 +1,5 @@
config BR2_PACKAGE_GETTEXT
bool "gettext"
depends on BR2_NEEDS_GETTEXT
depends on BR2_USE_WCHAR
help
The GNU `gettext' utilities are a set of tools that provide a
@@ -178,6 +178,7 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ANNODEX
config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_CAIRO
bool "cairo"
depends on BR2_ARCH_HAS_ATOMICS # cairo
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_PNG
@@ -208,9 +209,15 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_PULSE
depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
depends on BR2_LARGEFILE # pulseaudio -> libsndfile
depends on BR2_USE_MMU # pulseaudio
depends on BR2_ARCH_HAS_ATOMICS # pulseaudio
select BR2_PACKAGE_PULSEAUDIO
bool "pulseaudio"
comment "pulseaudio support needs a toolchain w/ largefile, threads"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC
bool "souphttpsrc (http client)"
depends on BR2_USE_WCHAR # libsoup -> glib2
+1 -1
View File
@@ -12,7 +12,7 @@ GSTREAMER_INSTALL_STAGING = YES
# Checking if unaligned memory access works correctly cannot be done when cross
# compiling. For the following architectures there is no information available
# in the configure script.
ifeq ($(BR2_avr32)$(BR2_xtensa)$(BR2_microblaze),y)
ifeq ($(BR2_arc)$(BR2_avr32)$(BR2_xtensa)$(BR2_microblaze),y)
GSTREAMER_CONF_ENV = as_cv_unaligned_access=no
endif
ifeq ($(BR2_aarch64),y)
@@ -278,6 +278,7 @@ comment "v4l2 needs toolchain w/ headers >= 3.0"
config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CAIRO
bool "cairo"
depends on BR2_ARCH_HAS_ATOMICS # cairo
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_PNG
help
@@ -308,11 +309,17 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE
depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
depends on BR2_LARGEFILE # pulseaudio -> libsndfile
depends on BR2_USE_MMU # pulseaudio
depends on BR2_ARCH_HAS_ATOMICS # pulseaudio
select BR2_PACKAGE_PULSEAUDIO
bool "pulseaudio"
help
PulseAudio plugin library
comment "pulseaudio support needs a toolchain w/ largefile, threads"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC
bool "souphttpsrc (http client)"
depends on BR2_USE_WCHAR # libsoup -> glib2
+1 -1
View File
@@ -14,7 +14,7 @@ GSTREAMER1_LICENSE = LGPLv2+ LGPLv2.1+
# Checking if unaligned memory access works correctly cannot be done when cross
# compiling. For the following architectures there is no information available
# in the configure script.
ifeq ($(BR2_avr32)$(BR2_xtensa)$(BR2_microblaze),y)
ifeq ($(BR2_arc)$(BR2_avr32)$(BR2_xtensa)$(BR2_microblaze),y)
GSTREAMER1_CONF_ENV = as_cv_unaligned_access=no
endif
ifeq ($(BR2_aarch64),y)
@@ -0,0 +1,39 @@
From 08a5d355160eb2ac8346ae1b94591418343217f9 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@openwide.fr>
Date: Sun, 17 Aug 2014 23:43:20 +0200
Subject: [PATCH 1/1] cups support: replaces -static with -static-libtool-libs
gutenprint rely on the original behaviour of -static, but since commit
in buildroot "support/libtool: make -static behave like -all-static" [1],
the build of genppd is broken.
genppd need to be build statically otherwise the following warning appears:
***WARNING: Use of --disable-static-genppd or --disable-static
when building CUPS is very dangerous. The build may
fail when building the PPD files, or may *SILENTLY*
build incorrect PPD files or cause other problems.
Please review the README and release notes carefully!
[1] http://git.buildroot.net/buildroot/commit/?id=97703978ac870ce2b14ad144f8e082de82aa2c64
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
src/cups/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cups/Makefile.am b/src/cups/Makefile.am
index 1e27ae0..d711b70 100644
--- a/src/cups/Makefile.am
+++ b/src/cups/Makefile.am
@@ -84,7 +84,7 @@ noinst_SCRIPTS=test-rastertogutenprint
endif
if BUILD_GENPPD_STATIC
-STATIC_LDOPTS=-static -export-dynamic
+STATIC_LDOPTS=-static-libtool-libs -export-dynamic
endif
cups_calibrate_SOURCES = cups-calibrate.c
--
1.9.3
+4 -3
View File
@@ -7,7 +7,7 @@ config BR2_PACKAGE_ICU
# file, and it cannot easily be changed to generate FLAT
# format.
depends on !BR2_BINFMT_FLAT
depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
depends on BR2_ARCH_HAS_ATOMICS
help
International Components for Unicode.
@@ -25,7 +25,8 @@ config BR2_PACKAGE_ICU_CUSTOM_DATA_PATH
endif
comment "icu needs a toolchain w/ C++, wchar, threads, atomic intrinsics"
comment "icu needs a toolchain w/ C++, wchar, threads"
depends on !BR2_BINFMT_FLAT
depends on BR2_ARCH_HAS_ATOMICS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
!BR2_TOOLCHAIN_HAS_THREADS
+1
View File
@@ -29,6 +29,7 @@ IMAGEMAGICK_CONF_ENV = ac_cv_sys_file_offset_bits=32
endif
IMAGEMAGICK_CONF_OPT = --program-transform-name='s,,,' \
--disable-openmp \
--without-perl \
--without-wmf \
--without-openexr \
+4 -3
View File
@@ -4,7 +4,7 @@ config BR2_PACKAGE_JACK2
depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
depends on BR2_USE_MMU # fork()
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
depends on BR2_ARCH_HAS_ATOMICS
select BR2_PACKAGE_LIBSAMPLERATE
select BR2_PACKAGE_LIBSNDFILE
select BR2_PACKAGE_ALSA_LIB
@@ -21,7 +21,8 @@ config BR2_PACKAGE_JACK2
http://jackaudio.org/
comment "jack2 needs a toolchain w/ largefile, threads, C++, atomic intrinsics"
comment "jack2 needs a toolchain w/ largefile, threads, C++"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
!BR2_INSTALL_LIBSTDCPP
+1 -1
View File
@@ -14,7 +14,7 @@ LBREAKOUT2_DEPENDENCIES = sdl libpng
LBREAKOUT2_CONF_ENV = \
SDL_CONFIG="$(STAGING_DIR)/usr/bin/sdl-config"
ifeq ($(BR2_PACKAGE_GETTEXT),y)
ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
LBREAKOUT2_DEPENDENCIES += gettext
LBREAKOUT2_CONF_ENV += LIBS=-lintl
endif
+1 -1
View File
@@ -9,7 +9,7 @@ LFTP_SITE = http://lftp.yar.ru/ftp
LFTP_LICENSE = GPLv3+
LFTP_LICENSE_FILES = COPYING
LFTP_AUTORECONF = YES
LFTP_DEPENDENCIES = readline zlib
LFTP_DEPENDENCIES = readline zlib host-pkgconf
ifneq ($(BR2_PREFER_STATIC_LIB),y)
LFTP_CONF_OPT += --with-modules
@@ -0,0 +1,16 @@
examples/testd.c: As the C POSIX library recommends include the <unistd.h>
instead of <sys/unistd.h>. This removes an error when building libdaemon
against the musl C library.
Signed-off-by: Jörg Krause <jkrause@posteo.de>
--- libdaemon-0.14.orig/examples/testd.c 2014-08-30 00:27:08.359832977 +0200
+++ libdaemon-0.14/examples/testd.c 2014-08-30 00:27:25.439832670 +0200
@@ -23,7 +23,7 @@
#include <string.h>
#include <sys/types.h>
#include <sys/time.h>
-#include <sys/unistd.h>
+#include <unistd.h>
#include <sys/select.h>
#include <libdaemon/dfork.h>
+7
View File
@@ -10,4 +10,11 @@ LIBEV_INSTALL_STAGING = YES
LIBEV_LICENSE = BSD-2c or GPLv2+
LIBEV_LICENSE_FILES = LICENSE
# The 'compatibility' event.h header conflicts with libevent
# It's completely unnecessary for BR packages so remove it
define LIBEV_DISABLE_EVENT_H_INSTALL
$(SED) 's/ event.h//' $(@D)/Makefile.in
endef
LIBEV_POST_PATCH_HOOKS += LIBEV_DISABLE_EVENT_H_INSTALL
$(eval $(autotools-package))
+2
View File
@@ -1,6 +1,7 @@
config BR2_PACKAGE_LIBFTDI
bool "libftdi"
depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
depends on BR2_ARCH_HAS_ATOMICS
select BR2_PACKAGE_LIBUSB
select BR2_PACKAGE_LIBUSB_COMPAT
help
@@ -19,4 +20,5 @@ config BR2_PACKAGE_LIBTFDI_CPP
endif # BR2_PACKAGE_LIBFTDI
comment "libftdi needs a toolchain w/ threads"
depends on BR2_ARCH_HAS_ATOMICS
depends on !BR2_TOOLCHAIN_HAS_THREADS
+1 -1
View File
@@ -2,7 +2,7 @@ config BR2_PACKAGE_LIBGPGME
bool "libgpgme"
depends on BR2_USE_MMU # libassuan
#gnupg is not needed to build, but at runtime.
select BR2_PACKAGE_GNUPG
select BR2_PACKAGE_GNUPG if !BR2_PACKAGE_GNUPG2
select BR2_PACKAGE_LIBGPG_ERROR
select BR2_PACKAGE_LIBASSUAN
help
+2
View File
@@ -17,6 +17,7 @@ config BR2_PACKAGE_LIBGTK2
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on BR2_INSTALL_LIBSTDCPP # pango
depends on BR2_ARCH_HAS_ATOMICS # cairo
help
The GTK+ version 2 graphical user interface library
@@ -34,6 +35,7 @@ endif
comment "libgtk2 needs a toolchain w/ wchar, threads, C++"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_PACKAGE_XORG7
depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS
@@ -0,0 +1,59 @@
From 89a3ae2de21e528b8feb80dbea3928d43982d3be Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@openwide.fr>
Date: Thu, 21 Aug 2014 18:18:16 +0200
Subject: [PATCH 1/1] rename log_msg to libinput_log_msg
This fixes a conflict between libevdev and libinput on the definition
of the log_msg() symbol.
http://autobuild.buildroot.net/results/c13/c133b7c706ee31302125df8ca94f4d0f0152c6c6/build-end.log
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
src/libinput-private.h | 14 +++++++-------
src/libinput.c | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/libinput-private.h b/src/libinput-private.h
index f9d2f87..ac1e1c4 100644
--- a/src/libinput-private.h
+++ b/src/libinput-private.h
@@ -81,15 +81,15 @@ typedef void (*libinput_source_dispatch_t)(void *data);
struct libinput_source;
-#define log_debug(...) log_msg(LIBINPUT_LOG_PRIORITY_DEBUG, __VA_ARGS__)
-#define log_info(...) log_msg(LIBINPUT_LOG_PRIORITY_INFO, __VA_ARGS__)
-#define log_error(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, __VA_ARGS__)
-#define log_bug_kernel(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "kernel bug: " __VA_ARGS__)
-#define log_bug_libinput(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "libinput bug: " __VA_ARGS__);
-#define log_bug_client(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "client bug: " __VA_ARGS__);
+#define log_debug(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_DEBUG, __VA_ARGS__)
+#define log_info(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_INFO, __VA_ARGS__)
+#define log_error(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_ERROR, __VA_ARGS__)
+#define log_bug_kernel(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "kernel bug: " __VA_ARGS__)
+#define log_bug_libinput(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "libinput bug: " __VA_ARGS__);
+#define log_bug_client(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "client bug: " __VA_ARGS__);
void
-log_msg(enum libinput_log_priority priority, const char *format, ...);
+libinput_log_msg(enum libinput_log_priority priority, const char *format, ...);
int
libinput_init(struct libinput *libinput,
diff --git a/src/libinput.c b/src/libinput.c
index eec9efb..4e3f6fa 100644
--- a/src/libinput.c
+++ b/src/libinput.c
@@ -110,7 +110,7 @@ static struct log_data log_data = {
};
void
-log_msg(enum libinput_log_priority priority, const char *format, ...)
+libinput_log_msg(enum libinput_log_priority priority, const char *format, ...)
{
va_list args;
--
1.9.3
@@ -0,0 +1,45 @@
From 46660112b76664473cc98b8ae6c863fd27c27d2d Mon Sep 17 00:00:00 2001
From: Samuel Martin <s.martin49@gmail.com>
Date: Fri, 29 Aug 2014 23:40:59 +0200
Subject: [PATCH 1/1] cmake: handle static library and find required thread
module
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
CMakeLists.txt | 2 ++
src/CMakeLists.txt | 4 +++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 79f644c..7779a2a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,7 +6,9 @@ enable_testing()
# use local module (for Findlibusb-1.0.cmake)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
+find_package(Threads REQUIRED)
find_package(libusb-1.0 REQUIRED)
+
if (NOT LIBUSB_1_FOUND)
message(FATAL_ERROR "libusb-1.0 not installed. (try apt-get install libusb-1.0-0-dev)")
endif (NOT LIBUSB_1_FOUND)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 149d198..0597ccd 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -18,8 +18,10 @@ set (iqrf_sources
include_directories ("${LIBUSB_1_INCLUDE_DIRS}")
-add_library(iqrf SHARED ${iqrf_sources} ${iqrf_headers})
+add_library(iqrf ${iqrf_sources} ${iqrf_headers})
+
target_link_libraries(iqrf ${LIBUSB_1_LIBRARIES})
+target_link_libraries(iqrf ${CMAKE_THREAD_LIBS_INIT})
set_target_properties(iqrf PROPERTIES
VERSION "${iqrf_version_major}.${iqrf_version_minor}"
--
2.1.0
@@ -0,0 +1,18 @@
netlink/netlink.h: As the poll() man page recommends include the <poll.h>
instead of <sys/poll.h>. This removes an error when building libdl against
the musl C library.
Signed-off-by: Jörg Krause <jkrause@posteo.de>
diff -purN libnl-3.2.25.orig/include/netlink/netlink.h libnl-3.2.25/include/netlink/netlink.h
--- libnl-3.2.25.orig/include/netlink/netlink.h 2014-09-01 11:42:37.254724124 +0200
+++ libnl-3.2.25/include/netlink/netlink.h 2014-09-01 11:42:58.254724255 +0200
@@ -16,7 +16,7 @@
#include <stdint.h>
#include <string.h>
#include <stdlib.h>
-#include <sys/poll.h>
+#include <poll.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/time.h>
@@ -0,0 +1,37 @@
From 13150b8e2b49a9c95eaad831ff69429ff9f66aa4 Mon Sep 17 00:00:00 2001
From: Samuel Martin <s.martin49@gmail.com>
Date: Sat, 30 Aug 2014 11:20:36 +0200
Subject: [PATCH 1/2] cmake: let CMake drives the library type
Do not force CMake to build shared object when BUILD_SHARED_LIBS is off.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
src/CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a0d6179..78946b1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -34,7 +34,7 @@ SET(libcnary_object_files
SET_SOURCE_FILES_PROPERTIES(${libcnary_object_files} PROPERTIES EXTERNAL_OBJECT true GENERATED true)
-ADD_LIBRARY( plist SHARED ${libplist_SRC} ${libcnary_object_files} )
+ADD_LIBRARY( plist ${libplist_SRC} ${libcnary_object_files} )
TARGET_LINK_LIBRARIES( plist ${LIBXML2_LIBRARIES} )
SET_TARGET_PROPERTIES( plist PROPERTIES VERSION ${LIBPLIST_LIBVERSION} )
SET_TARGET_PROPERTIES( plist PROPERTIES SOVERSION ${LIBPLIST_SOVERSION} )
@@ -42,7 +42,7 @@ if(APPLE)
SET_TARGET_PROPERTIES( plist PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
endif()
-ADD_LIBRARY( plist++ SHARED ${libplist++_SRC} )
+ADD_LIBRARY( plist++ ${libplist++_SRC} )
TARGET_LINK_LIBRARIES( plist++ plist )
SET_TARGET_PROPERTIES( plist++ PROPERTIES VERSION ${LIBPLIST_LIBVERSION} )
SET_TARGET_PROPERTIES( plist++ PROPERTIES SOVERSION ${LIBPLIST_SOVERSION} )
--
2.1.0
@@ -0,0 +1,48 @@
From 49f7f7566ecd45ce87be07ac46bb27cf2abf9c3c Mon Sep 17 00:00:00 2001
From: Samuel Martin <s.martin49@gmail.com>
Date: Sun, 31 Aug 2014 10:08:47 +0200
Subject: [PATCH] cmake: make sure the libxml2 module correctly set all ldflags
in case of static link
libxml2 dependencies against zlib and libiconv are optional.
When executing a statically linked build, the default libxml2 CMake
module fails to get the libxml2 dependencies (both the required and
optional ones); so the link phase fails.
However, pkg-config correctly gives these dependencies, even for static
build. So, extend the libxml2 library list with what the pkg_check_modules
CMake primitive (which will uses pkg-config) found.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
cmake/modules/FindLibXml2.cmake | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/cmake/modules/FindLibXml2.cmake b/cmake/modules/FindLibXml2.cmake
index 8d3c77e..19bc930 100644
--- a/cmake/modules/FindLibXml2.cmake
+++ b/cmake/modules/FindLibXml2.cmake
@@ -39,6 +39,19 @@ FIND_LIBRARY(LIBXML2_LIBRARIES NAMES xml2 libxml2
${PC_LIBXML_LIBRARY_DIRS}
)
+# Make sure we get all ldflags in case of static link
+IF(NOT BUILD_SHARED_LIBS)
+ FOREACH(_lib ${PC_LIBXML_STATIC_LIBRARIES})
+ STRING(TOUPPER ${_lib} _Ulib)
+ FIND_LIBRARY(_${_Ulib}_LIBRARIES NAMES ${_lib} lib${_lib}
+ HINTS
+ ${PC_LIBXML_LIBDIR}
+ ${PC_LIBXML_LIBRARY_DIRS}
+ )
+ LIST(APPEND LIBXML2_LIBRARIES ${_${_Ulib}_LIBRARIES})
+ ENDFOREACH()
+ENDIF(NOT BUILD_SHARED_LIBS)
+
FIND_PROGRAM(LIBXML2_XMLLINT_EXECUTABLE xmllint)
# for backwards compat. with KDE 4.0.x:
SET(XMLLINT_EXECUTABLE "${LIBXML2_XMLLINT_EXECUTABLE}")
--
2.1.0
+4
View File
@@ -12,4 +12,8 @@ LIBROXML_LICENSE_FILES = License.txt
LIBROXML_CONF_OPT = --disable-silent-rules
# libroxml forgets to compile/link with -pthread, even though it uses
# thread functions breaking static linking
LIBROXML_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -pthread" LIBS="-pthread"
$(eval $(autotools-package))
+2
View File
@@ -10,6 +10,7 @@ config BR2_PACKAGE_LIBRSVG
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on BR2_INSTALL_LIBSTDCPP # pango
depends on BR2_ARCH_HAS_ATOMICS # cairo
help
The rsvg library is an efficient renderer for Scalable
Vector Graphics (SVG) pictures.
@@ -18,4 +19,5 @@ config BR2_PACKAGE_LIBRSVG
comment "librsvg needs a toolchain w/ wchar, threads, C++"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS # cairo
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
+1
View File
@@ -1,5 +1,6 @@
config BR2_PACKAGE_LIBSVG_CAIRO
bool "libsvg-cairo"
depends on BR2_ARCH_HAS_ATOMICS # cairo
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_SVG
select BR2_PACKAGE_LIBSVG
+4 -4
View File
@@ -2,13 +2,13 @@ config BR2_PACKAGE_LIBTORRENT
bool "libtorrent"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
depends on BR2_ARCH_HAS_ATOMICS
select BR2_PACKAGE_LIBSIGC
help
BitTorrent library written in C++ for *nix
http://libtorrent.rakshasa.no/
comment "libtorrent needs a toolchain w/ C++, threads, atomic intrinsics"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
|| !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
comment "libtorrent needs a toolchain w/ C++, threads"
depends on BR2_ARCH_HAS_ATOMICS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
@@ -0,0 +1,86 @@
From 990835b15e3713e6c34d64b4bed8e55dcca6e6e2 Mon Sep 17 00:00:00 2001
From: Samuel Martin <s.martin49@gmail.com>
Date: Sat, 30 Aug 2014 00:40:03 +0200
Subject: [PATCH 2/2] cmake: disable shared library build when
BUILD_SHARED_LIBS is off
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
CMakeLists.txt | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 72391b0..8f28680 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -320,14 +320,19 @@ source_group("Sources" FILES ${SOURCES})
#
# Create the lib.
#
+set(_libs_websockets websockets)
add_library(websockets STATIC
${HDR_PRIVATE}
${HDR_PUBLIC}
${SOURCES})
+
+if(BUILD_SHARED_LIBS)
+list(APPEND _libs_websockets websockets_shared)
add_library(websockets_shared SHARED
${HDR_PRIVATE}
${HDR_PUBLIC}
${SOURCES})
+endif()
if (WIN32)
# On Windows libs have the same file ending (.lib)
@@ -348,15 +353,17 @@ endif(WIN32)
# We want the shared lib to be named "libwebsockets"
# not "libwebsocket_shared".
+if(BUILD_SHARED_LIBS)
set_target_properties(websockets_shared
- PROPERTIES
+ PROPERTIES
OUTPUT_NAME websockets)
+endif()
# Set the so version of the lib.
# Equivalent to LDFLAGS=-version-info x:x:x
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
- foreach(lib websockets websockets_shared)
- set_target_properties(${lib}
+ foreach(lib ${_libs_websockets})
+ set_target_properties(${lib}
PROPERTIES
SOVERSION ${SOVERSION})
endforeach()
@@ -408,7 +415,7 @@ if (NOT WITHOUT_EXTENSIONS)
endif()
# Make sure ZLib is compiled before the libs.
- foreach (lib websockets websockets_shared)
+ foreach (lib ${_libs_websockets})
add_dependencies(${lib} ZLIB)
endforeach()
@@ -462,7 +469,7 @@ if (UNIX)
endif()
# Setup the linking for all libs.
-foreach (lib websockets websockets_shared)
+foreach (lib ${_libs_websockets})
target_link_libraries(${lib} ${LIB_LIST})
endforeach()
@@ -727,7 +734,7 @@ install(FILES ${HDR_PUBLIC}
set(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "Header files")
# Install libs.
-install(TARGETS websockets websockets_shared
+install(TARGETS ${_libs_websockets}
LIBRARY DESTINATION lib${LIB_SUFFIX}
ARCHIVE DESTINATION lib${LIB_SUFFIX}
COMPONENT libraries)
--
2.1.0
+1 -1
View File
@@ -21,7 +21,7 @@ else
LTRIS_CONF_OPT += --disable-audio
endif
ifeq ($(BR2_PACKAGE_GETTEXT),y)
ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
LTRIS_DEPENDENCIES += gettext
LTRIS_CONF_ENV += LIBS=-lintl
endif
+1 -1
View File
@@ -81,7 +81,7 @@ config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965
select BR2_PACKAGE_MESA3D_DRI_DRIVER
select BR2_PACKAGE_LIBDRM_INTEL
help
Supports all Intel GPUs. This version is most supported by Intel.
Support for i965-based Intel GPUs.
config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON
bool "DRI radeon driver"
+3
View File
@@ -45,11 +45,13 @@ config BR2_PACKAGE_MPD_AUDIOFILE
config BR2_PACKAGE_MPD_PULSEAUDIO
bool "pulseaudio"
depends on BR2_LARGEFILE # pulseaudio -> libsndfile
depends on BR2_ARCH_HAS_ATOMICS # pulseaudio
select BR2_PACKAGE_PULSEAUDIO
help
Enable pulseaudio output support.
comment "pulseaudio support needs a toolchain w/ largefile"
depends on BR2_ARCH_HAS_ATOMICS
depends on !BR2_LARGEFILE
config BR2_PACKAGE_MPD_BZIP2
@@ -143,6 +145,7 @@ config BR2_PACKAGE_MPD_MUSEPACK
config BR2_PACKAGE_MPD_OPUS
bool "opus"
select BR2_PACKAGE_OPUS
select BR2_PACKAGE_LIBOGG
help
Enable opus input support.
Select this if you want to play back OPUS encoded files.
+1 -1
View File
@@ -97,7 +97,7 @@ MPD_CONF_OPT += --disable-sndfile
endif
ifeq ($(BR2_PACKAGE_MPD_OPUS),y)
MPD_DEPENDENCIES += opus
MPD_DEPENDENCIES += opus libogg
MPD_CONF_OPT += --enable-opus
else
MPD_CONF_OPT += --disable-opus
+2 -2
View File
@@ -1,7 +1,7 @@
config BR2_PACKAGE_MSGPACK
bool "msgpack"
depends on BR2_INSTALL_LIBSTDCPP
depends on !BR2_arc # atomic builtins
depends on BR2_ARCH_HAS_ATOMICS
help
MessagePack is an efficient binary serialization format.
@@ -11,5 +11,5 @@ config BR2_PACKAGE_MSGPACK
http://msgpack.org/
comment "msgpack needs a toolchain w/ C++"
depends on BR2_ARCH_HAS_ATOMICS
depends on !BR2_INSTALL_LIBSTDCPP
depends on !BR2_arc
+2 -1
View File
@@ -11,11 +11,12 @@ MTDEV2TUIO_LICENSE = GPLv3+
MTDEV2TUIO_LICENSE_FILES = COPYING
# mtdev2tuio Makefile misuses $(LD) as gcc, so we need to override LD
# here.
# here. Liblo uses log(3), so we need to link with -lm
define MTDEV2TUIO_BUILD_CMDS
$(MAKE) \
$(TARGET_CONFIGURE_OPTS) \
LD="$(TARGET_CC)" \
LIBS="-lmtdev -llo -lm" \
-C $(@D)
endef
@@ -0,0 +1,43 @@
From d2f01ba6fa2a065156fad686d1849309c661e527 Mon Sep 17 00:00:00 2001
From: Samuel Martin <s.martin49@gmail.com>
Date: Sun, 31 Aug 2014 12:07:31 +0200
Subject: [PATCH 2/2] cmake: use the standard CMake flag to drive the shared
object build
If BUILD_SHARED_LIBS is set and SHARED undefined, then drive SHARED with
the BUILD_SHARED_LIBS value.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
CMakeLists.txt | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b13f78c..db75510 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,11 +7,16 @@ project(libmpc C)
set(CMAKE_VERBOSE_MAKEFILE false)
TEST_BIG_ENDIAN(MPC_ENDIANNESS)
-if(WIN32)
- option(SHARED "Use shared libmpcdec" OFF)
-else(WIN32)
- option(SHARED "Use shared libmpcdec" ON)
-endif(WIN32)
+# Use the standard CMake flag to drive the shared object build.
+if(DEFINED BUILD_SHARED_LIBS AND NOT DEFINED SHARED)
+ set(SHARED ${BUILD_SHARED_LIBS})
+else()
+ if(WIN32)
+ option(SHARED "Use shared libmpcdec" OFF)
+ else(WIN32)
+ option(SHARED "Use shared libmpcdec" ON)
+ endif(WIN32)
+endif()
add_definitions(-DFAST_MATH -DCVD_FASTLOG)
--
2.1.0
+1 -1
View File
@@ -36,7 +36,7 @@ case "$1" in
sleep 1
$0 start
;;
*) echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
*) echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac
+1
View File
@@ -14,6 +14,7 @@ comment "Adapters"
config BR2_PACKAGE_OPENOCD_FT2XXX
bool "FT2xxx/FT4xxx Based JTAG Programmer"
depends on BR2_ARCH_HAS_ATOMICS # libftdi
select BR2_PACKAGE_LIBFTDI
help
Enable building support for FT2232 based devices
+2
View File
@@ -4,6 +4,7 @@ config BR2_PACKAGE_PANGO
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on BR2_INSTALL_LIBSTDCPP # freetype support
depends on BR2_ARCH_HAS_ATOMICS # cairo
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_EXPAT
select BR2_PACKAGE_CAIRO
@@ -23,5 +24,6 @@ config BR2_PACKAGE_PANGO
comment "pango needs a toolchain w/ wchar, threads, C++"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_INSTALL_LIBSTDCPP
+2
View File
@@ -1,6 +1,8 @@
config BR2_PACKAGE_PERL_GD
bool "perl-gd"
depends on !BR2_PREFER_STATIC_LIB
# Does not build on machines having a old host perl
depends on BR2_BROKEN
select BR2_PACKAGE_ZLIB
select BR2_PACKAGE_LIBPNG
select BR2_PACKAGE_FREETYPE
+1
View File
@@ -1,6 +1,7 @@
config BR2_PACKAGE_PERL_GDGRAPH
bool "perl-gdgraph"
depends on !BR2_PREFER_STATIC_LIB
depends on BR2_BROKEN # perl-gd
select BR2_PACKAGE_PERL_GD
select BR2_PACKAGE_PERL_GDTEXTUTIL
help
+2 -1
View File
@@ -6,7 +6,8 @@
PHP_GEOIP_VERSION = 1.1.0
PHP_GEOIP_SOURCE = geoip-$(PHP_GEOIP_VERSION).tgz
PHP_GEOIP_SITE = http://pecl.php.net/get
# pecl.php.net returns html with db connect failed
PHP_GEOIP_SITE = http://sources.buildroot.net
PHP_GEOIP_CONF_OPT = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \
--with-geoip=$(STAGING_DIR)/usr
# phpize does the autoconf magic
+2 -1
View File
@@ -6,7 +6,8 @@
PHP_GNUPG_VERSION = 1.3.3
PHP_GNUPG_SOURCE = gnupg-$(PHP_GNUPG_VERSION).tgz
PHP_GNUPG_SITE = http://pecl.php.net/get
# pecl.php.net returns html with db connect failed
PHP_GNUPG_SITE = http://sources.buildroot.net
# phpize does the autoconf magic
PHP_GNUPG_DEPENDENCIES = php libgpgme host-autoconf host-pkgconf
PHP_GNUPG_CONF_OPT = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \
+2 -1
View File
@@ -6,7 +6,8 @@
PHP_IMAGICK_VERSION = 3.1.2
PHP_IMAGICK_SOURCE = imagick-$(PHP_IMAGICK_VERSION).tgz
PHP_IMAGICK_SITE = http://pecl.php.net/get
# pecl.php.net returns html with db connect failed
PHP_IMAGICK_SITE = http://sources.buildroot.net
PHP_IMAGICK_CONF_OPT = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \
--with-imagick=$(STAGING_DIR)/usr
# phpize does the autoconf magic
+2 -1
View File
@@ -6,7 +6,8 @@
PHP_MEMCACHED_VERSION = 2.2.0
PHP_MEMCACHED_SOURCE = memcached-$(PHP_MEMCACHED_VERSION).tgz
PHP_MEMCACHED_SITE = http://pecl.php.net/get
# pecl.php.net returns html with db connect failed
PHP_MEMCACHED_SITE = http://sources.buildroot.net
PHP_MEMCACHED_CONF_OPT = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \
--disable-memcached-sasl \
--with-libmemcached-dir=$(STAGING_DIR)/usr \
+2 -1
View File
@@ -6,7 +6,8 @@
PHP_SSH2_VERSION = 0.12
PHP_SSH2_SOURCE = ssh2-$(PHP_SSH2_VERSION).tgz
PHP_SSH2_SITE = http://pecl.php.net/get
# pecl.php.net returns html with db connect failed
PHP_SSH2_SITE = http://sources.buildroot.net
PHP_SSH2_CONF_OPT = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \
--with-ssh2=$(STAGING_DIR)/usr
# phpize does the autoconf magic

Some files were not shown because too many files have changed in this diff Show More