Compare commits
80 Commits
2012.11_rc
...
2012.11.x
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1264adda0e | ||
|
|
d4700be53e | ||
|
|
8d73aa4e51 | ||
|
|
b95825e626 | ||
|
|
4e3dd2f881 | ||
|
|
54d318a27f | ||
|
|
d201b95d8c | ||
|
|
4f607edffd | ||
|
|
4c52ff1acf | ||
|
|
f619d5ba20 | ||
|
|
d1f5fc29ef | ||
|
|
4a4b0bdd07 | ||
|
|
8a46d4bf1f | ||
|
|
1a59dfae0c | ||
|
|
537556b22c | ||
|
|
4b3425c0bb | ||
|
|
7364f0cb22 | ||
|
|
98fa43c417 | ||
|
|
727ed13234 | ||
|
|
51eb3be3da | ||
|
|
805529ed28 | ||
|
|
f19c6948c5 | ||
|
|
c788354145 | ||
|
|
440c323c97 | ||
|
|
d38b25f1be | ||
|
|
6ae7886f84 | ||
|
|
696365f69b | ||
|
|
b644575579 | ||
|
|
4b0b177b26 | ||
|
|
8a53d732cd | ||
|
|
0435a0913c | ||
|
|
26803e8801 | ||
|
|
c430fab222 | ||
|
|
be2460c545 | ||
|
|
cc1cd3b267 | ||
|
|
ebcfa987df | ||
|
|
cc6da8b28e | ||
|
|
bd72a13a4c | ||
|
|
e2af182225 | ||
|
|
82583bf4b7 | ||
|
|
5e6d537eb7 | ||
|
|
75817ecd1e | ||
|
|
069eccfc71 | ||
|
|
1bed3e388a | ||
|
|
f27ec358ef | ||
|
|
40f175b37a | ||
|
|
2b7be2f1de | ||
|
|
0f9bad95a0 | ||
|
|
ba66de55ff | ||
|
|
d490bb6c37 | ||
|
|
7c9549e84f | ||
|
|
6d58aed1b0 | ||
|
|
58c72c0046 | ||
|
|
21a0c11a90 | ||
|
|
660d16f490 | ||
|
|
de75da8b13 | ||
|
|
9e12a985a1 | ||
|
|
737d92d9c2 | ||
|
|
722b82f05b | ||
|
|
50b32848c2 | ||
|
|
13562ddd2a | ||
|
|
65f66c170e | ||
|
|
1d989fafba | ||
|
|
670d60dc91 | ||
|
|
3bdbe9abb9 | ||
|
|
ade0a8a856 | ||
|
|
bf5d51717b | ||
|
|
d15637d171 | ||
|
|
a645383c84 | ||
|
|
8fd4559212 | ||
|
|
36d36f0de1 | ||
|
|
1c7f8c45f2 | ||
|
|
e1ebae700a | ||
|
|
8f717d54ba | ||
|
|
c28e15debf | ||
|
|
fdd5bc948e | ||
|
|
5e0f1e1fcf | ||
|
|
cd0f43a2c5 | ||
|
|
4c60854f00 | ||
|
|
b40ec0b651 |
39
CHANGES
39
CHANGES
@@ -1,3 +1,42 @@
|
||||
2012.11.1, Released January 3rd, 2013:
|
||||
|
||||
Toolchain: Fixed non-largefile builds on recent Ubuntu
|
||||
versions.
|
||||
|
||||
Arch: fix missing x86/generic handling, Build for Xtensa with
|
||||
longcalls option.
|
||||
|
||||
Updated/fixed packages: dosfstools, qt
|
||||
|
||||
2012.11, Released December 2nd, 2012:
|
||||
|
||||
Git shallow clone fix for older git version.
|
||||
|
||||
Updated/fixed packages: ctuio, libtool
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#5726: List all the available hook points
|
||||
|
||||
2012.11-rc2, Released November 30th, 2012:
|
||||
|
||||
Minor fixes around the tree.
|
||||
|
||||
Various manual updates and fixes.
|
||||
|
||||
Add checks for legacy features.
|
||||
|
||||
Updated/fixed packages: acpid, alsa-lib, arptables, binutils,
|
||||
busybox, ccache, cjson, cramfs, directfb, flex, fluxbox, gdb,
|
||||
hiawatha, igh-ethercat, imagemagick, imlib2, lcdproc,
|
||||
libdaemon, libecore, libhid, libmad, libpcap, libsigc, libusb,
|
||||
linux-fusion, matchbox, ocf-linux, owl-linux, python, rrdtool,
|
||||
scons, strace, sylpheed
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#5732: Error : package/alsa-lib/alsa-lib.mk
|
||||
|
||||
2012.11-rc1, Released November 17th, 2012
|
||||
|
||||
Fixes all over the tree and new features.
|
||||
|
||||
@@ -434,3 +434,5 @@ source "fs/Config.in"
|
||||
source "boot/Config.in"
|
||||
|
||||
source "linux/Config.in"
|
||||
|
||||
source "Config.in.legacy"
|
||||
|
||||
73
Config.in.legacy
Normal file
73
Config.in.legacy
Normal file
@@ -0,0 +1,73 @@
|
||||
#
|
||||
# Config.in.legacy - support for backward compatibility
|
||||
#
|
||||
# When an existing Config.in symbol is removed, it should be added again in this
|
||||
# file, and take appropriate action to approximate backward compatibility. If
|
||||
# there is an equivalent (set of) new symbols, these can just be select'ed by
|
||||
# the old symbol. This makes sure that running 'make oldconfig' will make things
|
||||
# "just work" when upgrading to a new buildroot version. If the change is too
|
||||
# fundamental and cannot be fixed by a simple select, then the old symbol should
|
||||
# select BR2_LEGACY. If that symbol is set, the build will issue an error.
|
||||
#
|
||||
# When adding legacy symbols to this file, add them to the front. The oldest
|
||||
# symbols will be removed again after about two years.
|
||||
#
|
||||
# The symbol should be copied as-is from the place where it was previously
|
||||
# defined, but the help text should be removed or replaced with something that
|
||||
# explains how to fix it.
|
||||
|
||||
config BR2_LEGACY
|
||||
bool
|
||||
help
|
||||
This option is selected automatically when your old .config uses an
|
||||
option that no longer exists in current buildroot. In that case, the
|
||||
build will fail. Look for config options which are selected in the
|
||||
menu below: they no longer exist and should be replaced by something
|
||||
else.
|
||||
|
||||
# This comment fits exactly in a 80-column display
|
||||
comment "Legacy detected: check the content of the menu below"
|
||||
depends on BR2_LEGACY
|
||||
|
||||
# This option should get a new name with every buildroot release, so it defaults
|
||||
# to y again for people who upgrade.
|
||||
menuconfig BR2_LEGACY_CHECK_2012_11
|
||||
bool "Check for legacy config options"
|
||||
default y
|
||||
help
|
||||
Select this option to see the config options that are present in your
|
||||
current .config but are no longer supported by buildroot. If any of
|
||||
the options in this menu is selected, they should be replaced with
|
||||
something else. As long as they stay selected, the build will fail.
|
||||
Just de-select this option to automatically remove all the legacy
|
||||
configuration.
|
||||
|
||||
if BR2_LEGACY_CHECK_2012_11
|
||||
|
||||
#
|
||||
# Legacy options from 2012.08
|
||||
#
|
||||
|
||||
config BR2_PACKAGE_GETTEXT_STATIC
|
||||
bool "libgettext.a is now selected by BR2_PREFER_STATIC_LIB"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
To build a static gettext library, select BR2_PREFER_STATIC_LIB.
|
||||
|
||||
|
||||
config BR2_PACKAGE_LIBINTL
|
||||
bool "libintl"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_GETTEXT
|
||||
help
|
||||
libintl is now installed by selecting BR2_PACKAGE_GETTEXT. This now
|
||||
only installs the library, not the executables.
|
||||
|
||||
config BR2_PACKAGE_INPUT_TOOLS_EVTEST
|
||||
bool "input-tools evtest is now a separate package evtest"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_EVTEST
|
||||
help
|
||||
The evtest program from input-tools is now a separate package.
|
||||
|
||||
endif
|
||||
26
Makefile
26
Makefile
@@ -24,7 +24,7 @@
|
||||
#--------------------------------------------------------------
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION:=2012.11-rc1
|
||||
export BR2_VERSION:=2012.11.1
|
||||
|
||||
# Check for minimal make version (note: this check will break at make 10.x)
|
||||
MIN_MAKE_VERSION=3.81
|
||||
@@ -172,6 +172,7 @@ export HOSTCC_NOCCACHE HOSTCXX_NOCCACHE
|
||||
|
||||
# Make sure pkg-config doesn't look outside the buildroot tree
|
||||
unexport PKG_CONFIG_PATH
|
||||
unexport PKG_CONFIG_SYSROOT_DIR
|
||||
|
||||
# Having DESTDIR set in the environment confuses the installation
|
||||
# steps of some packages.
|
||||
@@ -290,6 +291,12 @@ endif
|
||||
|
||||
all: world
|
||||
|
||||
# Include legacy before the other things, because package .mk files
|
||||
# may rely on it.
|
||||
ifneq ($(BR2_DEPRECATED),y)
|
||||
include Makefile.legacy
|
||||
endif
|
||||
|
||||
include package/Makefile.in
|
||||
include support/dependencies/dependencies.mk
|
||||
|
||||
@@ -419,7 +426,7 @@ ifneq (,$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)))
|
||||
STRIP_FIND_CMD += \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) -prune -o
|
||||
endif
|
||||
STRIP_FIND_CMD += -type f -perm +111
|
||||
STRIP_FIND_CMD += -not \( $(call findfileclauses,libthread_db*.so* $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print
|
||||
STRIP_FIND_CMD += -not \( $(call findfileclauses,libpthread*.so* $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print
|
||||
|
||||
target-finalize:
|
||||
ifeq ($(BR2_HAVE_DEVFILES),y)
|
||||
@@ -450,6 +457,14 @@ endif
|
||||
find $(TARGET_DIR)/lib/modules -type f -name '*.ko' | \
|
||||
xargs -r $(KSTRIPCMD) || true
|
||||
|
||||
# See http://sourceware.org/gdb/wiki/FAQ, "GDB does not see any threads
|
||||
# besides the one in which crash occurred; or SIGTRAP kills my program when
|
||||
# I set a breakpoint"
|
||||
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
|
||||
find $(TARGET_DIR)/lib -type f -name 'libpthread*.so*' | \
|
||||
xargs $(STRIPCMD) $(STRIP_STRIP_DEBUG) || true
|
||||
endif
|
||||
|
||||
mkdir -p $(TARGET_DIR)/etc
|
||||
# Mandatory configuration file and auxilliary cache directory
|
||||
# for recent versions of ldconfig
|
||||
@@ -605,6 +620,9 @@ allnoconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
randpackageconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@grep -v BR2_PACKAGE_ $(CONFIG_DIR)/.config > $(CONFIG_DIR)/.config.nopkg
|
||||
@grep '^config BR2_PACKAGE_' Config.in.legacy | \
|
||||
while read config pkg; do \
|
||||
echo "# $$pkg is not set" >> $(CONFIG_DIR)/.config.nopkg; done
|
||||
@$(COMMON_CONFIG_ENV) \
|
||||
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
|
||||
$< --randconfig $(CONFIG_CONFIG_IN)
|
||||
@@ -613,6 +631,9 @@ randpackageconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
allyespackageconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@grep -v BR2_PACKAGE_ $(CONFIG_DIR)/.config > $(CONFIG_DIR)/.config.nopkg
|
||||
@grep '^config BR2_PACKAGE_' Config.in.legacy | \
|
||||
while read config pkg; do \
|
||||
echo "# $$pkg is not set" >> $(CONFIG_DIR)/.config.nopkg; done
|
||||
@$(COMMON_CONFIG_ENV) \
|
||||
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
|
||||
$< --allyesconfig $(CONFIG_CONFIG_IN)
|
||||
@@ -762,4 +783,3 @@ print-version:
|
||||
include docs/manual/manual.mk
|
||||
|
||||
.PHONY: $(noconfig_targets)
|
||||
|
||||
|
||||
30
Makefile.legacy
Normal file
30
Makefile.legacy
Normal file
@@ -0,0 +1,30 @@
|
||||
#
|
||||
# Makefile.legacy - support for backward compatibility
|
||||
#
|
||||
# This file contains placeholders to detect backward-compatibility problems.
|
||||
# When a buildroot "API" feature is being deprecated, a rule should be added
|
||||
# here that issues an error when the old feature is used.
|
||||
#
|
||||
# This file is not included if BR2_DEPRECATED is selected, so it is possible
|
||||
# to bypass the errors (although that's usually a bad idea).
|
||||
|
||||
ifeq ($(BR2_LEGACY),y)
|
||||
$(error "You have legacy configuration in your .config! Please check your configuration.")
|
||||
endif
|
||||
|
||||
#
|
||||
# Legacy options from 2012.08
|
||||
#
|
||||
|
||||
host-pkg-config:
|
||||
@$(call MESSAGE,host-pkg-config is replaced by host-pkgconf)
|
||||
@$(call MESSAGE,please update your .mk files)
|
||||
@false
|
||||
.PHONY: host-pkg-config
|
||||
|
||||
#
|
||||
# Legacy options from 2012.05
|
||||
#
|
||||
GENTARGETS = $$(error The GENTARGETS macro no longer exists; use $$$$(eval $$$$(generic-package)) or $$$$(eval $$$$(host-generic-package)))
|
||||
AUTOTARGETS = $$(error The AUTOTARGETS macro no longer exists; use $$$$(eval $$$$(autotools-package)) or $$$$(eval $$$$(host-autotools-package)))
|
||||
CMAKETARGETS = $$(error The CMAKETARGETS macro no longer exists; use $$$$(eval $$$$(cmake-package)) or $$$$(eval $$$$(host-cmake-package)))
|
||||
@@ -173,6 +173,7 @@ config BR2_ARCH
|
||||
default "i686" if BR2_x86_athlon
|
||||
default "i686" if BR2_x86_athlon_4
|
||||
default "x86_64" if BR2_x86_64
|
||||
default "i386" if BR2_x86_generic
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE"
|
||||
|
||||
@@ -2,32 +2,36 @@ choice
|
||||
prompt "Target Architecture Variant"
|
||||
depends on BR2_xtensa
|
||||
default BR2_xtensa_fsf
|
||||
config BR2_xtensa_custom
|
||||
config BR2_XTENSA_CUSTOM
|
||||
bool "Custom Xtensa processor configuration"
|
||||
config BR2_xtensa_fsf
|
||||
bool "fsf - Default configuration"
|
||||
endchoice
|
||||
|
||||
config BR2_xtensa_custom_name
|
||||
string "Custom Xtensa processor configuration anme"
|
||||
depends on BR2_xtensa_custom
|
||||
config BR2_XTENSA_CUSTOM_NAME
|
||||
string "Custom Xtensa processor configuration name"
|
||||
depends on BR2_XTENSA_CUSTOM
|
||||
default ""
|
||||
help
|
||||
Name given to a custom Xtensa processor configuration.
|
||||
|
||||
config BR2_xtensa_core_name
|
||||
config BR2_XTENSA_CORE_NAME
|
||||
string
|
||||
default BR2_xtensa_custom_name if BR2_xtensa_custom
|
||||
default BR2_XTENSA_CUSTOM_NAME if BR2_XTENSA_CUSTOM
|
||||
default "" if BR2_xtensa_fsf
|
||||
|
||||
config BR2_xtensa_overlay_dir
|
||||
config BR2_XTENSA_OVERLAY_DIR
|
||||
string "Overlay directory for custom configuration"
|
||||
depends on BR2_xtensa_custom
|
||||
depends on BR2_XTENSA_CUSTOM
|
||||
default ""
|
||||
help
|
||||
Provide a directory path that contains the overlay files
|
||||
for the custom configuration. The path is based on the
|
||||
buildroot top directory.
|
||||
Provide the directory path that contains the overlay file
|
||||
for a custom processor configuration. The path is relative
|
||||
to the top directory of buildroot.
|
||||
These overlay files are tar packages with updated configuration
|
||||
files for various toolchain packages and Xtensa processor
|
||||
configurations. They are provided by the processor vendor or
|
||||
directly from Tensilica.
|
||||
|
||||
config BR2_ARCH
|
||||
default "xtensa" if BR2_xtensa
|
||||
|
||||
@@ -41,10 +41,10 @@ endif
|
||||
|
||||
config BR2_TARGET_BAREBOX_VERSION
|
||||
string
|
||||
default "2012.07.0" if BR2_TARGET_BAREBOX_2012_07
|
||||
default "2012.08.0" if BR2_TARGET_BAREBOX_2012_08
|
||||
default "2012.09.0" if BR2_TARGET_BAREBOX_2012_09
|
||||
default "2012.10.0" if BR2_TARGET_BAREBOX_2012_10
|
||||
default "2012.11.0" if BR2_TARGET_BAREBOX_2012_11
|
||||
default "custom" if BR2_TARGET_BAREBOX_CUSTOM_TARBALL
|
||||
default $BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION if BR2_TARGET_BAREBOX_CUSTOM_GIT
|
||||
|
||||
|
||||
@@ -6,22 +6,22 @@
|
||||
|
||||
<p>
|
||||
|
||||
The latest stable release is <b>2012.08</b>, which can be downloaded
|
||||
The latest stable release is <b>2012.11</b>, which can be downloaded
|
||||
here:<p>
|
||||
|
||||
<a href="/downloads/buildroot-2012.08.tar.gz">buildroot-2012.08.tar.gz</a>
|
||||
<a href="/downloads/buildroot-2012.11.tar.gz">buildroot-2012.11.tar.gz</a>
|
||||
or
|
||||
<a href="/downloads/buildroot-2012.08.tar.bz2">buildroot-2012.08.tar.bz2</a>.
|
||||
|
||||
<a href="/downloads/buildroot-2012.11.tar.bz2">buildroot-2012.11.tar.bz2</a>.
|
||||
<!--
|
||||
<p>
|
||||
The latest release candidate is <b>2012.11-rc1</b>, which can be
|
||||
The latest release candidate is <b>2012.11-rc2</b>, which can be
|
||||
downloaded here:<p>
|
||||
|
||||
<a href="/downloads/buildroot-2012.11-rc1.tar.gz">buildroot-2012.11-rc1.tar.gz</a>
|
||||
<a href="/downloads/buildroot-2012.11-rc2.tar.gz">buildroot-2012.11-rc2.tar.gz</a>
|
||||
or
|
||||
<a href="/downloads/buildroot-2012.11-rc1.tar.bz2">buildroot-2012.11-rc1.tar.bz2</a>.
|
||||
<a href="/downloads/buildroot-2012.11-rc2.tar.bz2">buildroot-2012.11-rc2.tar.bz2</a>.
|
||||
<p>
|
||||
|
||||
-->
|
||||
This and earlier releases can always be downloaded from
|
||||
<a href="/downloads/">http://buildroot.net/downloads/</a>.
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@ package, with an example :
|
||||
07: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
|
||||
08: LIBFOO_SITE = http://www.foosoftware.org/download
|
||||
09: LIBFOO_INSTALL_STAGING = YES
|
||||
10: LIBFOO_INSTALL_TARGET = YES
|
||||
11: LIBFOO_CONF_OPT = --enable-shared
|
||||
10: LIBFOO_INSTALL_TARGET = NO
|
||||
11: LIBFOO_CONF_OPT = --disable-shared
|
||||
12: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf
|
||||
13:
|
||||
14: $(eval $(autotools-package))
|
||||
@@ -44,13 +44,13 @@ other libraries or applications depending on them. Also by default, when
|
||||
staging installation is enabled, packages are installed in this location
|
||||
using the +make install+ command.
|
||||
|
||||
On line 10, we tell Buildroot to also install the package to the
|
||||
On line 10, we tell Buildroot to not install the package to the
|
||||
target directory. This directory contains what will become the root
|
||||
filesystem running on the target. Usually, we try not to install header
|
||||
files and to install stripped versions of the binary. By default, target
|
||||
installation is enabled, so in fact, this line is not strictly
|
||||
necessary. Also by default, packages are installed in this location
|
||||
using the +make install+ command.
|
||||
filesystem running on the target. For purely static libraries, it is
|
||||
not necessary to install them in the target directory because they will
|
||||
not be used at runtime. By default, target installation is enabled; setting
|
||||
this variable to NO is almost never needed. Also by default, packages are
|
||||
installed in this location using the +make install+ command.
|
||||
|
||||
On line 11, we tell Buildroot to pass a custom configure option, that
|
||||
will be passed to the +./configure+ script before configuring
|
||||
@@ -133,13 +133,13 @@ cases, typical packages will therefore only use a few of them.
|
||||
|
||||
* +LIBFOO_INSTALL_STAGING_OPT+ contains the make options
|
||||
used to install the package to the staging directory. By default, the
|
||||
value is +DESTDIR=$$(STAGING_DIR) install+, which is
|
||||
value is +DESTDIR=$(STAGING_DIR) install+, which is
|
||||
correct for most autotools packages. It is still possible to override
|
||||
it.
|
||||
|
||||
* +LIBFOO_INSTALL_TARGET_OPT+ contains the make options
|
||||
used to install the package to the target directory. By default, the
|
||||
value is +DESTDIR=$$(TARGET_DIR) install+. The default
|
||||
value is +DESTDIR=$(TARGET_DIR) install+. The default
|
||||
value is correct for most autotools packages, but it is still possible
|
||||
to override it if needed.
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ with an example :
|
||||
07: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
|
||||
08: LIBFOO_SITE = http://www.foosoftware.org/download
|
||||
09: LIBFOO_INSTALL_STAGING = YES
|
||||
10: LIBFOO_INSTALL_TARGET = YES
|
||||
10: LIBFOO_INSTALL_TARGET = NO
|
||||
11: LIBFOO_CONF_OPT = -DBUILD_DEMOS=ON
|
||||
12: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf
|
||||
13:
|
||||
@@ -44,13 +44,13 @@ other libraries or applications depending on them. Also by default, when
|
||||
staging installation is enabled, packages are installed in this location
|
||||
using the +make install+ command.
|
||||
|
||||
On line 10, we tell Buildroot to also install the package to the
|
||||
On line 10, we tell Buildroot to not install the package to the
|
||||
target directory. This directory contains what will become the root
|
||||
filesystem running on the target. Usually, we try not to install header
|
||||
files and to install stripped versions of the binary. By default, target
|
||||
installation is enabled, so in fact, this line is not strictly
|
||||
necessary. Also by default, packages are installed in this location
|
||||
using the +make install+ command.
|
||||
filesystem running on the target. For purely static libraries, it is
|
||||
not necessary to install them in the target directory because they will
|
||||
not be used at runtime. By default, target installation is enabled; setting
|
||||
this variable to NO is almost never needed. Also by default, packages are
|
||||
installed in this location using the +make install+ command.
|
||||
|
||||
On line 11, we tell Buildroot to pass custom options to CMake when it is
|
||||
configuring the package.
|
||||
@@ -115,12 +115,12 @@ typical packages will therefore only use a few of them.
|
||||
|
||||
* +LIBFOO_INSTALL_STAGING_OPT+ contains the make options used to
|
||||
install the package to the staging directory. By default, the value
|
||||
is +DESTDIR=$$(STAGING_DIR) install+, which is correct for most
|
||||
is +DESTDIR=$(STAGING_DIR) install+, which is correct for most
|
||||
CMake packages. It is still possible to override it.
|
||||
|
||||
* +LIBFOO_INSTALL_TARGET_OPT+ contains the make options used to
|
||||
install the package to the target directory. By default, the value
|
||||
is +DESTDIR=$$(TARGET_DIR) install+. The default value is correct
|
||||
is +DESTDIR=$(TARGET_DIR) install+. The default value is correct
|
||||
for most CMake packages, but it is still possible to override it if
|
||||
needed.
|
||||
|
||||
|
||||
@@ -8,5 +8,6 @@ matter of writing a Makefile using an existing example and modifying it
|
||||
according to the compilation process required by the package.
|
||||
|
||||
If you package software that might be useful for other people, don't
|
||||
forget to send a patch to Buildroot developers!
|
||||
forget to send a patch to the Buildroot mailing list (see
|
||||
xref:submitting-patches[])!
|
||||
|
||||
|
||||
@@ -7,12 +7,13 @@ First of all, create a directory under the +package+ directory for
|
||||
your software, for example +libfoo+.
|
||||
|
||||
Some packages have been grouped by topic in a sub-directory:
|
||||
+multimedia+, +java+, +x11r7+, and +games+. If your package fits in
|
||||
+multimedia+, +x11r7+, +efl+ and +matchbox+. If your package fits in
|
||||
one of these categories, then create your package directory in these.
|
||||
New subdirectories are discouraged, however.
|
||||
|
||||
|
||||
+Config.in+ file
|
||||
^^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
Then, create a file named +Config.in+. This file will contain the
|
||||
option descriptions related to our +libfoo+ software that will be used
|
||||
@@ -32,12 +33,12 @@ configuration option must be indented with one tab. The help text
|
||||
itself should be indented with one tab and two spaces, and it must
|
||||
mention the upstream URL of the project.
|
||||
|
||||
Of course, you can add other sub-options into a +if
|
||||
You can add other sub-options into a +if
|
||||
BR2_PACKAGE_LIBFOO...endif+ statement to configure particular things
|
||||
in your software. You can look at examples in other packages. The
|
||||
syntax of the +Config.in+ file is the same as the one for the kernel
|
||||
Kconfig file. The documentation for this syntax is available at
|
||||
http://lxr.free-electrons.com/source/Documentation/kbuild/kconfig-language.txt[]
|
||||
http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[]
|
||||
|
||||
Finally you have to add your new +libfoo/Config.in+ to
|
||||
+package/Config.in+ (or in a category subdirectory if you decided to
|
||||
@@ -50,6 +51,9 @@ source "package/libfoo/Config.in"
|
||||
--------------------------
|
||||
|
||||
[[depends-on-vs-select]]
|
||||
Choosing +depends on+ or +select+
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The +Config.in+ file of your package must also ensure that
|
||||
dependencies are enabled. Typically, Buildroot uses the following
|
||||
rules:
|
||||
@@ -68,9 +72,9 @@ rules:
|
||||
dependency for dependencies on toolchain options (target
|
||||
architecture, MMU support, C library, C++ support, large file
|
||||
support, thread support, RPC support, IPV6 support, WCHAR support),
|
||||
or for dependencies on "big" things, such as the X.org system. In
|
||||
some cases, especially dependency on toolchain options, it is
|
||||
recommended to add a +comment+ displayed when the option is not
|
||||
or for dependencies on "big" things, such as the X.org system. For
|
||||
dependencies on toolchain options, there should be a +comment+ that
|
||||
is displayed when the option is not
|
||||
enabled, so that the user knows why the package is not available.
|
||||
The +depends on+ keyword express the dependency with a forward
|
||||
semantic.
|
||||
@@ -160,10 +164,10 @@ so, the dependency also needs to be expressed in the +.mk+ file of the
|
||||
package.
|
||||
|
||||
Further formatting details: see xref:writing-rules-config-in[the
|
||||
writing rules].
|
||||
coding style].
|
||||
|
||||
The +.mk+ file
|
||||
^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
Finally, here's the hardest part. Create a file named +libfoo.mk+. It
|
||||
describes how the package should be downloaded, configured, built,
|
||||
|
||||
@@ -151,11 +151,11 @@ information is (assuming the package name is +libfoo+) :
|
||||
* +LIBFOO_PATCH+ may contain the name of a patch, that will be
|
||||
downloaded from the same location as the tarball indicated in
|
||||
+LIBFOO_SOURCE+. If +HOST_LIBFOO_PATCH+ is not specified, it
|
||||
defaults to +LIBFOO_PATCH+. Also note that another mechanism is
|
||||
available to patch a package: all files of the form
|
||||
+packagename-packageversion-description.patch+ present in the
|
||||
package directory inside Buildroot will be applied to the package
|
||||
after extraction.
|
||||
defaults to +LIBFOO_PATCH+. Note that patches that are included
|
||||
in Buildroot itself use a different mechanism: all files of the
|
||||
form +<packagename>-*.patch+ present in the package directory inside
|
||||
Buildroot will be applied to the package after extraction (see
|
||||
xref:patch-policy[patching a package]).
|
||||
|
||||
* +LIBFOO_SITE+ provides the location of the package, which can be a
|
||||
URL or a local filesystem path. HTTP, FTP and SCP are supported URL
|
||||
@@ -175,8 +175,8 @@ information is (assuming the package name is +libfoo+) :
|
||||
Examples: +
|
||||
+LIBFOO_SITE=http://www.libfoosoftware.org/libfoo+ +
|
||||
+LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor/+ +
|
||||
+LIBFOO_SITE=git://github.com/kergoth/tslib.git+
|
||||
+LIBFOO_SITE=/opt/software/libfoo.tar.gz+
|
||||
+LIBFOO_SITE=git://github.com/kergoth/tslib.git+ +
|
||||
+LIBFOO_SITE=/opt/software/libfoo.tar.gz+ +
|
||||
+LIBFOO_SITE=$(TOPDIR)/../src/libfoo/+
|
||||
|
||||
* +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the
|
||||
@@ -221,7 +221,7 @@ information is (assuming the package name is +libfoo+) :
|
||||
name) that are required for the current target package to
|
||||
compile. These dependencies are guaranteed to be compiled and
|
||||
installed before the configuration of the current package starts. In
|
||||
a similar way, +HOST_LIBFOO_DEPENDENCIES+ lists the dependency for
|
||||
a similar way, +HOST_LIBFOO_DEPENDENCIES+ lists the dependencies for
|
||||
the current host package.
|
||||
|
||||
* +LIBFOO_INSTALL_STAGING+ can be set to +YES+ or +NO+ (default). If
|
||||
@@ -251,9 +251,6 @@ information is (assuming the package name is +libfoo+) :
|
||||
use the same string to make the manifest file uniform.
|
||||
Otherwise, describe the license in a precise and concise way, avoiding
|
||||
ambiguous names such as +BSD+ which actually name a family of licenses.
|
||||
If the root filesystem you generate contains non-opensource packages, you
|
||||
can define their license as +PROPRIETARY+: Buildroot will not save any
|
||||
licensing info or source code for this package.
|
||||
This variable is optional. If it is not defined, +unknown+ will appear in
|
||||
the +license+ field of the manifest file for this package.
|
||||
|
||||
@@ -265,6 +262,11 @@ information is (assuming the package name is +libfoo+) :
|
||||
to let you know, and +not saved+ will appear in the +license files+ field
|
||||
of the manifest file for this package.
|
||||
|
||||
* +LIBFOO_REDISTRIBUTE+ can be set to +YES+ (default) or +NO+ to indicate if
|
||||
the package source code is allowed to be redistributed. Set it to +NO+ for
|
||||
non-opensource packages: Buildroot will not save the source code for this
|
||||
package when collecting the +legal-info+.
|
||||
|
||||
The recommended way to define these variables is to use the following
|
||||
syntax:
|
||||
|
||||
@@ -275,46 +277,45 @@ LIBFOO_VERSION = 2.32
|
||||
Now, the variables that define what should be performed at the
|
||||
different steps of the build process.
|
||||
|
||||
* +LIBFOO_CONFIGURE_CMDS+, used to list the actions to be performed to
|
||||
configure the package before its compilation
|
||||
* +LIBFOO_CONFIGURE_CMDS+ lists the actions to be performed to
|
||||
configure the package before its compilation.
|
||||
|
||||
* +LIBFOO_BUILD_CMDS+, used to list the actions to be performed to
|
||||
compile the package
|
||||
* +LIBFOO_BUILD_CMDS+ lists the actions to be performed to
|
||||
compile the package.
|
||||
|
||||
* +HOST_LIBFOO_INSTALL_CMDS+, used to list the actions to be performed
|
||||
* +HOST_LIBFOO_INSTALL_CMDS+ lists the actions to be performed
|
||||
to install the package, when the package is a host package. The
|
||||
package must install its files to the directory given by
|
||||
+$(HOST_DIR)+. All files, including development files such as
|
||||
headers should be installed, since other packages might be compiled
|
||||
on top of this package.
|
||||
|
||||
* +LIBFOO_INSTALL_TARGET_CMDS+, used to list the actions to be
|
||||
* +LIBFOO_INSTALL_TARGET_CMDS+ lists the actions to be
|
||||
performed to install the package to the target directory, when the
|
||||
package is a target package. The package must install its files to
|
||||
the directory given by +$(TARGET_DIR)+. Only the files required for
|
||||
'documentation' and 'execution' of the package should be
|
||||
installed. Header files should not be installed, they will be copied
|
||||
to the target, if the +development files in target filesystem+
|
||||
option is selected.
|
||||
'execution' of the package have to be
|
||||
installed. Header files, static libraries and documentation will be
|
||||
removed again when the target filesystem is finalized.
|
||||
|
||||
* +LIBFOO_INSTALL_STAGING_CMDS+, used to list the actions to be
|
||||
* +LIBFOO_INSTALL_STAGING_CMDS+ lists the actions to be
|
||||
performed to install the package to the staging directory, when the
|
||||
package is a target package. The package must install its files to
|
||||
the directory given by +$(STAGING_DIR)+. All development files
|
||||
should be installed, since they might be needed to compile other
|
||||
packages.
|
||||
|
||||
* +LIBFOO_CLEAN_CMDS+, used to list the actions to perform to clean up
|
||||
* +LIBFOO_CLEAN_CMDS+, lists the actions to perform to clean up
|
||||
the build directory of the package.
|
||||
|
||||
* +LIBFOO_UNINSTALL_TARGET_CMDS+, used to list the actions to
|
||||
* +LIBFOO_UNINSTALL_TARGET_CMDS+ lists the actions to
|
||||
uninstall the package from the target directory +$(TARGET_DIR)+
|
||||
|
||||
* +LIBFOO_UNINSTALL_STAGING_CMDS+, used to list the actions to
|
||||
* +LIBFOO_UNINSTALL_STAGING_CMDS+ lists the actions to
|
||||
uninstall the package from the staging directory +$(STAGING_DIR)+.
|
||||
|
||||
* +LIBFOO_INSTALL_INIT_SYSV+ and +LIBFOO_INSTALL_INIT_SYSTEMD+, used
|
||||
to install init scripts either for the systemV-like init systems
|
||||
* +LIBFOO_INSTALL_INIT_SYSV+ and +LIBFOO_INSTALL_INIT_SYSTEMD+ list the
|
||||
actions to install init scripts either for the systemV-like init systems
|
||||
(busybox, sysvinit, etc.) or for the systemd units. These commands
|
||||
will be run only when the relevant init system is installed (i.e. if
|
||||
systemd is selected as the init system in the configuration, only
|
||||
@@ -352,11 +353,14 @@ using the autotools infrastructure described below. However, since
|
||||
they are provided by the generic infrastructure, they are documented
|
||||
here. The exception is +LIBFOO_POST_PATCH_HOOKS+. Patching the
|
||||
package and producing legal info are not user definable, so
|
||||
+LIBFOO_POST_PATCH_HOOKS+ and +LIBFOO_POST_LEGAL_INFO_HOOKS+ will be
|
||||
userful for generic packages.
|
||||
+LIBFOO_POST_PATCH_HOOKS+ and +LIBFOO_POST_LEGAL_INFO_HOOKS+ are
|
||||
useful for generic packages.
|
||||
|
||||
The following hook points are available:
|
||||
|
||||
* +LIBFOO_POST_DOWNLOAD_HOOKS+
|
||||
* +LIBFOO_POST_EXTRACT_HOOKS+
|
||||
* +LIBFOO_PRE_PATCH_HOOKS+
|
||||
* +LIBFOO_POST_PATCH_HOOKS+
|
||||
* +LIBFOO_PRE_CONFIGURE_HOOKS+
|
||||
* +LIBFOO_POST_CONFIGURE_HOOKS+
|
||||
|
||||
@@ -27,16 +27,20 @@ Therefore, Buildroot defines two configuration options:
|
||||
doesn't provide its own gettext implementation and if locale support
|
||||
is enabled
|
||||
|
||||
Therefore, packages that unconditionally need gettext should:
|
||||
|
||||
* Use +select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT+
|
||||
|
||||
* Use +$(if $(BR2_NEEDS_GETTEXT),gettext)+ in the package
|
||||
+DEPENDENCIES+ variable
|
||||
|
||||
Packages that need gettext only when locale support is enabled should:
|
||||
|
||||
* Use +select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE+
|
||||
* use +select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE+ in the
|
||||
+Config.in+ file;
|
||||
|
||||
* use +$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)+ in the package
|
||||
+DEPENDENCIES+ variable in the +.mk+ file.
|
||||
|
||||
Packages that unconditionally need gettext (which should be very rare)
|
||||
should:
|
||||
|
||||
* use +select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT+ in the +Config.in+
|
||||
file;
|
||||
|
||||
* use +$(if $(BR2_NEEDS_GETTEXT),gettext)+ in the package
|
||||
+DEPENDENCIES+ variable in the +.mk+ file.
|
||||
|
||||
* Use +$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)+ in the package
|
||||
+DEPENDENCIES+ variable
|
||||
|
||||
@@ -19,7 +19,10 @@ In Buildroot, there is some relationship between:
|
||||
It is mandatory to maintain consistency between these elements,
|
||||
using the following rules:
|
||||
|
||||
* the _make_ target name will be the _package name_ itself (e.g.:
|
||||
* the package directory and the +*.mk+ name are the _package name_
|
||||
itself (e.g.: +package/foo-bar_boo/foo-bar_boo.mk+);
|
||||
|
||||
* the _make_ target name is the _package name_ itself (e.g.:
|
||||
+foo-bar_boo+);
|
||||
|
||||
* the config entry is the upper case _package name_ with `.` and `-`
|
||||
@@ -32,18 +35,12 @@ using the following rules:
|
||||
|
||||
|
||||
[[github-download-url]]
|
||||
How to add package from github
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
How to add a package from github
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
If the package has no release version, or its version cannot be
|
||||
identified using tag, then the sha1 of the particular commit should be
|
||||
used to identify the version (the first 7 characters of the sha1 are
|
||||
enough):
|
||||
|
||||
------------------------
|
||||
FOO_VERSION = 1234567
|
||||
FOO_SITE = http://github.com/<user>/<package>/tarball/<branch>
|
||||
------------------------
|
||||
Packages on github often don't have a download area with release tarballs.
|
||||
However, it is possible to download tarballs directly from the repository
|
||||
on github.
|
||||
|
||||
If the package version matches a tag, then this tag should be used to
|
||||
identify the version:
|
||||
@@ -52,3 +49,16 @@ identify the version:
|
||||
FOO_VERSION = v1.0
|
||||
FOO_SITE = http://github.com/<user>/<package>/tarball/$(FOO_VERSION)
|
||||
------------------------
|
||||
|
||||
If the package has no release version, or its version cannot be
|
||||
identified using tag, then the SHA1 of the particular commit should be
|
||||
used to identify the version (the first 7 characters of the SHA1 are
|
||||
enough):
|
||||
|
||||
------------------------
|
||||
FOO_VERSION = 1234567
|
||||
FOO_SITE = http://github.com/<user>/<package>/tarball/<branch>
|
||||
------------------------
|
||||
|
||||
Note that the name of the tarball is the default +foo-1234567.tar.gz+
|
||||
so it is not necessary to specify it in the +.mk+ file.
|
||||
|
||||
@@ -19,6 +19,8 @@ NFS-root directory:
|
||||
sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir
|
||||
-------------------
|
||||
|
||||
Remember to add this path to +/etc/exports+.
|
||||
|
||||
Then, you can execute a NFS-boot from your target.
|
||||
|
||||
Chroot
|
||||
|
||||
@@ -21,13 +21,13 @@ selections are highly application-specific.
|
||||
Once you have a known working configuration, run +make
|
||||
savedefconfig+. This will generate a minimal +defconfig+ file at the
|
||||
root of the Buildroot source tree. Move this file into the +configs/+
|
||||
directory, and rename it +MYBOARD_defconfig+.
|
||||
directory, and rename it +BOARDNAME_defconfig+.
|
||||
|
||||
It is recommended to use upstream versions of the Linux kernel and
|
||||
bootloaders where possible, and also to use default kernel and bootloader
|
||||
configurations if possible. If the defaults are incorrect for
|
||||
your platform, we encourage you to send fixes to the corresponding upstream
|
||||
projects.
|
||||
your board, or no default exists, we encourage you to send fixes to the
|
||||
corresponding upstream projects.
|
||||
|
||||
However, in the mean time, you may want to store kernel or bootloader
|
||||
configuration or patches specific to your target platform. To do so,
|
||||
|
||||
@@ -47,7 +47,7 @@ safely run multiple builds in parallel using the same source tree as
|
||||
long as they use unique output directories.
|
||||
|
||||
For ease of use, Buildroot generates a Makefile wrapper in the output
|
||||
directory - So after the first run, you no longer need to pass +O=..+
|
||||
directory - so after the first run, you no longer need to pass +O=..+
|
||||
and +-C ..+, simply run (in the output directory):
|
||||
|
||||
--------------------
|
||||
@@ -69,21 +69,21 @@ to +make+ or set in the environment:
|
||||
internal toolchain is being built.
|
||||
+
|
||||
Note that the uClibc configuration file can also be set from the
|
||||
configuration interface, so through the Buildroot .config file; this
|
||||
configuration interface, so through the Buildroot +.config+ file; this
|
||||
is the recommended way of setting it.
|
||||
+
|
||||
* +BUSYBOX_CONFIG_FILE=<path/to/.config>+, path to
|
||||
the Busybox configuration file.
|
||||
+
|
||||
Note that the Busybox configuration file can also be set from the
|
||||
configuration interface, so through the Buildroot .config file; this
|
||||
configuration interface, so through the Buildroot +.config+ file; this
|
||||
is the recommended way of setting it.
|
||||
+
|
||||
* +BUILDROOT_DL_DIR+ to override the directory in which
|
||||
Buildroot stores/retrieves downloaded files
|
||||
+
|
||||
Note that the Buildroot download directory can also be set from the
|
||||
configuration interface, so through the Buildroot .config file; this
|
||||
configuration interface, so through the Buildroot +.config+ file; this
|
||||
is the recommended way of setting it.
|
||||
|
||||
An example that uses config files located in the toplevel directory and
|
||||
|
||||
@@ -5,7 +5,7 @@ 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:
|
||||
there are a few 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
|
||||
@@ -13,7 +13,7 @@ there are a few ways to customize the resulting target filesystem:
|
||||
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.
|
||||
_Changes are not resistent to the +make clean+ command_.
|
||||
_Changes do not survive the +make clean+ command_.
|
||||
|
||||
* Create your own 'target skeleton'. You can start with the default
|
||||
skeleton available under +system/skeleton+ and then customize it to
|
||||
@@ -30,13 +30,13 @@ there are a few ways to customize the resulting target filesystem:
|
||||
assembled. The +BR2_ROOTFS_POST_BUILD_SCRIPT+ will allow you to
|
||||
specify the location of your post-build script. This option can be
|
||||
found in the +System configuration+ menu. The destination root
|
||||
filesystem folder *is given as the first argument to this script,
|
||||
filesystem folder is given as the first argument to this script,
|
||||
and this script can then be used to copy programs, static data or
|
||||
any other needed file to 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 a post-build cleanup
|
||||
script. _Among these first 3 methods, this one should be prefere_d.
|
||||
script. _Among these first 3 methods, this one should be preferred_.
|
||||
|
||||
* A special package, 'customize', stored in +package/customize+ can be
|
||||
used. You can put all the files that you want to see in the final
|
||||
|
||||
@@ -24,24 +24,23 @@ The internal Buildroot toolchain backend *only* allows to generate
|
||||
|
||||
However, it allows to tune major settings, such as:
|
||||
|
||||
* Linux header version
|
||||
* Linux headers version;
|
||||
|
||||
* http://www.uclibc.org/[uClibc] configuration (see xref:uclibc-custom[uClibc])
|
||||
* http://www.uclibc.org/[uClibc] configuration (see xref:uclibc-custom[uClibc]);
|
||||
|
||||
* Binutils, GCC, Gdb and toolchain options
|
||||
* Binutils, GCC, Gdb and toolchain options.
|
||||
|
||||
This is directly available after selecting the +Buildroot toolchain+ type in
|
||||
These settings are available after selecting the +Buildroot toolchain+ type in
|
||||
the menu +Toolchain+.
|
||||
|
||||
Using the Crosstool-NG backend
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The http://crosstool-ng.org[crosstool-NG] toolchain backend enables a rather
|
||||
limited set of settings under the Buildroot +Toolchain+ menu (ie. when invoking
|
||||
+make menuconfig+); mostly:
|
||||
limited set of settings under the Buildroot +Toolchain+ menu:
|
||||
|
||||
* The http://crosstool-ng.org[crosstool-NG] configuration file
|
||||
|
||||
* Gdb and some toolchain options
|
||||
|
||||
Then, the toolchain can be finely tuned invoking +make ctng-menuconfig+.
|
||||
Then, the toolchain can be fine-tuned by invoking +make ctng-menuconfig+.
|
||||
|
||||
@@ -18,17 +18,16 @@ follow these steps:
|
||||
similar to the one used in the Linux kernel or Buildroot,
|
||||
appears. Make your configuration changes as appropriate.
|
||||
|
||||
* Copy the +$(O)/toolchain/uclibc-VERSION/.config+ file to a different
|
||||
place (like +toolchain/uClibc/uClibc-myconfig.config+, or
|
||||
+board/mymanufacturer/myboard/uClibc.config+) and adjust the uClibc
|
||||
configuration (configuration option +BR2_UCLIBC_CONFIG+) to use this
|
||||
* Copy the +$(O)/toolchain/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 +toolchain/uClibc/uClibc.config+,
|
||||
Otherwise, you can simply change +toolchain/uClibc/uClibc-VERSION.config+,
|
||||
without running the configuration assistant.
|
||||
|
||||
If you want to use an existing config file for uclibc, then see
|
||||
If you want to use an existing config file for uClibc, then see
|
||||
xref:env-vars[].
|
||||
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
Location of downloaded packages
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
It might be useful to know that the various tarballs that are
|
||||
downloaded by the Makefiles are all stored in +DL_DIR+ which by
|
||||
default is the +dl+ directory. This is useful, for example, if you want
|
||||
The various tarballs that are downloaded by Buildroot are all stored in
|
||||
+DL_DIR+, which by default is the +dl+ directory. If you want
|
||||
to keep a complete version of Buildroot which is known to be working
|
||||
with the associated tarballs. This will allow you to regenerate the
|
||||
toolchain and the target filesystem with exactly the same versions.
|
||||
with the associated tarballs, you can make a copy of this directory.
|
||||
This will allow you to regenerate the toolchain and the target filesystem
|
||||
with exactly the same versions.
|
||||
|
||||
If you maintain several Buildroot trees, it might be better to have a
|
||||
shared download location. This can be accessed by creating a symbolic
|
||||
@@ -26,3 +26,7 @@ should be added to +<~/.bashrc>+.
|
||||
-----------------
|
||||
$ export BUILDROOT_DL_DIR <shared download location>
|
||||
-----------------
|
||||
|
||||
The download location can also be set in the +.config+ file, with the
|
||||
+BR2_DL_DIR+ option. This value is overridden by the +BUILDROOT_DL_DIR+
|
||||
environment variable.
|
||||
|
||||
@@ -49,7 +49,9 @@ processor. Under most Linux systems, the compilation toolchain uses
|
||||
the GNU libc (glibc) as the C standard library. This compilation
|
||||
toolchain is called the "host compilation toolchain". The machine on
|
||||
which it is running, and on which you're working, is called the "host
|
||||
system".
|
||||
system" footnote:[This terminology differs from what is used by GNU
|
||||
configure, where the host is the machine on which the application will
|
||||
run (which is usually the same as target)].
|
||||
|
||||
The compilation toolchain is provided by your distribution, and
|
||||
Buildroot has nothing to do with it (other than using it to build a
|
||||
@@ -82,7 +84,7 @@ interested in Buildroot for two reasons:
|
||||
|
||||
You might wonder why such a tool is needed when you can compile +gcc+,
|
||||
+binutils+, +uClibc+ and all the other tools by hand. Of course doing
|
||||
so is possible but, dealing with all of the configure options and
|
||||
so is possible, but dealing with all of the configure options and
|
||||
problems of every +gcc+ or +binutils+ version is very time-consuming
|
||||
and uninteresting. Buildroot automates this process through the use
|
||||
of Makefiles and has a collection of patches for each +gcc+ and
|
||||
|
||||
@@ -26,8 +26,8 @@ Then, you have three solutions to use an external toolchain:
|
||||
|
||||
* Use a predefined external toolchain profile, and let Buildroot
|
||||
download, extract and install the toolchain. Buildroot already knows
|
||||
about a few CodeSourcery toolchains for ARM, PowerPC, MIPS and
|
||||
SuperH. Just select the toolchain profile in +Toolchain+ through the
|
||||
about a few CodeSourcery, Linaro, Blackfin and Xilinx toolchains.
|
||||
Just select the toolchain profile in +Toolchain+ from the
|
||||
available ones. This is definitely the easiest solution.
|
||||
|
||||
* Use a predefined external toolchain profile, but instead of having
|
||||
@@ -45,7 +45,8 @@ Then, you have three solutions to use an external toolchain:
|
||||
toolchain C library+ options. Then, you have to tell Buildroot what
|
||||
your external toolchain supports. If your external toolchain uses
|
||||
the 'glibc' library, you only have to tell whether your toolchain
|
||||
supports C++ or not. If your external toolchain uses the 'uclibc'
|
||||
supports C\+\+ or not and whether it has built-in RPC support. If
|
||||
your external toolchain uses the 'uClibc'
|
||||
library, then you have to tell Buildroot if it supports largefile,
|
||||
IPv6, RPC, wide-char, locale, program invocation, threads and
|
||||
C++. At the beginning of the execution, Buildroot will tell you if
|
||||
@@ -53,7 +54,7 @@ Then, you have three solutions to use an external toolchain:
|
||||
|
||||
|
||||
Our external toolchain support has been tested with toolchains from
|
||||
CodeSourcery, toolchains generated by
|
||||
CodeSourcery and Linaro, toolchains generated by
|
||||
http://crosstool-ng.org[crosstool-NG], and toolchains generated by
|
||||
Buildroot itself. In general, all toolchains that support the
|
||||
'sysroot' feature should work. If not, do not hesitate to contact the
|
||||
|
||||
@@ -98,7 +98,7 @@ deal with expressing the dependencies of this package.
|
||||
|
||||
In the +Config.in+ file, dependencies may be expressed following two
|
||||
semantics.
|
||||
See xref:depends-on-vs-select[].
|
||||
See xref:depends-on-vs-select[choosing between _depends_ and _select_].
|
||||
|
||||
[[faq-why-not-visible-package]]
|
||||
Why are some packages not visible in the Buildroot config menu?
|
||||
@@ -131,4 +131,8 @@ one, among these:
|
||||
* device nodes are not created in the target directory.
|
||||
|
||||
For these reasons, commands run through chroot, using the target
|
||||
directory as the new root, would fail.
|
||||
directory as the new root, will most likely fail.
|
||||
|
||||
If you want to run the target filesystem inside a chroot, or as an NFS
|
||||
root, then use the tarball image generated in +images/+ and extract it
|
||||
as root.
|
||||
|
||||
@@ -6,29 +6,38 @@ How Buildroot works
|
||||
As mentioned above, Buildroot is basically a set of Makefiles that
|
||||
download, configure, and compile software with the correct options. It
|
||||
also includes patches for various software packages - mainly the ones
|
||||
involved in the cross-compilation tool chain (+gcc+, +binutils+ and
|
||||
involved in the cross-compilation toolchain (+gcc+, +binutils+ and
|
||||
+uClibc+).
|
||||
|
||||
There is basically one Makefile per software package, and they are
|
||||
named with the +.mk+ extension. Makefiles are split into three main
|
||||
sections:
|
||||
named with the +.mk+ extension. Makefiles are split into many different
|
||||
parts.
|
||||
|
||||
* *toolchain* (in the +toolchain/+ directory) contains the Makefiles
|
||||
* The +toolchain/+ directory contains the Makefiles
|
||||
and associated files for all software related to the
|
||||
cross-compilation toolchain: +binutils+, +gcc+, +gdb+,
|
||||
+kernel-headers+ and +uClibc+.
|
||||
|
||||
* *package* (in the +package/+ directory) contains the Makefiles and
|
||||
associated files for all user-space tools that Buildroot can compile
|
||||
and add to the target root filesystem. There is one sub-directory
|
||||
per tool.
|
||||
* The +arch/+ directory contains the definitions for all the processor
|
||||
architectures that are supported by Buildroot.
|
||||
|
||||
* *target* (in the +target+ directory) contains the Makefiles and
|
||||
* The +package/+ directory contains the Makefiles and
|
||||
associated files for all user-space tools and libraries that Buildroot
|
||||
can compile and add to the target root filesystem. There is one
|
||||
sub-directory per package.
|
||||
|
||||
* The +linux/+ directory contains the Makefiles and associated files for
|
||||
the Linux kernel.
|
||||
|
||||
* The +boot/+ directory contains the Makefiles and associated files for
|
||||
the bootloaders supported by Buildroot.
|
||||
|
||||
* The +system/+ directory contains support for system integration, e.g.
|
||||
the target filesystem skeleton and the selection of an init system.
|
||||
|
||||
* The +fs/+ directory contains the Makefiles and
|
||||
associated files for software related to the generation of the
|
||||
target root filesystem image. Four types of filesystems are
|
||||
supported: ext2, jffs2, cramfs and squashfs. For each of them there
|
||||
is a sub-directory with the required files. There is also a
|
||||
+default/+ directory that contains the target filesystem skeleton.
|
||||
target root filesystem image.
|
||||
|
||||
Each directory contains at least 2 files:
|
||||
|
||||
|
||||
@@ -17,5 +17,5 @@ processors, MIPS processors, ARM processors, etc.
|
||||
Buildroot supports numerous processors and their variants; it also
|
||||
comes with default configurations for several boards available
|
||||
off-the-shelf. Besides this, a number of third-party projects are based on,
|
||||
or develop their BSP footnote:[BSP: Board Software Package] or
|
||||
SDK footnote:[SDK: Standard Development Kit] on top of Buildroot.
|
||||
or develop their BSP footnote:[BSP: Board Support Package] or
|
||||
SDK footnote:[SDK: Software Development Kit] on top of Buildroot.
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
Legal notice and licensing
|
||||
==========================
|
||||
|
||||
Complying with opensource licenses
|
||||
----------------------------------
|
||||
Complying with open source licenses
|
||||
-----------------------------------
|
||||
|
||||
All of the end products of Buildroot (toolchain, root filesystem, kernel,
|
||||
bootloaders) contain opensource software, released under various licenses.
|
||||
bootloaders) contain open source software, released under various licenses.
|
||||
|
||||
Using opensource software gives you the freedom to build rich embedded
|
||||
Using open source software gives you the freedom to build rich embedded
|
||||
systems, choosing from a wide range of packages, but also imposes some
|
||||
obligations that you must know and honour.
|
||||
Some licenses require you to publish the license text in the documentation of
|
||||
@@ -46,7 +46,7 @@ There you will find:
|
||||
* A manifest file listing the configured packages, their version, license and
|
||||
related information.
|
||||
Some of this information might not be defined in Buildroot; such items are
|
||||
clearly marked as "unknown" or similar.
|
||||
marked as "unknown".
|
||||
* A +licenses/+ subdirectory, which contains the license text of packages.
|
||||
If the license file(s) are not defined in Buildroot, the file is not produced
|
||||
and a warning in the +README+ indicates this.
|
||||
@@ -56,63 +56,73 @@ produce all the material that is somehow relevant for legal compliance with the
|
||||
package licenses. Buildroot does not try to produce the exact material that
|
||||
you must somehow make public. Certainly, more material is produced than is
|
||||
needed for a strict legal compliance. For example, it produces the source code
|
||||
for packages released under BSD-like licenses, that you might not want to
|
||||
for packages released under BSD-like licenses, that you are not required to
|
||||
redistribute in source form.
|
||||
|
||||
Moreover, due to technical limitations, Buildroot does not produce some
|
||||
material that you will or may need, such as the toolchain source code and the
|
||||
Buildroot source code itself.
|
||||
Buildroot source code itself (including patches to packages for which source
|
||||
distribution is required).
|
||||
When you run +make legal-info+, Buildroot produces warnings in the +README+
|
||||
file to inform you of relevant material that could not be saved.
|
||||
|
||||
[[legal-info-list-licenses]]
|
||||
License abbreviations
|
||||
---------------------
|
||||
|
||||
Here is a list of the licenses that are most widely used by packages in
|
||||
Buildroot, with the name used in the manifest file:
|
||||
|
||||
* +GPLv2+:
|
||||
* `GPLv2`:
|
||||
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[
|
||||
GNU General Public License, version 2];
|
||||
* +GPLv2++:
|
||||
* `GPLv2+`:
|
||||
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[
|
||||
GNU General Public License, version 2]
|
||||
or (at your option) any later version;
|
||||
* +GPLv3+:
|
||||
* `GPLv3`:
|
||||
http://www.gnu.org/licenses/gpl.html[
|
||||
GNU General Public License, version 3];
|
||||
* +GPLv3++:
|
||||
* `GPLv3+`:
|
||||
http://www.gnu.org/licenses/gpl.html[
|
||||
GNU General Public License, version 3]
|
||||
or (at your option) any later version;
|
||||
* +GPL+:
|
||||
* `GPL`:
|
||||
http://www.gnu.org/licenses/gpl.html[
|
||||
GNU General Public License] (any version);
|
||||
* +LGPLv2.1+:
|
||||
* `LGPLv2`:
|
||||
http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html[
|
||||
GNU Library General Public License, version 2];
|
||||
* `LGPLv2+`:
|
||||
http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html[
|
||||
GNU Library General Public License, version 2.1]
|
||||
or (at your option) any later version;
|
||||
* `LGPLv2.1`:
|
||||
http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html[
|
||||
GNU Lesser General Public License, version 2.1];
|
||||
* +LGPLv2.1++:
|
||||
* `LGPLv2.1+`:
|
||||
http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html[
|
||||
GNU Lesser General Public License, version 2.1]
|
||||
or (at your option) any later version;
|
||||
* +LGPLv3+:
|
||||
* `LGPLv3`:
|
||||
http://www.gnu.org/licenses/lgpl.html[
|
||||
GNU Lesser General Public License, version 3];
|
||||
* +LGPLv3++:
|
||||
* `LGPLv3+`:
|
||||
http://www.gnu.org/licenses/lgpl.html[
|
||||
GNU Lesser General Public License, version 3]
|
||||
or (at your option) any later version;
|
||||
* +LGPL+:
|
||||
* `LGPL`:
|
||||
http://www.gnu.org/licenses/lgpl.html[
|
||||
GNU Lesser General Public License] (any version);
|
||||
* +BSD-4c+: Original BSD 4-clause license;
|
||||
* +BSD-3c+: BSD 3-clause license;
|
||||
* +BSD-2c+: BSD 2-clause license;
|
||||
* +PROPRIETARY+: marks a non-opensource package;
|
||||
Buildroot does not save any licensing info or source code for these packages.
|
||||
* `BSD-4c`: Original BSD 4-clause license;
|
||||
* `BSD-3c`: BSD 3-clause license;
|
||||
* `BSD-2c`: BSD 2-clause license;
|
||||
* `MIT`: MIT-style license.
|
||||
|
||||
Complying with the Buildroot license
|
||||
------------------------------------
|
||||
|
||||
Buildroot itself is an opensource software, released under the
|
||||
Buildroot itself is an open source software, released under the
|
||||
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU General Public
|
||||
License, version 2] or (at your option) any later version.
|
||||
However, being a build system, it is not normally part of the end product:
|
||||
|
||||
@@ -4,55 +4,61 @@
|
||||
'make' tips
|
||||
-----------
|
||||
|
||||
Because Buildroot is a set of Makefiles and patches, there are a few
|
||||
things that are useful to know, such as:
|
||||
This is a collection of tips that help you make the most of Buildroot.
|
||||
|
||||
+make *config+ commands offer a search tool. Read the help message in
|
||||
.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_, search tool is called by pressing +/+;
|
||||
* in _xconfig_, search tool is called by pressing +ctrl+ + +f+.
|
||||
* 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:
|
||||
.Display all commands executed by make:
|
||||
|
||||
--------------------
|
||||
$ make V=0|1 <target>
|
||||
$ make V=1 <target>
|
||||
--------------------
|
||||
|
||||
Display all available targets:
|
||||
.Display all available targets:
|
||||
|
||||
--------------------
|
||||
$ make help
|
||||
--------------------
|
||||
|
||||
Note that some settings in the +.config+ file may hide some targets:
|
||||
.Not all targets are always available,
|
||||
|
||||
* +busybox-menuconfig+ depends on whether +busybox+ is enabled or not
|
||||
in the +Package selection+ menu
|
||||
* +linux-menuconfig+ and +linux-savedefconfig+ depend on whether
|
||||
+linux+ is enabled or not
|
||||
* +uclibc-menuconfig+ depends on whether the toolchain uses the
|
||||
Buildroot internal toolchain backend or not
|
||||
* +ctng-menuconfig+ depends on whether the toolchain uses the
|
||||
crosstool-NG backend or not
|
||||
* +barebox-menuconfig+ and +barebox-savedefconfig+ depend on whether
|
||||
+barebox+ bootloader is enabled or not
|
||||
some settings in the +.config+ file may hide some targets:
|
||||
|
||||
Delete all build products (including build directories, host, staging
|
||||
* +linux-menuconfig+ and +linux-savedefconfig+ only work when
|
||||
+linux+ is enabled;
|
||||
* +uclibc-menuconfig+ is only available when the
|
||||
Buildroot internal toolchain backend is used;
|
||||
* +ctng-menuconfig+ is only available when the
|
||||
crosstool-NG backend is used;
|
||||
* +barebox-menuconfig+ and +barebox-savedefconfig+ only work when the
|
||||
+barebox+ bootloader is enabled.
|
||||
|
||||
.Cleaning:
|
||||
|
||||
Explicit cleaning is required when any of the architecture or toolchain
|
||||
configuration options are changed.
|
||||
|
||||
To delete all build products (including build directories, host, staging
|
||||
and target trees, the images and the toolchain):
|
||||
|
||||
--------------------
|
||||
$ make clean
|
||||
--------------------
|
||||
|
||||
Delete all build products as well as the configuration:
|
||||
To delete all build products as well as the configuration:
|
||||
|
||||
--------------------
|
||||
$ make distclean
|
||||
--------------------
|
||||
|
||||
Note that if +ccache+ is enabled, running +make clean|distclean+ does
|
||||
Note that if +ccache+ is enabled, running +make clean+ or +distclean+ does
|
||||
not empty the compiler cache used by Buildroot. To delete it, refer
|
||||
to xref:ccache[].
|
||||
|
||||
@@ -20,14 +20,15 @@ It takes the form of a line for each file, with the following layout:
|
||||
There are a few non-trivial blocks here:
|
||||
|
||||
- +name+ is the path to the file you want to create/modify
|
||||
- +type+ is the type of the file, being one of :
|
||||
- +type+ is the type of the file, being one of:
|
||||
* f: a regular file
|
||||
* d: a directory
|
||||
* c: a character device file
|
||||
* b: a block device file
|
||||
* p: a named pipe
|
||||
- +mode+, +uid+ and +gid+ are the usual permissions settings
|
||||
- +major+ and +minor+ are here for device files
|
||||
- +major+ and +minor+ are here for device files - set to - for other
|
||||
files
|
||||
- +start+, +inc+ and +count+ are for when you want to create a batch
|
||||
of files, and can be reduced to a loop, beginning at +start+,
|
||||
incrementing its counter by +inc+ until it reaches +count+
|
||||
|
||||
@@ -2,20 +2,13 @@
|
||||
|
||||
[[pkg-build-steps]]
|
||||
|
||||
Package make targets
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
Package-specific _make_ targets
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
A +make <package>+ call achieves several _make targets_ with, as a
|
||||
result, this particular package and its dependencies built, installed
|
||||
in their destination directory (target, staging or host directory).
|
||||
Running +make <package>+ builds and installs that particular package
|
||||
and its dependencies.
|
||||
|
||||
For packages based on the Buildroot infrastructures (+generic-package+,
|
||||
+autotools-package+ or +cmake-package+), each of those
|
||||
actions/steps/commands. For packages relying on other build system,
|
||||
then there is no other choice than looking at the +.mk+ file (see also
|
||||
the xref:rebuild-pkg[]).
|
||||
|
||||
For packages relying on the Buildroot infrastructures, there are
|
||||
For packages relying on the Buildroot infrastructure, there are
|
||||
numerous special make targets that can be called independently like
|
||||
this:
|
||||
|
||||
@@ -23,7 +16,7 @@ this:
|
||||
make <package>-<target>
|
||||
------------
|
||||
|
||||
In order, the package build commands are:
|
||||
The package build targets are (in the order they are executed):
|
||||
|
||||
[width="90%",cols="^1,4",options="header"]
|
||||
|===================================================
|
||||
@@ -38,27 +31,22 @@ build the package
|
||||
| +extract+ | Put the source in the package build directory
|
||||
(extract the tarball, copy the source, etc)
|
||||
|
||||
| +patch+ | Apply the patches if any
|
||||
| +patch+ | Apply the patches, if any
|
||||
|
||||
| +configure+ | Run the configure command
|
||||
| +configure+ | Run the configure commands, if any
|
||||
|
||||
| +build+ | Compile the source
|
||||
| +build+ | Run the compilation commands
|
||||
|
||||
| +install-staging+ |
|
||||
*target package:* Run the installation of the package in the
|
||||
staging directory
|
||||
|
||||
*host package:* Does nothing
|
||||
staging directory, if necessary
|
||||
|
||||
| +install-target+ |
|
||||
*target package:* Run the installation of the package in the
|
||||
staging directory
|
||||
|
||||
*host package:* Does nothing
|
||||
target directory, if necessary
|
||||
|
||||
| +install+ |
|
||||
*target package:* Run the 2 previous installation commands for the
|
||||
target packages
|
||||
*target package:* Run the 2 previous installation commands
|
||||
|
||||
*host package:* Run the installation of the package in the host
|
||||
directory
|
||||
@@ -74,15 +62,18 @@ Additionally, there are some other useful make targets:
|
||||
| +show-depends+ | Displays the dependencies required to build the
|
||||
package
|
||||
|
||||
| +clean+ | Clean the package build directory, also
|
||||
uninstall the package from both the target and the staging directory
|
||||
| +clean+ | Run the clean command of the package, also
|
||||
uninstall the package from both the target and the staging directory; _note
|
||||
that this is not implemented for all packages_
|
||||
|
||||
| +dirclean+ | Remove the whole package build directory
|
||||
|
||||
| +rebuild+ | Rebuild only necessary binaries and install them
|
||||
again
|
||||
| +rebuild+ | Re-run the compilation commands - this only makes
|
||||
sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a file
|
||||
directly in the build directory
|
||||
|
||||
| +reconfigure+ | Re-run the configure command, then rebuild
|
||||
only necessary binaries, and lastly install them again
|
||||
| +reconfigure+ | Re-run the configure commands, then rebuild - this only
|
||||
makes sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a
|
||||
file directly in the build directory
|
||||
|
||||
|===================================================
|
||||
|
||||
@@ -2,37 +2,38 @@
|
||||
|
||||
[[patch-policy]]
|
||||
|
||||
Patch Policy
|
||||
------------
|
||||
Patching a package
|
||||
------------------
|
||||
|
||||
While integrating a new package or updating an existing one, it may be
|
||||
necessary to patch the source of the software to get it built within
|
||||
necessary to patch the source of the software to get it cross-built within
|
||||
Buildroot.
|
||||
|
||||
Buildroot offers an infrastructure to automatically handle this during
|
||||
the builds. It supports several ways of applying patch sets:
|
||||
the builds. It supports two ways of applying patch sets: downloaded patches
|
||||
and patches supplied within buildroot.
|
||||
|
||||
Providing patches
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
Additional tarball
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
Downloaded
|
||||
^^^^^^^^^^
|
||||
|
||||
If it is necessary to apply a patch set available as a downloadable
|
||||
tarball, then add the patch tarball to the +<packagename>_PATCH+
|
||||
variable.
|
||||
If it is necessary to apply a patch that is available for download, then it
|
||||
to the +<packagename>_PATCH+ variable. It is downloaded from the same site
|
||||
as the package itself. It can be a single patch, or a tarball containing a
|
||||
patch series.
|
||||
|
||||
Note that the patch tarballs are downloaded from the same site as the
|
||||
sources.
|
||||
This method is typically used for packages from Debian.
|
||||
|
||||
Within Buildroot
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
Most patches are provided within Buildroot, in the package
|
||||
directory; these typically aim to fix cross-compilation, +libc+ support,
|
||||
directory; these typically aim to fix cross-compilation, libc support,
|
||||
or other such issues.
|
||||
|
||||
These patch files should have the extension +*.patch+.
|
||||
These patch files should be named +<packagename>-*.patch+.
|
||||
|
||||
A +series+ file, as used by +quilt+, may also be added in the
|
||||
package directory. In that case, the +series+ file defines the patch
|
||||
@@ -71,14 +72,15 @@ modified.
|
||||
A message explaining what the patch does, and why it is needed, should
|
||||
be added in the header commentary of the patch.
|
||||
|
||||
You should add a +signed-off-by+ statement in the header of the each
|
||||
patch to help with keeping track of the changes.
|
||||
You should add a +Signed-off-by+ statement in the header of the each
|
||||
patch to help with keeping track of the changes and to certify that the
|
||||
patch is released under the same license as the software that is modified.
|
||||
|
||||
If the software is under version control, it is recommended to use the
|
||||
SCM software to generate the patch set.
|
||||
upstream SCM software to generate the patch set.
|
||||
|
||||
Otherwise, concatenate the header with the output of the
|
||||
+diff -purN source.c.orig source.c+ command.
|
||||
+diff -purN package-version.orig/ package-version/+ command.
|
||||
|
||||
At the end, the patch should look like:
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ Mandatory packages
|
||||
|
||||
** +which+
|
||||
** +sed+
|
||||
** +make+ (version 3.82 or any later)
|
||||
** +make+ (version 3.81 or any later)
|
||||
** +binutils+
|
||||
** +build-essential+ (only for Debian based systems)
|
||||
** +gcc+ (version 2.95 or any later)
|
||||
@@ -47,9 +47,6 @@ Mandatory packages
|
||||
* Source fetching tools:
|
||||
** +wget+
|
||||
|
||||
* Configuration interface dependencies (requires development libraries):
|
||||
** +ncurses5+
|
||||
|
||||
[[requirement-optional]]
|
||||
|
||||
Optional packages
|
||||
@@ -73,6 +70,7 @@ development context (further details: refer to xref:download-infra[]).
|
||||
** +subversion+
|
||||
|
||||
* Configuration interface dependencies (requires development libraries):
|
||||
** +ncurses5+ to use the 'menuconfig' interface
|
||||
** +qt4+ to use the 'xconfig' interface
|
||||
** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ In some cases, a full rebuild is mandatory:
|
||||
|
||||
* each time the toolchain properties are changed, this includes:
|
||||
|
||||
** after changing some toolchain option under the _Toolchain_ menu (if
|
||||
** after changing any toolchain option under the _Toolchain_ menu (if
|
||||
the internal Buildroot backend is used);
|
||||
** after running +make ctng-menuconfig+ (if the crosstool-NG backend
|
||||
is used);
|
||||
@@ -25,7 +25,7 @@ In some cases, a full rebuild is mandatory:
|
||||
In some cases, a full rebuild is recommended:
|
||||
|
||||
* after adding some libraries to the package selection (otherwise,
|
||||
some packages that can be optionally linked against those libraries
|
||||
packages that can be optionally linked against those libraries
|
||||
won't be rebuilt, so they won't support those new available
|
||||
features).
|
||||
|
||||
@@ -41,49 +41,37 @@ One of the most common questions asked by Buildroot users is how to
|
||||
rebuild a given package or how to remove a package without rebuilding
|
||||
everything from scratch.
|
||||
|
||||
Removing a package is currently unsupported by Buildroot without
|
||||
Removing a package is unsupported by Buildroot without
|
||||
rebuilding from scratch. This is because Buildroot doesn't keep track
|
||||
of which package installs what files in the +output/staging+ and
|
||||
+output/target+ directories. However, implementing clean package
|
||||
removal is on the TODO-list of Buildroot developers.
|
||||
+output/target+ directories, or which package would be compiled differently
|
||||
depending on the availability of another package.
|
||||
|
||||
The easiest way to rebuild a single package from scratch is to remove
|
||||
its build directory in +output/build+. Buildroot will then re-extract,
|
||||
re-configure, re-compile and re-install this package from scratch.
|
||||
re-configure, re-compile and re-install this package from scratch. You
|
||||
can ask buildroot to do this with the +make <package>-dirclean+ command.
|
||||
|
||||
For convenience, most packages support the special make targets
|
||||
<package>-reconfigure and <package>-rebuild to repeat the configure
|
||||
and build steps.
|
||||
For convenience, the special make targets
|
||||
<package>-reconfigure and <package>-rebuild repeat the configure
|
||||
resp. build steps.
|
||||
|
||||
However, if you don't want to rebuild the package completely from
|
||||
scratch, a better understanding of the Buildroot internals is
|
||||
needed. Internally, to keep track of which steps have been done and
|
||||
which steps remain to be done, Buildroot maintains stamp files (empty
|
||||
files that just tell whether this or that action has been done). The
|
||||
problem is that these stamp files are not uniformly named and handled
|
||||
by the different packages, so some understanding of the particular
|
||||
package is needed.
|
||||
files that just tell whether this or that action has been done):
|
||||
|
||||
For packages relying on Buildroot packages infrastructures (see
|
||||
xref:adding-packages[this section] for details), the following stamp
|
||||
files are relevant:
|
||||
|
||||
* +output/build/packagename-version/.stamp_configured+. If removed,
|
||||
* +output/build/<package>-<version>/.stamp_configured+. If removed,
|
||||
Buildroot will trigger the recompilation of the package from the
|
||||
configuration step (execution of +./configure+).
|
||||
|
||||
* +output/build/packagename-version/.stamp_built+. If removed,
|
||||
* +output/build/<package>-<version>/.stamp_built+. If removed,
|
||||
Buildroot will trigger the recompilation of the package from the
|
||||
compilation step (execution of +make+).
|
||||
|
||||
.Notes
|
||||
- Since the _Buildroot-2012.11_ release, all packages rely on the
|
||||
Buildroot infrastructures.
|
||||
- Only toolchain packages remain using custom makefiles (i.e. do not
|
||||
use any Buildroot infrastructure).
|
||||
- Most, if not all, packages and toolchain packages will progressively
|
||||
be ported over to the generic, autotools or CMake infrastructure,
|
||||
making it much easier to rebuild individual packages.
|
||||
Note: toolchain packages use custom makefiles. Their stamp files are named
|
||||
differently.
|
||||
|
||||
Further details about package special make target at the
|
||||
Further details about package special make targets are explained in
|
||||
xref:pkg-build-steps[].
|
||||
|
||||
@@ -31,9 +31,9 @@ to run the Qt or GTK-based configurators.
|
||||
All of these "make" commands will need to build a configuration
|
||||
utility (including the interface), so you may need to install
|
||||
"development" packages for relevant libraries used by the
|
||||
configuration utilities. Check the xref:requirement[] to know what
|
||||
Buildroot needs, and specifically the xref:requirement-optional[system requirements]
|
||||
to get the dependencies of favorite interface.
|
||||
configuration utilities. Check xref:requirement[] to know what
|
||||
Buildroot needs, and 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.
|
||||
@@ -52,15 +52,15 @@ You *should never* use +make -jN+ with Buildroot: it does not support
|
||||
'top-level parallel make'. Instead, use the +BR2_JLEVEL+ option to
|
||||
tell Buildroot to run each package compilation with +make -jN+.
|
||||
|
||||
This command will generally perform the following steps:
|
||||
The `make` command will generally perform the following steps:
|
||||
|
||||
* Download source files (as required)
|
||||
* Configure, build and install the cross-compiling toolchain using the
|
||||
appropriate toolchain backend, or simply import an external toolchain
|
||||
* Build/install selected target packages
|
||||
* Build a kernel image, if selected
|
||||
* Build a bootloader image, if selected
|
||||
* Create a root filesystem in selected formats
|
||||
* download source files (as required);
|
||||
* configure, build and install the cross-compiling toolchain using the
|
||||
appropriate toolchain backend, or simply import an external toolchain;
|
||||
* build/install selected target packages;
|
||||
* build a kernel image, if selected;
|
||||
* build a bootloader image, if selected;
|
||||
* create a root filesystem in selected formats.
|
||||
|
||||
Buildroot output is stored in a single directory, +output/+.
|
||||
This directory contains several subdirectories:
|
||||
@@ -86,15 +86,16 @@ This directory contains several subdirectories:
|
||||
* +target/+ which contains 'almost' the complete root filesystem for
|
||||
the target: everything needed is present except the device files in
|
||||
+/dev/+ (Buildroot can't create them because Buildroot doesn't run
|
||||
as root and doesn't want to run as root). Therefore, this directory
|
||||
as root and doesn't want to run as root). Also, it doesn't have the correct
|
||||
permissions (e.g. setuid for the busybox binary). Therefore, this directory
|
||||
*should not be used on your target*. Instead, you should use one of
|
||||
the images built in the +images/+ directory. If you need an
|
||||
extracted image of the root filesystem for booting over NFS, then
|
||||
use the tarball image generated in +images/+ and extract it as
|
||||
root. Compared to +staging/+, +target/+ contains only the files and
|
||||
libraries needed to run the selected target applications: the
|
||||
development files (headers, etc.) are not present, unless the
|
||||
+development files in target filesystem+ option is selected.
|
||||
development files (headers, etc.) are not present, the binaries are
|
||||
stripped.
|
||||
|
||||
* +host/+ contains the installation of tools compiled for the host
|
||||
that are needed for the proper execution of Buildroot, including the
|
||||
|
||||
@@ -1,16 +1,18 @@
|
||||
// -*- mode:doc; -*-
|
||||
|
||||
Writing rules
|
||||
-------------
|
||||
Coding style
|
||||
------------
|
||||
|
||||
Overall, these writing rules are here to help you add new files in
|
||||
Overall, these coding style rules are here to help you to add new files in
|
||||
Buildroot or refactor existing ones.
|
||||
|
||||
If you slightly modify some existing file, the important thing is
|
||||
keeping the consistency of the whole file, so you can:
|
||||
* either follow the potentially deprecated rules used all over this
|
||||
file
|
||||
* or entirely rework it in order to make it comply with those rules.
|
||||
to keep the consistency of the whole file, so you can:
|
||||
|
||||
* either follow the potentially deprecated coding style used in this
|
||||
file,
|
||||
|
||||
* or entirely rework it in order to make it comply with these rules.
|
||||
|
||||
[[writing-rules-config-in]]
|
||||
|
||||
@@ -39,9 +41,9 @@ config BR2_PACKAGE_LIBFOO
|
||||
* The help text itself should be indented with one tab and two
|
||||
spaces.
|
||||
|
||||
The configuration system used in Buildroot, so the content of the
|
||||
+Config.in+ files, is regular _Kconfig_. Further details about
|
||||
_Kconfig_: refer to
|
||||
The +Config.in+ files are the input for the configuration tool
|
||||
used in Buildroot, which is the regular _Kconfig_. For further
|
||||
details about the _Kconfig_ language, refer to
|
||||
http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[].
|
||||
|
||||
[[writing-rules-mk]]
|
||||
@@ -55,15 +57,26 @@ The +.mk+ file
|
||||
LIBFOO_VERSION = 1.0
|
||||
LIBFOO_CONF_OPT += --without-python-support
|
||||
---------------------
|
||||
+
|
||||
It is also possible to align the +=+ signs:
|
||||
+
|
||||
---------------------
|
||||
LIBFOO_VERSION = 1.0
|
||||
LIBFOO_SOURCE = foo-$(LIBFOO_VERSION).tar.gz
|
||||
LIBFOO_CONF_OPT += --without-python-support
|
||||
---------------------
|
||||
|
||||
* Indentation: use tab only:
|
||||
+
|
||||
---------------------
|
||||
define LIBFOO_REMOVE_DOC
|
||||
$(RM) -fr $(TARGET_DIR)/usr/share/libfoo/doc \
|
||||
$(TARGET_DIR)/usr/share/man/man3/libfoo*
|
||||
$(RM) -fr $(TARGET_DIR)/usr/share/libfoo/doc \
|
||||
$(TARGET_DIR)/usr/share/man/man3/libfoo*
|
||||
endef
|
||||
---------------------
|
||||
+
|
||||
Note that commands inside a +define+ block should always start with a tab,
|
||||
so _make_ recognizes them as commands.
|
||||
|
||||
* Optional dependency:
|
||||
|
||||
@@ -121,5 +134,5 @@ The documentation
|
||||
The documentation uses the
|
||||
http://www.methods.co.nz/asciidoc/[asciidoc] format.
|
||||
|
||||
Further details about the http://www.methods.co.nz/asciidoc/[asciidoc]
|
||||
syntax: refer to http://www.methods.co.nz/asciidoc/userguide.html[].
|
||||
For further details about the http://www.methods.co.nz/asciidoc/[asciidoc]
|
||||
syntax, refer to http://www.methods.co.nz/asciidoc/userguide.html[].
|
||||
|
||||
@@ -5,12 +5,34 @@
|
||||
<p>
|
||||
|
||||
<ul>
|
||||
<li><b>2 December 2012 -- 2012.11 released</b>
|
||||
|
||||
<p>The stable 2012.11 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2012.11">CHANGES</a>
|
||||
file for more details
|
||||
and go to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2012.11.tar.bz2">2012.11 release</a>.</p>
|
||||
|
||||
<li><b>30 November 2012 -- 2012.11-rc2 released</b>
|
||||
|
||||
<p>RC2 is out with more bugfixes - See the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2012.11_rc2">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2012.11-rc2.tar.bz2">2012.11-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>17 November 2012 -- 2012.11-rc1 released</b>
|
||||
|
||||
<p>We have a new release candidate! Lots of changes all over the
|
||||
tree, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2012.11_rc1">CHANGES</a>
|
||||
file for details.</p>
|
||||
file for details, and read the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2012-November/061995.html">announcement</a>.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2012.11-rc1.tar.bz2">2012.11-rc1
|
||||
|
||||
@@ -21,6 +21,8 @@ define ROOTFS_CPIO_ADD_INIT
|
||||
fi
|
||||
endef
|
||||
|
||||
PACKAGES_PERMISSIONS_TABLE += /dev/console c 622 0 0 5 1 - - -$(sep)
|
||||
|
||||
endif # BR2_ROOTFS_DEVICE_CREATION_STATIC
|
||||
|
||||
ROOTFS_CPIO_PRE_GEN_HOOKS += ROOTFS_CPIO_ADD_INIT
|
||||
|
||||
@@ -10,7 +10,7 @@ CRAMFS_OPTS=-l
|
||||
endif
|
||||
|
||||
define ROOTFS_CRAMFS_CMD
|
||||
$(HOST_DIR)/usr/bin/mkcramfs -q $(CRAMFS_OPTS) $(TARGET_DIR) $$@
|
||||
$(HOST_DIR)/usr/bin/mkcramfs $(CRAMFS_OPTS) $(TARGET_DIR) $$@
|
||||
endef
|
||||
|
||||
ROOTFS_CRAMFS_DEPENDENCIES = host-cramfs
|
||||
|
||||
@@ -21,7 +21,7 @@ choice
|
||||
prompt "Kernel version"
|
||||
|
||||
config BR2_LINUX_KERNEL_3_6
|
||||
bool "3.6.6"
|
||||
bool "3.6.8"
|
||||
|
||||
config BR2_LINUX_KERNEL_SAME_AS_HEADERS
|
||||
bool "Same as toolchain kernel headers"
|
||||
@@ -76,7 +76,7 @@ config BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION
|
||||
|
||||
config BR2_LINUX_KERNEL_VERSION
|
||||
string
|
||||
default "3.6.6" if BR2_LINUX_KERNEL_3_6
|
||||
default "3.6.8" if BR2_LINUX_KERNEL_3_6
|
||||
default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS
|
||||
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE if BR2_LINUX_KERNEL_CUSTOM_VERSION
|
||||
default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
|
||||
|
||||
@@ -15,6 +15,8 @@ LINUX_DEPENDENCIES += ocf-linux
|
||||
define OCF_LINUX_PREPARE_KERNEL
|
||||
support/scripts/apply-patches.sh $(LINUX_DIR) \
|
||||
$(OCF_LINUX_DIR)/patches/ linux-3.2.1-ocf.patch ; \
|
||||
grep -q __mix_pool_bytes $(LINUX_DIR)/drivers/char/random.c && \
|
||||
$(SED) 's:wordcount\*4:&, NULL:' $(LINUX_DIR)/drivers/char/random.c ; \
|
||||
cp -rf $(OCF_LINUX_DIR)/ocf $(LINUX_DIR)/crypto/ocf ;
|
||||
endef
|
||||
|
||||
|
||||
@@ -177,7 +177,7 @@ source "package/xterm/Config.in"
|
||||
source "package/xvkbd/Config.in"
|
||||
endmenu
|
||||
|
||||
menu "Filesystem utilities"
|
||||
menu "Filesystem and flash utilities"
|
||||
source "package/cifs-utils/Config.in"
|
||||
source "package/cramfs/Config.in"
|
||||
source "package/dosfstools/Config.in"
|
||||
|
||||
@@ -56,6 +56,15 @@ TARGET_ABI+=-mabi=spe -mfloat-gprs=double -Wa,-me500mc
|
||||
endif
|
||||
endif
|
||||
|
||||
# Use longcalls option for Xtensa globally.
|
||||
# The 'longcalls' option allows calls across a greater range of addresses,
|
||||
# and is required for some packages. While this option can degrade both
|
||||
# code size and performance, the linker can usually optimize away the
|
||||
# overhead when a call ends up within a certain range.
|
||||
ifeq ($(BR2_xtensa),y)
|
||||
TARGET_ABI += -mlongcalls
|
||||
endif
|
||||
|
||||
STAGING_DIR=$(HOST_DIR)/usr/$(GNU_TARGET_NAME)/sysroot
|
||||
|
||||
TARGET_OPTIMIZATION:=$(call qstrip,$(BR2_TARGET_OPTIMIZATION))
|
||||
@@ -126,6 +135,7 @@ TARGET_CXX := $(CCACHE) $(TARGET_CXX)
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_STRIP_strip),y)
|
||||
STRIP_STRIP_DEBUG:=--strip-debug
|
||||
STRIP_STRIP_UNNEEDED:=--strip-unneeded
|
||||
STRIP_STRIP_ALL:=--strip-all
|
||||
TARGET_STRIP=$(TARGET_CROSS)strip
|
||||
@@ -133,6 +143,7 @@ STRIPCMD=$(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note
|
||||
KSTRIPCMD=$(STRIPCMD) $(STRIP_STRIP_UNNEEDED)
|
||||
endif
|
||||
ifeq ($(BR2_STRIP_sstrip),y)
|
||||
STRIP_STRIP_DEBUG:=
|
||||
STRIP_STRIP_UNNEEDED:=
|
||||
STRIP_STRIP_ALL:=
|
||||
TARGET_STRIP=$(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-sstrip
|
||||
@@ -305,12 +316,6 @@ else
|
||||
SHARED_STATIC_LIBS_OPTS=--enable-static --enable-shared
|
||||
endif
|
||||
|
||||
# Warn if a package uses the deprecated GENTARGETS macros. This can be
|
||||
# removed again for BR-2012.11.
|
||||
GENTARGETS = $$(error The GENTARGETS macro no longer exists; use $$$$(eval $$$$(generic-package)) or $$$$(eval $$$$(host-generic-package)))
|
||||
AUTOTARGETS = $$(error The AUTOTARGETS macro no longer exists; use $$$$(eval $$$$(autotools-package)) or $$$$(eval $$$$(host-autotools-package)))
|
||||
CMAKETARGETS = $$(error The CMAKETARGETS macro no longer exists; use $$$$(eval $$$$(cmake-package)) or $$$$(eval $$$$(host-cmake-package)))
|
||||
|
||||
include package/pkg-utils.mk
|
||||
include package/pkg-download.mk
|
||||
include package/pkg-autotools.mk
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
ACPID_VERSION = 2.0.11
|
||||
ACPID_SOURCE = acpid_$(ACPID_VERSION).orig.tar.gz
|
||||
ACPID_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/a/acpid
|
||||
ACPID_LICENSE = GPLv2+
|
||||
ACPID_LICENSE_FILES = COPYING
|
||||
|
||||
define ACPID_BUILD_CMDS
|
||||
$(MAKE) CC="$(TARGET_CC)" -C $(@D)
|
||||
|
||||
@@ -17,7 +17,7 @@ ALSA_LIB_CONF_OPT = --with-alsa-devdir=$(call qstrip,$(BR2_PACKAGE_ALSA_LIB_DEVD
|
||||
--without-versioned
|
||||
|
||||
# Can't build with static & shared at the same time (1.0.25+)
|
||||
ifeq ($(BR2_PREFER_STATIC),y)
|
||||
ifeq ($(BR2_PREFER_STATIC_LIB),y)
|
||||
ALSA_LIB_CONF_OPT += --enable-shared=no
|
||||
else
|
||||
ALSA_LIB_CONF_OPT += --enable-static=no
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
config BR2_PACKAGE_ARPTABLES
|
||||
bool "arptables"
|
||||
# needs fork()
|
||||
depends on BR2_USE_MMU
|
||||
help
|
||||
Tool to set up, maintain, and inspect the tables of ARP rules.
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
config BR2_PACKAGE_AVAHI
|
||||
bool "avahi"
|
||||
# libdaemon uses fork()
|
||||
depends on BR2_USE_MMU
|
||||
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
|
||||
help
|
||||
Avahi is a system which facilitates service
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
config BR2_PACKAGE_BINUTILS
|
||||
bool "binutils"
|
||||
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
|
||||
depends on !BR2_aarch64
|
||||
help
|
||||
Install binutils on the target
|
||||
|
||||
|
||||
@@ -68,11 +68,11 @@ define BINUTILS_INSTALL_TARGET_CMDS
|
||||
endef
|
||||
endif
|
||||
|
||||
XTENSA_CORE_NAME = $(call qstrip, $(BR2_xtensa_core_name))
|
||||
XTENSA_CORE_NAME = $(call qstrip, $(BR2_XTENSA_CORE_NAME))
|
||||
ifneq ($(XTENSA_CORE_NAME),)
|
||||
define BINUTILS_XTENSA_PRE_PATCH
|
||||
tar xf $(BR2_xtensa_overlay_dir)/xtensa_$(XTENSA_CORE_NAME).tar \
|
||||
-C $(@D) bfd include ld
|
||||
tar xf $(BR2_XTENSA_OVERLAY_DIR)/xtensa_$(XTENSA_CORE_NAME).tar \
|
||||
-C $(@D) --strip-components=1 binutils
|
||||
endef
|
||||
HOST_BINUTILS_PRE_PATCH_HOOKS += BINUTILS_XTENSA_PRE_PATCH
|
||||
endif
|
||||
|
||||
@@ -27,12 +27,17 @@ BUSYBOX_LDFLAGS = \
|
||||
ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
|
||||
BUSYBOX_DEPENDENCIES += libtirpc
|
||||
BUSYBOX_CFLAGS += -I$(STAGING_DIR)/usr/include/tirpc/
|
||||
BUSYBOX_LDFLAGS += -ltirpc
|
||||
# Don't use LDFLAGS for -ltirpc, because LDFLAGS is used for
|
||||
# the non-final link of modules as well.
|
||||
BUSYBOX_CFLAGS_busybox += -ltirpc
|
||||
endif
|
||||
|
||||
BUSYBOX_BUILD_CONFIG = $(BUSYBOX_DIR)/.config
|
||||
# Allows the build system to tweak CFLAGS
|
||||
BUSYBOX_MAKE_ENV = $(TARGET_MAKE_ENV) CFLAGS="$(BUSYBOX_CFLAGS)"
|
||||
BUSYBOX_MAKE_ENV = \
|
||||
$(TARGET_MAKE_ENV) \
|
||||
CFLAGS="$(BUSYBOX_CFLAGS)" \
|
||||
CFLAGS_busybox="$(BUSYBOX_CFLAGS_busybox)"
|
||||
BUSYBOX_MAKE_OPTS = \
|
||||
CC="$(TARGET_CC)" \
|
||||
ARCH=$(KERNEL_ARCH) \
|
||||
|
||||
@@ -5,5 +5,5 @@ config BR2_PACKAGE_CCACHE
|
||||
caching previous compilations and detecting when the same
|
||||
compilation is being done again
|
||||
|
||||
http://samba.ccache.org
|
||||
http://ccache.samba.org
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ define CJSON_INSTALL_STAGING_CMDS
|
||||
endef
|
||||
|
||||
define CJSON_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -D $(@D)/cJSON/cJSON.h $(STAGING_DIR)/usr/include/cJSON.h
|
||||
$(INSTALL) -D $(@D)/cJSON/cJSON.h $(TARGET_DIR)/usr/include/cJSON.h
|
||||
$(INSTALL) -D $(@D)/cJSON/libcJSON.so $(TARGET_DIR)/usr/lib/libcJSON.so
|
||||
endef
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
config BR2_PACKAGE_DIRECTFB
|
||||
bool "directfb"
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
select BR2_PACKAGE_FREETYPE
|
||||
select BR2_PACKAGE_ZLIB
|
||||
help
|
||||
@@ -107,3 +108,6 @@ config BR2_PACKAGE_DIRECTB_TESTS
|
||||
bool "build directfb tests"
|
||||
|
||||
endif # BR2_PACKAGE_DIRECTFB
|
||||
|
||||
comment "directfb needs a toolchain with thread support"
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#############################################################
|
||||
|
||||
DOSFSTOOLS_VERSION = 3.0.12
|
||||
DOSFSTOOLS_SITE = http://www.daniel-baumann.ch/software/dosfstools
|
||||
DOSFSTOOLS_SITE = http://fossies.org/linux/misc/
|
||||
MKDOSFS_BINARY = mkdosfs
|
||||
DOSFSCK_BINARY = dosfsck
|
||||
DOSFSLABEL_BINARY = dosfslabel
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
|
||||
EXPEDITE_VERSION = 1.1.0
|
||||
EXPEDITE_SITE = http://download.enlightenment.org/releases/
|
||||
EXPEDITE_LICENSE = BSD-2c
|
||||
EXPEDITE_LICENSE_FILES = COPYING
|
||||
|
||||
EXPEDITE_DEPENDENCIES = libevas libeina libeet
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
Backported for commit a0df6712b6afcd07facd32e5a66809170277bdf3
|
||||
Fixed the ChangeLog part.
|
||||
|
||||
This patch fix build with glibc >=2.16, avoiding the following error occurs:
|
||||
|
||||
Making all in ecore
|
||||
make[6]: Entering directory `/opt/buildroot/output/build/host-libecore-1.1.0/src/lib/ecore'
|
||||
CC ecore.lo
|
||||
CC ecore_anim.lo
|
||||
CC ecore_app.lo
|
||||
CC ecore_events.lo
|
||||
CC ecore_getopt.lo
|
||||
CC ecore_idle_enterer.lo
|
||||
CC ecore_idle_exiter.lo
|
||||
CC ecore_idler.lo
|
||||
CC ecore_job.lo
|
||||
CC ecore_main.lo
|
||||
CC ecore_pipe.lo
|
||||
CC ecore_poll.lo
|
||||
CC ecore_time.lo
|
||||
CC ecore_timer.lo
|
||||
CC ecore_thread.lo
|
||||
CC ecore_glib.lo
|
||||
CC ecore_throttle.lo
|
||||
CC ecore_signal.lo
|
||||
CC ecore_exe.lo
|
||||
ecore_exe.c: In function ‘ecore_exe_pipe_run’:
|
||||
ecore_exe.c:486:15: warning: implicit declaration of function ‘setpriority’ [-Wimplicit-function-declaration]
|
||||
ecore_exe.c:486:27: error ‘PRIO_PROCESS’ undeclared (first use in this function)
|
||||
ecore_exe.c:486:27: note: each undeclared identifier is reported only once for each function it appears in
|
||||
make[6]: *** [ecore_exe.lo] Error 1
|
||||
|
||||
|
||||
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
|
||||
---
|
||||
From a0df6712b6afcd07facd32e5a66809170277bdf3 Mon Sep 17 00:00:00 2001
|
||||
From: caro <caro>
|
||||
Date: Fri, 22 Jun 2012 05:36:00 +0000
|
||||
Subject: [PATCH] ecore_exe: fix compilation on fedora 18.
|
||||
|
||||
setpriority needs sys/resource.h. See:
|
||||
|
||||
http://linux.die.net/man/2/setpriority
|
||||
|
||||
I let sys/time.h, it does not hurt on linux and is anyway needed for BSD systems.
|
||||
|
||||
|
||||
git-svn-id: http://svn.enlightenment.org/svn/e@72684 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
|
||||
---
|
||||
ChangeLog | 4 ++++
|
||||
src/lib/ecore/ecore_exe.c | 7 ++-----
|
||||
2 files changed, 6 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/ChangeLog b/ChangeLog
|
||||
index a306f75..549ad19 100644
|
||||
--- a/ChangeLog
|
||||
+++ b/ChangeLog
|
||||
@@ -763,3 +763,7 @@
|
||||
2011-11-29 Mike McCormack
|
||||
|
||||
* Allow quitting before entering the glib version of the main loop
|
||||
+
|
||||
+2012-06-22 Vincent Torri
|
||||
+
|
||||
+ * ecore_exe: fix compilation on fedora 18.
|
||||
diff --git a/src/lib/ecore/ecore_exe.c b/src/lib/ecore/ecore_exe.c
|
||||
index 7931a96..6db32a9 100644
|
||||
--- a/src/lib/ecore/ecore_exe.c
|
||||
+++ b/src/lib/ecore/ecore_exe.c
|
||||
@@ -2,11 +2,6 @@
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
-#if defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__NetBSD__)
|
||||
-# include <sys/time.h>
|
||||
-# include <sys/resource.h>
|
||||
-#endif
|
||||
-
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
@@ -14,6 +9,8 @@
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
+#include <sys/time.h>
|
||||
+#include <sys/resource.h>
|
||||
|
||||
#ifdef HAVE_SYS_PRCTL_H
|
||||
# include <sys/prctl.h>
|
||||
--
|
||||
1.7.12.2
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
LIBECORE_VERSION = 1.1.0
|
||||
LIBECORE_SOURCE = ecore-$(LIBECORE_VERSION).tar.bz2
|
||||
LIBECORE_SITE = http://download.enlightenment.org/releases/
|
||||
LIBECORE_LICENSE = BSD-2c
|
||||
LIBECORE_LICENSE_FILES = COPYING
|
||||
|
||||
LIBECORE_INSTALL_STAGING = YES
|
||||
|
||||
LIBECORE_DEPENDENCIES = host-pkgconf libeina
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
LIBEDBUS_VERSION = 1.1.0
|
||||
LIBEDBUS_SOURCE = e_dbus-$(LIBEDBUS_VERSION).tar.bz2
|
||||
LIBEDBUS_SITE = http://download.enlightenment.org/releases/
|
||||
LIBEDBUS_LICENSE = BSD-2c
|
||||
LIBEDBUS_LICENSE_FILES = COPYING
|
||||
|
||||
LIBEDBUS_INSTALL_STAGING = YES
|
||||
|
||||
LIBEDBUS_DEPENDENCIES = host-pkgconf dbus libeina libecore
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
LIBEDJE_VERSION = 1.1.0
|
||||
LIBEDJE_SOURCE = edje-$(LIBEDJE_VERSION).tar.bz2
|
||||
LIBEDJE_SITE = http://download.enlightenment.org/releases/
|
||||
LIBEDJE_LICENSE = GPLv2+ (epp binary), BSD-2c (everything else)
|
||||
LIBEDJE_LICENSE_FILES = COPYING
|
||||
|
||||
LIBEDJE_INSTALL_STAGING = YES
|
||||
|
||||
LIBEDJE_DEPENDENCIES = host-pkgconf lua libeina libeet libecore libevas \
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
LIBEET_VERSION = 1.5.0
|
||||
LIBEET_SOURCE = eet-$(LIBEET_VERSION).tar.bz2
|
||||
LIBEET_SITE = http://download.enlightenment.org/releases/
|
||||
LIBEET_LICENSE = BSD-2c
|
||||
LIBEET_LICENSE_FILES = COPYING
|
||||
|
||||
LIBEET_INSTALL_STAGING = YES
|
||||
|
||||
LIBEET_DEPENDENCIES = host-pkgconf zlib jpeg libeina
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
LIBEFREET_VERSION = 1.1.0
|
||||
LIBEFREET_SOURCE = efreet-$(LIBEFREET_VERSION).tar.bz2
|
||||
LIBEFREET_SITE = http://download.enlightenment.org/releases/
|
||||
LIBEFREET_LICENSE = BSD-2c
|
||||
LIBEFREET_LICENSE_FILES = COPYING
|
||||
|
||||
LIBEFREET_INSTALL_STAGING = YES
|
||||
|
||||
LIBEFREET_DEPENDENCIES = libeina libeet libecore
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
LIBEINA_VERSION = 1.1.0
|
||||
LIBEINA_SOURCE = eina-$(LIBEINA_VERSION).tar.bz2
|
||||
LIBEINA_SITE = http://download.enlightenment.org/releases/
|
||||
LIBEINA_LICENSE = LGPLv2.1+
|
||||
LIBEINA_LICENSE_FILES = COPYING
|
||||
|
||||
LIBEINA_INSTALL_STAGING = YES
|
||||
|
||||
LIBEINA_DEPENDENCIES = host-pkgconf
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
LIBELEMENTARY_VERSION = 0.8.0.65643
|
||||
LIBELEMENTARY_SOURCE = elementary-$(LIBELEMENTARY_VERSION).tar.bz2
|
||||
LIBELEMENTARY_SITE = http://download.enlightenment.org/snapshots/2011-11-28
|
||||
LIBELEMENTARY_LICENSE = LGPLv2.1
|
||||
LIBELEMENTARY_LICENSE_FILES = COPYING
|
||||
|
||||
LIBELEMENTARY_INSTALL_STAGING = YES
|
||||
|
||||
LIBELEMENTARY_DEPENDENCIES = libeina libevas libecore libedje host-libedje \
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
LIBEMBRYO_VERSION = 1.1.0
|
||||
LIBEMBRYO_SOURCE = embryo-$(LIBEMBRYO_VERSION).tar.bz2
|
||||
LIBEMBRYO_SITE = http://download.enlightenment.org/releases/
|
||||
LIBEMBRYO_LICENSE = BSD-2c, Embryo license
|
||||
LIBEMBRYO_LICENSE_FILES = COPYING
|
||||
|
||||
LIBEMBRYO_INSTALL_STAGING = YES
|
||||
|
||||
LIBEMBRYO_DEPENDENCIES = host-pkgconf libeina
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
LIBETHUMB_VERSION = 0.1.1.65643
|
||||
LIBETHUMB_SOURCE = ethumb-$(LIBETHUMB_VERSION).tar.bz2
|
||||
LIBETHUMB_SITE = http://download.enlightenment.org/snapshots/2011-11-28
|
||||
LIBETHUMB_LICENSE = LGPLv2.1+
|
||||
LIBETHUMB_LICENSE_FILES = COPYING
|
||||
|
||||
LIBETHUMB_INSTALL_STAGING = YES
|
||||
|
||||
LIBETHUMB_DEPENDENCIES = libeina libevas libecore libedje host-libedje
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
LIBEVAS_VERSION = 1.1.0
|
||||
LIBEVAS_SOURCE = evas-$(LIBEVAS_VERSION).tar.bz2
|
||||
LIBEVAS_SITE = http://download.enlightenment.org/releases/
|
||||
LIBEVAS_LICENSE = BSD-2c
|
||||
LIBEVAS_LICENSE_FILES = COPYING
|
||||
|
||||
LIBEVAS_INSTALL_STAGING = YES
|
||||
|
||||
LIBEVAS_DEPENDENCIES = host-pkgconf zlib libeina freetype
|
||||
|
||||
@@ -6,10 +6,10 @@ config BR2_PACKAGE_FLEX
|
||||
|
||||
http://www.gnu.org/software/flex/
|
||||
|
||||
config BR2_PACKAGE_FLEX_LIBFL
|
||||
bool "Install libfl.a under staging_dir/usr/lib"
|
||||
default y
|
||||
config BR2_PACKAGE_FLEX_BINARY
|
||||
bool "Install tool in the target"
|
||||
# needs fork()
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_PACKAGE_FLEX
|
||||
help
|
||||
Install libfl.a under staging_dir/usr/lib for further development
|
||||
on a host machine.
|
||||
Install the flex binary tool in the target filesystem.
|
||||
|
||||
@@ -16,30 +16,20 @@ FLEX_DEPENDENCIES = \
|
||||
# we don't have a host-gettext/libintl
|
||||
HOST_FLEX_DEPENDENCIES =
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FLEX_BINARY),y)
|
||||
# lex -> flex
|
||||
define FLEX_INSTALL_LEX
|
||||
cd $(TARGET_DIR)/usr/bin && ln -snf flex lex
|
||||
endef
|
||||
|
||||
define FLEX_UNINSTALL_LEX
|
||||
-rm $(TARGET_DIR)/usr/bin/lex
|
||||
endef
|
||||
|
||||
FLEX_POST_INSTALL_HOOKS += FLEX_INSTALL_LEX
|
||||
FLEX_POST_CLEAN_HOOKS += FLEX_UNINSTALL_LEX
|
||||
|
||||
# libfl installation
|
||||
ifeq ($(BR2_PACKAGE_FLEX_LIBFL),y)
|
||||
define FLEX_INSTALL_LIBFL
|
||||
install -D $(FLEX_DIR)/libfl.a $(STAGING_DIR)/usr/lib/libfl.a
|
||||
else
|
||||
|
||||
define FLEX_DISABLE_PROGRAM
|
||||
$(SED) 's/^bin_PROGRAMS.*//' $(@D)/Makefile.in
|
||||
endef
|
||||
FLEX_POST_PATCH_HOOKS += FLEX_DISABLE_PROGRAM
|
||||
|
||||
define FLEX_UNINSTALL_LIBFL
|
||||
-rm $(STAGING_DIR)/lib/libfl.a
|
||||
endef
|
||||
|
||||
FLEX_POST_INSTALL_HOOKS += FLEX_INSTALL_LIBFL
|
||||
FLEX_POST_CLEAN_HOOKS += FLEX_UNINSTALL_LIBFL
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
FLUXBOX_VERSION = 1.3.2
|
||||
FLUXBOX_SOURCE = fluxbox-$(FLUXBOX_VERSION).tar.bz2
|
||||
FLUXBOX_SITE = http://downloads.sourceforge.net/project/fluxbox/fluxbox/$(FLUXBOX_VERSION)
|
||||
FLUXBOX_LICENSE = MIT
|
||||
FLUXBOX_LICENSE_FILES = COPYING
|
||||
|
||||
FLUXBOX_CONF_OPT = --x-includes=$(STAGING_DIR)/usr/include/X11 \
|
||||
--x-libraries=$(STAGING_DIR)/usr/lib
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
config BR2_PACKAGE_HIAWATHA
|
||||
bool "hiawatha"
|
||||
# needs fork()
|
||||
depends on BR2_USE_MMU
|
||||
help
|
||||
Hiawatha is a webserver for Unix and has been built with
|
||||
security in mind. This resulted in a highly secure
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
config BR2_PACKAGE_IFPLUGD
|
||||
bool "ifplugd"
|
||||
# libdaemon uses fork()
|
||||
depends on BR2_USE_MMU
|
||||
select BR2_PACKAGE_LIBDAEMON
|
||||
help
|
||||
Ifplugd is a daemon which will automatically configure your
|
||||
|
||||
@@ -0,0 +1,645 @@
|
||||
Fetch from: http://etherlabmaster.hg.sourceforge.net/hgweb/etherlabmaster/etherlabmaster/rev/907948bb2285
|
||||
|
||||
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
|
||||
---
|
||||
# HG changeset patch
|
||||
# User Florian Pose <fp@igh-essen.com>
|
||||
# Date 1342171132 -7200
|
||||
# Node ID 907948bb2285cbc30af501729593e4fefa7c20db
|
||||
# Parent 5d7d2722dfaa0de2c80efb3187d41e434814f783
|
||||
Fixed COPYING.LESSER to be LGPL 2.1 (like in file headers).
|
||||
|
||||
diff -r 5d7d2722dfaa -r 907948bb2285 COPYING.LESSER
|
||||
--- a/COPYING.LESSER Fri Jul 13 10:42:31 2012 +0200
|
||||
+++ b/COPYING.LESSER Fri Jul 13 11:18:52 2012 +0200
|
||||
@@ -1,165 +1,502 @@
|
||||
- GNU LESSER GENERAL PUBLIC LICENSE
|
||||
- Version 3, 29 June 2007
|
||||
+ GNU LESSER GENERAL PUBLIC LICENSE
|
||||
+ Version 2.1, February 1999
|
||||
|
||||
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
+[This is the first released version of the Lesser GPL. It also counts
|
||||
+ as the successor of the GNU Library Public License, version 2, hence
|
||||
+ the version number 2.1.]
|
||||
|
||||
- This version of the GNU Lesser General Public License incorporates
|
||||
-the terms and conditions of version 3 of the GNU General Public
|
||||
-License, supplemented by the additional permissions listed below.
|
||||
+ Preamble
|
||||
|
||||
- 0. Additional Definitions.
|
||||
+ The licenses for most software are designed to take away your
|
||||
+freedom to share and change it. By contrast, the GNU General Public
|
||||
+Licenses are intended to guarantee your freedom to share and change
|
||||
+free software--to make sure the software is free for all its users.
|
||||
|
||||
- As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
-General Public License.
|
||||
+ This license, the Lesser General Public License, applies to some
|
||||
+specially designated software packages--typically libraries--of the
|
||||
+Free Software Foundation and other authors who decide to use it. You
|
||||
+can use it too, but we suggest you first think carefully about whether
|
||||
+this license or the ordinary General Public License is the better
|
||||
+strategy to use in any particular case, based on the explanations below.
|
||||
|
||||
- "The Library" refers to a covered work governed by this License,
|
||||
-other than an Application or a Combined Work as defined below.
|
||||
+ When we speak of free software, we are referring to freedom of use,
|
||||
+not price. Our General Public Licenses are designed to make sure that
|
||||
+you have the freedom to distribute copies of free software (and charge
|
||||
+for this service if you wish); that you receive source code or can get
|
||||
+it if you want it; that you can change the software and use pieces of
|
||||
+it in new free programs; and that you are informed that you can do
|
||||
+these things.
|
||||
|
||||
- An "Application" is any work that makes use of an interface provided
|
||||
-by the Library, but which is not otherwise based on the Library.
|
||||
-Defining a subclass of a class defined by the Library is deemed a mode
|
||||
-of using an interface provided by the Library.
|
||||
+ To protect your rights, we need to make restrictions that forbid
|
||||
+distributors to deny you these rights or to ask you to surrender these
|
||||
+rights. These restrictions translate to certain responsibilities for
|
||||
+you if you distribute copies of the library or if you modify it.
|
||||
|
||||
- A "Combined Work" is a work produced by combining or linking an
|
||||
-Application with the Library. The particular version of the Library
|
||||
-with which the Combined Work was made is also called the "Linked
|
||||
-Version".
|
||||
+ For example, if you distribute copies of the library, whether gratis
|
||||
+or for a fee, you must give the recipients all the rights that we gave
|
||||
+you. You must make sure that they, too, receive or can get the source
|
||||
+code. If you link other code with the library, you must provide
|
||||
+complete object files to the recipients, so that they can relink them
|
||||
+with the library after making changes to the library and recompiling
|
||||
+it. And you must show them these terms so they know their rights.
|
||||
|
||||
- The "Minimal Corresponding Source" for a Combined Work means the
|
||||
-Corresponding Source for the Combined Work, excluding any source code
|
||||
-for portions of the Combined Work that, considered in isolation, are
|
||||
-based on the Application, and not on the Linked Version.
|
||||
+ We protect your rights with a two-step method: (1) we copyright the
|
||||
+library, and (2) we offer you this license, which gives you legal
|
||||
+permission to copy, distribute and/or modify the library.
|
||||
|
||||
- The "Corresponding Application Code" for a Combined Work means the
|
||||
-object code and/or source code for the Application, including any data
|
||||
-and utility programs needed for reproducing the Combined Work from the
|
||||
-Application, but excluding the System Libraries of the Combined Work.
|
||||
+ To protect each distributor, we want to make it very clear that
|
||||
+there is no warranty for the free library. Also, if the library is
|
||||
+modified by someone else and passed on, the recipients should know
|
||||
+that what they have is not the original version, so that the original
|
||||
+author's reputation will not be affected by problems that might be
|
||||
+introduced by others.
|
||||
+
|
||||
+ Finally, software patents pose a constant threat to the existence of
|
||||
+any free program. We wish to make sure that a company cannot
|
||||
+effectively restrict the users of a free program by obtaining a
|
||||
+restrictive license from a patent holder. Therefore, we insist that
|
||||
+any patent license obtained for a version of the library must be
|
||||
+consistent with the full freedom of use specified in this license.
|
||||
|
||||
- 1. Exception to Section 3 of the GNU GPL.
|
||||
+ Most GNU software, including some libraries, is covered by the
|
||||
+ordinary GNU General Public License. This license, the GNU Lesser
|
||||
+General Public License, applies to certain designated libraries, and
|
||||
+is quite different from the ordinary General Public License. We use
|
||||
+this license for certain libraries in order to permit linking those
|
||||
+libraries into non-free programs.
|
||||
|
||||
- You may convey a covered work under sections 3 and 4 of this License
|
||||
-without being bound by section 3 of the GNU GPL.
|
||||
+ When a program is linked with a library, whether statically or using
|
||||
+a shared library, the combination of the two is legally speaking a
|
||||
+combined work, a derivative of the original library. The ordinary
|
||||
+General Public License therefore permits such linking only if the
|
||||
+entire combination fits its criteria of freedom. The Lesser General
|
||||
+Public License permits more lax criteria for linking other code with
|
||||
+the library.
|
||||
|
||||
- 2. Conveying Modified Versions.
|
||||
+ We call this license the "Lesser" General Public License because it
|
||||
+does Less to protect the user's freedom than the ordinary General
|
||||
+Public License. It also provides other free software developers Less
|
||||
+of an advantage over competing non-free programs. These disadvantages
|
||||
+are the reason we use the ordinary General Public License for many
|
||||
+libraries. However, the Lesser license provides advantages in certain
|
||||
+special circumstances.
|
||||
|
||||
- If you modify a copy of the Library, and, in your modifications, a
|
||||
-facility refers to a function or data to be supplied by an Application
|
||||
-that uses the facility (other than as an argument passed when the
|
||||
-facility is invoked), then you may convey a copy of the modified
|
||||
-version:
|
||||
+ For example, on rare occasions, there may be a special need to
|
||||
+encourage the widest possible use of a certain library, so that it becomes
|
||||
+a de-facto standard. To achieve this, non-free programs must be
|
||||
+allowed to use the library. A more frequent case is that a free
|
||||
+library does the same job as widely used non-free libraries. In this
|
||||
+case, there is little to gain by limiting the free library to free
|
||||
+software only, so we use the Lesser General Public License.
|
||||
|
||||
- a) under this License, provided that you make a good faith effort to
|
||||
- ensure that, in the event an Application does not supply the
|
||||
- function or data, the facility still operates, and performs
|
||||
- whatever part of its purpose remains meaningful, or
|
||||
+ In other cases, permission to use a particular library in non-free
|
||||
+programs enables a greater number of people to use a large body of
|
||||
+free software. For example, permission to use the GNU C Library in
|
||||
+non-free programs enables many more people to use the whole GNU
|
||||
+operating system, as well as its variant, the GNU/Linux operating
|
||||
+system.
|
||||
|
||||
- b) under the GNU GPL, with none of the additional permissions of
|
||||
- this License applicable to that copy.
|
||||
+ Although the Lesser General Public License is Less protective of the
|
||||
+users' freedom, it does ensure that the user of a program that is
|
||||
+linked with the Library has the freedom and the wherewithal to run
|
||||
+that program using a modified version of the Library.
|
||||
|
||||
- 3. Object Code Incorporating Material from Library Header Files.
|
||||
+ The precise terms and conditions for copying, distribution and
|
||||
+modification follow. Pay close attention to the difference between a
|
||||
+"work based on the library" and a "work that uses the library". The
|
||||
+former contains code derived from the library, whereas the latter must
|
||||
+be combined with the library in order to run.
|
||||
+
|
||||
+ GNU LESSER GENERAL PUBLIC LICENSE
|
||||
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
- The object code form of an Application may incorporate material from
|
||||
-a header file that is part of the Library. You may convey such object
|
||||
-code under terms of your choice, provided that, if the incorporated
|
||||
-material is not limited to numerical parameters, data structure
|
||||
-layouts and accessors, or small macros, inline functions and templates
|
||||
-(ten or fewer lines in length), you do both of the following:
|
||||
+ 0. This License Agreement applies to any software library or other
|
||||
+program which contains a notice placed by the copyright holder or
|
||||
+other authorized party saying it may be distributed under the terms of
|
||||
+this Lesser General Public License (also called "this License").
|
||||
+Each licensee is addressed as "you".
|
||||
|
||||
- a) Give prominent notice with each copy of the object code that the
|
||||
- Library is used in it and that the Library and its use are
|
||||
- covered by this License.
|
||||
+ A "library" means a collection of software functions and/or data
|
||||
+prepared so as to be conveniently linked with application programs
|
||||
+(which use some of those functions and data) to form executables.
|
||||
|
||||
- b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
- document.
|
||||
+ The "Library", below, refers to any such software library or work
|
||||
+which has been distributed under these terms. A "work based on the
|
||||
+Library" means either the Library or any derivative work under
|
||||
+copyright law: that is to say, a work containing the Library or a
|
||||
+portion of it, either verbatim or with modifications and/or translated
|
||||
+straightforwardly into another language. (Hereinafter, translation is
|
||||
+included without limitation in the term "modification".)
|
||||
|
||||
- 4. Combined Works.
|
||||
+ "Source code" for a work means the preferred form of the work for
|
||||
+making modifications to it. For a library, complete source code means
|
||||
+all the source code for all modules it contains, plus any associated
|
||||
+interface definition files, plus the scripts used to control compilation
|
||||
+and installation of the library.
|
||||
|
||||
- You may convey a Combined Work under terms of your choice that,
|
||||
-taken together, effectively do not restrict modification of the
|
||||
-portions of the Library contained in the Combined Work and reverse
|
||||
-engineering for debugging such modifications, if you also do each of
|
||||
-the following:
|
||||
+ Activities other than copying, distribution and modification are not
|
||||
+covered by this License; they are outside its scope. The act of
|
||||
+running a program using the Library is not restricted, and output from
|
||||
+such a program is covered only if its contents constitute a work based
|
||||
+on the Library (independent of the use of the Library in a tool for
|
||||
+writing it). Whether that is true depends on what the Library does
|
||||
+and what the program that uses the Library does.
|
||||
|
||||
- a) Give prominent notice with each copy of the Combined Work that
|
||||
- the Library is used in it and that the Library and its use are
|
||||
- covered by this License.
|
||||
+ 1. You may copy and distribute verbatim copies of the Library's
|
||||
+complete source code as you receive it, in any medium, provided that
|
||||
+you conspicuously and appropriately publish on each copy an
|
||||
+appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
+all the notices that refer to this License and to the absence of any
|
||||
+warranty; and distribute a copy of this License along with the
|
||||
+Library.
|
||||
|
||||
- b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
- document.
|
||||
+ You may charge a fee for the physical act of transferring a copy,
|
||||
+and you may at your option offer warranty protection in exchange for a
|
||||
+fee.
|
||||
+
|
||||
+ 2. You may modify your copy or copies of the Library or any portion
|
||||
+of it, thus forming a work based on the Library, and copy and
|
||||
+distribute such modifications or work under the terms of Section 1
|
||||
+above, provided that you also meet all of these conditions:
|
||||
|
||||
- c) For a Combined Work that displays copyright notices during
|
||||
- execution, include the copyright notice for the Library among
|
||||
- these notices, as well as a reference directing the user to the
|
||||
- copies of the GNU GPL and this license document.
|
||||
+ a) The modified work must itself be a software library.
|
||||
|
||||
- d) Do one of the following:
|
||||
+ b) You must cause the files modified to carry prominent notices
|
||||
+ stating that you changed the files and the date of any change.
|
||||
|
||||
- 0) Convey the Minimal Corresponding Source under the terms of this
|
||||
- License, and the Corresponding Application Code in a form
|
||||
- suitable for, and under terms that permit, the user to
|
||||
- recombine or relink the Application with a modified version of
|
||||
- the Linked Version to produce a modified Combined Work, in the
|
||||
- manner specified by section 6 of the GNU GPL for conveying
|
||||
- Corresponding Source.
|
||||
+ c) You must cause the whole of the work to be licensed at no
|
||||
+ charge to all third parties under the terms of this License.
|
||||
|
||||
- 1) Use a suitable shared library mechanism for linking with the
|
||||
- Library. A suitable mechanism is one that (a) uses at run time
|
||||
- a copy of the Library already present on the user's computer
|
||||
- system, and (b) will operate properly with a modified version
|
||||
- of the Library that is interface-compatible with the Linked
|
||||
- Version.
|
||||
+ d) If a facility in the modified Library refers to a function or a
|
||||
+ table of data to be supplied by an application program that uses
|
||||
+ the facility, other than as an argument passed when the facility
|
||||
+ is invoked, then you must make a good faith effort to ensure that,
|
||||
+ in the event an application does not supply such function or
|
||||
+ table, the facility still operates, and performs whatever part of
|
||||
+ its purpose remains meaningful.
|
||||
|
||||
- e) Provide Installation Information, but only if you would otherwise
|
||||
- be required to provide such information under section 6 of the
|
||||
- GNU GPL, and only to the extent that such information is
|
||||
- necessary to install and execute a modified version of the
|
||||
- Combined Work produced by recombining or relinking the
|
||||
- Application with a modified version of the Linked Version. (If
|
||||
- you use option 4d0, the Installation Information must accompany
|
||||
- the Minimal Corresponding Source and Corresponding Application
|
||||
- Code. If you use option 4d1, you must provide the Installation
|
||||
- Information in the manner specified by section 6 of the GNU GPL
|
||||
- for conveying Corresponding Source.)
|
||||
+ (For example, a function in a library to compute square roots has
|
||||
+ a purpose that is entirely well-defined independent of the
|
||||
+ application. Therefore, Subsection 2d requires that any
|
||||
+ application-supplied function or table used by this function must
|
||||
+ be optional: if the application does not supply it, the square
|
||||
+ root function must still compute square roots.)
|
||||
|
||||
- 5. Combined Libraries.
|
||||
+These requirements apply to the modified work as a whole. If
|
||||
+identifiable sections of that work are not derived from the Library,
|
||||
+and can be reasonably considered independent and separate works in
|
||||
+themselves, then this License, and its terms, do not apply to those
|
||||
+sections when you distribute them as separate works. But when you
|
||||
+distribute the same sections as part of a whole which is a work based
|
||||
+on the Library, the distribution of the whole must be on the terms of
|
||||
+this License, whose permissions for other licensees extend to the
|
||||
+entire whole, and thus to each and every part regardless of who wrote
|
||||
+it.
|
||||
|
||||
- You may place library facilities that are a work based on the
|
||||
-Library side by side in a single library together with other library
|
||||
-facilities that are not Applications and are not covered by this
|
||||
-License, and convey such a combined library under terms of your
|
||||
-choice, if you do both of the following:
|
||||
+Thus, it is not the intent of this section to claim rights or contest
|
||||
+your rights to work written entirely by you; rather, the intent is to
|
||||
+exercise the right to control the distribution of derivative or
|
||||
+collective works based on the Library.
|
||||
|
||||
- a) Accompany the combined library with a copy of the same work based
|
||||
- on the Library, uncombined with any other library facilities,
|
||||
- conveyed under the terms of this License.
|
||||
+In addition, mere aggregation of another work not based on the Library
|
||||
+with the Library (or with a work based on the Library) on a volume of
|
||||
+a storage or distribution medium does not bring the other work under
|
||||
+the scope of this License.
|
||||
|
||||
- b) Give prominent notice with the combined library that part of it
|
||||
- is a work based on the Library, and explaining where to find the
|
||||
- accompanying uncombined form of the same work.
|
||||
+ 3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
+License instead of this License to a given copy of the Library. To do
|
||||
+this, you must alter all the notices that refer to this License, so
|
||||
+that they refer to the ordinary GNU General Public License, version 2,
|
||||
+instead of to this License. (If a newer version than version 2 of the
|
||||
+ordinary GNU General Public License has appeared, then you can specify
|
||||
+that version instead if you wish.) Do not make any other change in
|
||||
+these notices.
|
||||
+
|
||||
+ Once this change is made in a given copy, it is irreversible for
|
||||
+that copy, so the ordinary GNU General Public License applies to all
|
||||
+subsequent copies and derivative works made from that copy.
|
||||
|
||||
- 6. Revised Versions of the GNU Lesser General Public License.
|
||||
+ This option is useful when you wish to copy part of the code of
|
||||
+the Library into a program that is not a library.
|
||||
|
||||
- The Free Software Foundation may publish revised and/or new versions
|
||||
-of the GNU Lesser General Public License from time to time. Such new
|
||||
-versions will be similar in spirit to the present version, but may
|
||||
-differ in detail to address new problems or concerns.
|
||||
+ 4. You may copy and distribute the Library (or a portion or
|
||||
+derivative of it, under Section 2) in object code or executable form
|
||||
+under the terms of Sections 1 and 2 above provided that you accompany
|
||||
+it with the complete corresponding machine-readable source code, which
|
||||
+must be distributed under the terms of Sections 1 and 2 above on a
|
||||
+medium customarily used for software interchange.
|
||||
|
||||
- Each version is given a distinguishing version number. If the
|
||||
-Library as you received it specifies that a certain numbered version
|
||||
-of the GNU Lesser General Public License "or any later version"
|
||||
-applies to it, you have the option of following the terms and
|
||||
-conditions either of that published version or of any later version
|
||||
-published by the Free Software Foundation. If the Library as you
|
||||
-received it does not specify a version number of the GNU Lesser
|
||||
-General Public License, you may choose any version of the GNU Lesser
|
||||
-General Public License ever published by the Free Software Foundation.
|
||||
+ If distribution of object code is made by offering access to copy
|
||||
+from a designated place, then offering equivalent access to copy the
|
||||
+source code from the same place satisfies the requirement to
|
||||
+distribute the source code, even though third parties are not
|
||||
+compelled to copy the source along with the object code.
|
||||
|
||||
- If the Library as you received it specifies that a proxy can decide
|
||||
-whether future versions of the GNU Lesser General Public License shall
|
||||
-apply, that proxy's public statement of acceptance of any version is
|
||||
-permanent authorization for you to choose that version for the
|
||||
-Library.
|
||||
+ 5. A program that contains no derivative of any portion of the
|
||||
+Library, but is designed to work with the Library by being compiled or
|
||||
+linked with it, is called a "work that uses the Library". Such a
|
||||
+work, in isolation, is not a derivative work of the Library, and
|
||||
+therefore falls outside the scope of this License.
|
||||
+
|
||||
+ However, linking a "work that uses the Library" with the Library
|
||||
+creates an executable that is a derivative of the Library (because it
|
||||
+contains portions of the Library), rather than a "work that uses the
|
||||
+library". The executable is therefore covered by this License.
|
||||
+Section 6 states terms for distribution of such executables.
|
||||
+
|
||||
+ When a "work that uses the Library" uses material from a header file
|
||||
+that is part of the Library, the object code for the work may be a
|
||||
+derivative work of the Library even though the source code is not.
|
||||
+Whether this is true is especially significant if the work can be
|
||||
+linked without the Library, or if the work is itself a library. The
|
||||
+threshold for this to be true is not precisely defined by law.
|
||||
+
|
||||
+ If such an object file uses only numerical parameters, data
|
||||
+structure layouts and accessors, and small macros and small inline
|
||||
+functions (ten lines or less in length), then the use of the object
|
||||
+file is unrestricted, regardless of whether it is legally a derivative
|
||||
+work. (Executables containing this object code plus portions of the
|
||||
+Library will still fall under Section 6.)
|
||||
+
|
||||
+ Otherwise, if the work is a derivative of the Library, you may
|
||||
+distribute the object code for the work under the terms of Section 6.
|
||||
+Any executables containing that work also fall under Section 6,
|
||||
+whether or not they are linked directly with the Library itself.
|
||||
+
|
||||
+ 6. As an exception to the Sections above, you may also combine or
|
||||
+link a "work that uses the Library" with the Library to produce a
|
||||
+work containing portions of the Library, and distribute that work
|
||||
+under terms of your choice, provided that the terms permit
|
||||
+modification of the work for the customer's own use and reverse
|
||||
+engineering for debugging such modifications.
|
||||
+
|
||||
+ You must give prominent notice with each copy of the work that the
|
||||
+Library is used in it and that the Library and its use are covered by
|
||||
+this License. You must supply a copy of this License. If the work
|
||||
+during execution displays copyright notices, you must include the
|
||||
+copyright notice for the Library among them, as well as a reference
|
||||
+directing the user to the copy of this License. Also, you must do one
|
||||
+of these things:
|
||||
+
|
||||
+ a) Accompany the work with the complete corresponding
|
||||
+ machine-readable source code for the Library including whatever
|
||||
+ changes were used in the work (which must be distributed under
|
||||
+ Sections 1 and 2 above); and, if the work is an executable linked
|
||||
+ with the Library, with the complete machine-readable "work that
|
||||
+ uses the Library", as object code and/or source code, so that the
|
||||
+ user can modify the Library and then relink to produce a modified
|
||||
+ executable containing the modified Library. (It is understood
|
||||
+ that the user who changes the contents of definitions files in the
|
||||
+ Library will not necessarily be able to recompile the application
|
||||
+ to use the modified definitions.)
|
||||
+
|
||||
+ b) Use a suitable shared library mechanism for linking with the
|
||||
+ Library. A suitable mechanism is one that (1) uses at run time a
|
||||
+ copy of the library already present on the user's computer system,
|
||||
+ rather than copying library functions into the executable, and (2)
|
||||
+ will operate properly with a modified version of the library, if
|
||||
+ the user installs one, as long as the modified version is
|
||||
+ interface-compatible with the version that the work was made with.
|
||||
+
|
||||
+ c) Accompany the work with a written offer, valid for at
|
||||
+ least three years, to give the same user the materials
|
||||
+ specified in Subsection 6a, above, for a charge no more
|
||||
+ than the cost of performing this distribution.
|
||||
+
|
||||
+ d) If distribution of the work is made by offering access to copy
|
||||
+ from a designated place, offer equivalent access to copy the above
|
||||
+ specified materials from the same place.
|
||||
+
|
||||
+ e) Verify that the user has already received a copy of these
|
||||
+ materials or that you have already sent this user a copy.
|
||||
+
|
||||
+ For an executable, the required form of the "work that uses the
|
||||
+Library" must include any data and utility programs needed for
|
||||
+reproducing the executable from it. However, as a special exception,
|
||||
+the materials to be distributed need not include anything that is
|
||||
+normally distributed (in either source or binary form) with the major
|
||||
+components (compiler, kernel, and so on) of the operating system on
|
||||
+which the executable runs, unless that component itself accompanies
|
||||
+the executable.
|
||||
+
|
||||
+ It may happen that this requirement contradicts the license
|
||||
+restrictions of other proprietary libraries that do not normally
|
||||
+accompany the operating system. Such a contradiction means you cannot
|
||||
+use both them and the Library together in an executable that you
|
||||
+distribute.
|
||||
+
|
||||
+ 7. You may place library facilities that are a work based on the
|
||||
+Library side-by-side in a single library together with other library
|
||||
+facilities not covered by this License, and distribute such a combined
|
||||
+library, provided that the separate distribution of the work based on
|
||||
+the Library and of the other library facilities is otherwise
|
||||
+permitted, and provided that you do these two things:
|
||||
+
|
||||
+ a) Accompany the combined library with a copy of the same work
|
||||
+ based on the Library, uncombined with any other library
|
||||
+ facilities. This must be distributed under the terms of the
|
||||
+ Sections above.
|
||||
+
|
||||
+ b) Give prominent notice with the combined library of the fact
|
||||
+ that part of it is a work based on the Library, and explaining
|
||||
+ where to find the accompanying uncombined form of the same work.
|
||||
+
|
||||
+ 8. You may not copy, modify, sublicense, link with, or distribute
|
||||
+the Library except as expressly provided under this License. Any
|
||||
+attempt otherwise to copy, modify, sublicense, link with, or
|
||||
+distribute the Library is void, and will automatically terminate your
|
||||
+rights under this License. However, parties who have received copies,
|
||||
+or rights, from you under this License will not have their licenses
|
||||
+terminated so long as such parties remain in full compliance.
|
||||
+
|
||||
+ 9. You are not required to accept this License, since you have not
|
||||
+signed it. However, nothing else grants you permission to modify or
|
||||
+distribute the Library or its derivative works. These actions are
|
||||
+prohibited by law if you do not accept this License. Therefore, by
|
||||
+modifying or distributing the Library (or any work based on the
|
||||
+Library), you indicate your acceptance of this License to do so, and
|
||||
+all its terms and conditions for copying, distributing or modifying
|
||||
+the Library or works based on it.
|
||||
+
|
||||
+ 10. Each time you redistribute the Library (or any work based on the
|
||||
+Library), the recipient automatically receives a license from the
|
||||
+original licensor to copy, distribute, link with or modify the Library
|
||||
+subject to these terms and conditions. You may not impose any further
|
||||
+restrictions on the recipients' exercise of the rights granted herein.
|
||||
+You are not responsible for enforcing compliance by third parties with
|
||||
+this License.
|
||||
+
|
||||
+ 11. If, as a consequence of a court judgment or allegation of patent
|
||||
+infringement or for any other reason (not limited to patent issues),
|
||||
+conditions are imposed on you (whether by court order, agreement or
|
||||
+otherwise) that contradict the conditions of this License, they do not
|
||||
+excuse you from the conditions of this License. If you cannot
|
||||
+distribute so as to satisfy simultaneously your obligations under this
|
||||
+License and any other pertinent obligations, then as a consequence you
|
||||
+may not distribute the Library at all. For example, if a patent
|
||||
+license would not permit royalty-free redistribution of the Library by
|
||||
+all those who receive copies directly or indirectly through you, then
|
||||
+the only way you could satisfy both it and this License would be to
|
||||
+refrain entirely from distribution of the Library.
|
||||
+
|
||||
+If any portion of this section is held invalid or unenforceable under any
|
||||
+particular circumstance, the balance of the section is intended to apply,
|
||||
+and the section as a whole is intended to apply in other circumstances.
|
||||
+
|
||||
+It is not the purpose of this section to induce you to infringe any
|
||||
+patents or other property right claims or to contest validity of any
|
||||
+such claims; this section has the sole purpose of protecting the
|
||||
+integrity of the free software distribution system which is
|
||||
+implemented by public license practices. Many people have made
|
||||
+generous contributions to the wide range of software distributed
|
||||
+through that system in reliance on consistent application of that
|
||||
+system; it is up to the author/donor to decide if he or she is willing
|
||||
+to distribute software through any other system and a licensee cannot
|
||||
+impose that choice.
|
||||
+
|
||||
+This section is intended to make thoroughly clear what is believed to
|
||||
+be a consequence of the rest of this License.
|
||||
+
|
||||
+ 12. If the distribution and/or use of the Library is restricted in
|
||||
+certain countries either by patents or by copyrighted interfaces, the
|
||||
+original copyright holder who places the Library under this License may add
|
||||
+an explicit geographical distribution limitation excluding those countries,
|
||||
+so that distribution is permitted only in or among countries not thus
|
||||
+excluded. In such case, this License incorporates the limitation as if
|
||||
+written in the body of this License.
|
||||
+
|
||||
+ 13. The Free Software Foundation may publish revised and/or new
|
||||
+versions of the Lesser General Public License from time to time.
|
||||
+Such new versions will be similar in spirit to the present version,
|
||||
+but may differ in detail to address new problems or concerns.
|
||||
+
|
||||
+Each version is given a distinguishing version number. If the Library
|
||||
+specifies a version number of this License which applies to it and
|
||||
+"any later version", you have the option of following the terms and
|
||||
+conditions either of that version or of any later version published by
|
||||
+the Free Software Foundation. If the Library does not specify a
|
||||
+license version number, you may choose any version ever published by
|
||||
+the Free Software Foundation.
|
||||
+
|
||||
+ 14. If you wish to incorporate parts of the Library into other free
|
||||
+programs whose distribution conditions are incompatible with these,
|
||||
+write to the author to ask for permission. For software which is
|
||||
+copyrighted by the Free Software Foundation, write to the Free
|
||||
+Software Foundation; we sometimes make exceptions for this. Our
|
||||
+decision will be guided by the two goals of preserving the free status
|
||||
+of all derivatives of our free software and of promoting the sharing
|
||||
+and reuse of software generally.
|
||||
+
|
||||
+ NO WARRANTY
|
||||
+
|
||||
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
+
|
||||
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
+DAMAGES.
|
||||
+
|
||||
+ END OF TERMS AND CONDITIONS
|
||||
+
|
||||
+ How to Apply These Terms to Your New Libraries
|
||||
+
|
||||
+ If you develop a new library, and you want it to be of the greatest
|
||||
+possible use to the public, we recommend making it free software that
|
||||
+everyone can redistribute and change. You can do so by permitting
|
||||
+redistribution under these terms (or, alternatively, under the terms of the
|
||||
+ordinary General Public License).
|
||||
+
|
||||
+ To apply these terms, attach the following notices to the library. It is
|
||||
+safest to attach them to the start of each source file to most effectively
|
||||
+convey the exclusion of warranty; and each file should have at least the
|
||||
+"copyright" line and a pointer to where the full notice is found.
|
||||
+
|
||||
+ <one line to give the library's name and a brief idea of what it does.>
|
||||
+ Copyright (C) <year> <name of author>
|
||||
+
|
||||
+ This library is free software; you can redistribute it and/or
|
||||
+ modify it under the terms of the GNU Lesser General Public
|
||||
+ License as published by the Free Software Foundation; either
|
||||
+ version 2.1 of the License, or (at your option) any later version.
|
||||
+
|
||||
+ This library is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public
|
||||
+ License along with this library; if not, write to the Free Software
|
||||
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
+
|
||||
+Also add information on how to contact you by electronic and paper mail.
|
||||
+
|
||||
+You should also get your employer (if you work as a programmer) or your
|
||||
+school, if any, to sign a "copyright disclaimer" for the library, if
|
||||
+necessary. Here is a sample; alter the names:
|
||||
+
|
||||
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
||||
+
|
||||
+ <signature of Ty Coon>, 1 April 1990
|
||||
+ Ty Coon, President of Vice
|
||||
+
|
||||
+That's all there is to it!
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
IGH_ETHERCAT_VERSION = 1.5.1
|
||||
IGH_ETHERCAT_SITE = http://etherlab.org/download/ethercat/
|
||||
IGH_ETHERCAT_SOURCE = ethercat-$(IGH_ETHERCAT_VERSION).tar.bz2
|
||||
IGH_ETHERCAT_LICENSE = GPLv2 (IgH EtherCAT master), LGPLv2.1 (libraries)
|
||||
IGH_ETHERCAT_LICENSE_FILES = COPYING COPYING.LESSER
|
||||
|
||||
IGH_ETHERCAT_DEPENDENCIES = linux
|
||||
IGH_ETHERCAT_INSTALL_STAGING = YES
|
||||
|
||||
@@ -11,6 +11,9 @@ IMAGEMAGICK_SOURCE = ImageMagick-$(IMAGEMAGICK_VERSION).tar.bz2
|
||||
# available, which is annoying. Use an alternate site that keeps all
|
||||
# older versions.
|
||||
IMAGEMAGICK_SITE = ftp://ftp.nluug.nl/pub/ImageMagick/
|
||||
IMAGEMAGICK_LICENSE = Apache-v2
|
||||
IMAGEMAGICK_LICENSE_FILES = LICENSE
|
||||
|
||||
IMAGEMAGICK_INSTALL_STAGING = YES
|
||||
IMAGEMAGICK_AUTORECONF = YES
|
||||
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
IMLIB2_VERSION = 1.4.5
|
||||
IMLIB2_SOURCE = imlib2-$(IMLIB2_VERSION).tar.bz2
|
||||
IMLIB2_SITE = http://downloads.sourceforge.net/project/enlightenment/imlib2-src/$(IMLIB2_VERSION)/
|
||||
IMLIB2_LICENSE = imlib2 license
|
||||
IMLIB2_LICENSE_FILES = COPYING
|
||||
|
||||
IMLIB2_INSTALL_STAGING = YES
|
||||
IMLIB2_DEPENDENCIES = host-pkgconf freetype
|
||||
IMLIB2_CONF_OPT = --with-freetype-config=$(STAGING_DIR)/usr/bin/freetype-config
|
||||
@@ -61,4 +64,3 @@ endef
|
||||
IMLIB2_POST_INSTALL_STAGING_HOOKS += IMLIB2_FIXUP_IMLIB2_CONFIG
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
|
||||
@@ -10,7 +10,9 @@ LCDPROC_LICENSE = GPLv2+
|
||||
LCDPROC_LICENSE_FILES = COPYING
|
||||
LCDPROC_MAKE = $(MAKE1)
|
||||
|
||||
LCDPROC_CONF_OPT = --enable-drivers=$(BR2_PACKAGE_LCDPROC_DRIVERS)
|
||||
LCDPROC_CONF_OPT = --enable-drivers=$(BR2_PACKAGE_LCDPROC_DRIVERS) \
|
||||
--with-ft-prefix="$(STAGING_DIR)/usr" \
|
||||
--with-ft-exec-prefix="$(STAGING_DIR)/usr"
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LCDPROC_MENUS),y)
|
||||
LCDPROC_CONF_OPT += --enable-lcdproc-menus
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
config BR2_PACKAGE_LIBDAEMON
|
||||
bool "libdaemon"
|
||||
# needs fork()
|
||||
depends on BR2_USE_MMU
|
||||
help
|
||||
libdaemon is a lightweight C library that eases the
|
||||
writing of UNIX daemons.
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
config BR2_PACKAGE_LIBHID
|
||||
bool "libhid"
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
|
||||
depends on !BR2_avr32 # timerfd not in uClibc-0.9.31
|
||||
select BR2_PACKAGE_LIBUSB
|
||||
select BR2_PACKAGE_LIBUSB_COMPAT
|
||||
help
|
||||
@@ -10,4 +9,4 @@ config BR2_PACKAGE_LIBHID
|
||||
http://libhid.alioth.debian.org
|
||||
|
||||
comment "libhid needs a toolchain with thread support"
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS && !BR2_avr32
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
@@ -8,6 +8,8 @@ LIBMAD_VERSION = 0.15.1b
|
||||
LIBMAD_SITE = http://downloads.sourceforge.net/project/mad/libmad/$(LIBMAD_VERSION)
|
||||
LIBMAD_INSTALL_STAGING = YES
|
||||
LIBMAD_LIBTOOL_PATCH = NO
|
||||
LIBMAD_LICENSE = GPLv2+
|
||||
LIBMAD_LICENSE_FILES = COPYING
|
||||
|
||||
define LIBMAD_PREVENT_AUTOMAKE
|
||||
# Prevent automake from running.
|
||||
|
||||
@@ -10,11 +10,16 @@ LIBPCAP_LICENSE = BSD-3c
|
||||
LIBPCAP_LICENSE_FILES = LICENSE
|
||||
LIBPCAP_INSTALL_STAGING = YES
|
||||
|
||||
# doesn't have an install-strip
|
||||
LIBPCAP_INSTALL_TARGET_OPT= DESTDIR="$(TARGET_DIR)" \
|
||||
$(if $(BR2_PREFER_STATIC_LIB),install,install-shared)
|
||||
LIBPCAP_INSTALL_STAGING_OPT= DESTDIR="$(STAGING_DIR)" install \
|
||||
$(if $(BR2_PREFER_STATIC_LIB),,install-shared)
|
||||
# The configure.in file contains the necessary code to handle
|
||||
# --enable-shared/--disable-shared properly, but the configure script
|
||||
# bundled with the libpcap tarball is not up-to-date with the
|
||||
# configure.in file. In order to get proper handling of
|
||||
# --enable-shared/--disable-shared, which is needed when doing a
|
||||
# static library build, we autoreconfigure this package. This can be
|
||||
# removed when bumping libpcap, after checking that the bundled
|
||||
# configure script correctly handles --enable-shared/--disable-shared.
|
||||
LIBPCAP_AUTORECONF = YES
|
||||
|
||||
LIBPCAP_DEPENDENCIES = zlib \
|
||||
$(if $(BR2_PACKAGE_LIBUSB),libusb)
|
||||
LIBPCAP_CONF_ENV = ac_cv_linux_vers=2 \
|
||||
|
||||
@@ -8,4 +8,10 @@ LIBSIGC_SOURCE = libsigc++-$(LIBSIGC_VERSION).tar.bz2
|
||||
LIBSIGC_SITE = http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2
|
||||
LIBSIGC_INSTALL_STAGING = YES
|
||||
|
||||
define LIBSIGC_INSTALL_TARGET_FIXUP
|
||||
rm -rf $(TARGET_DIR)/usr/share/devhelp/books/libsigc++*
|
||||
endef
|
||||
|
||||
LIBSIGC_POST_INSTALL_TARGET_HOOKS += LIBSIGC_INSTALL_TARGET_FIXUP
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
config BR2_PACKAGE_LIBTOOL
|
||||
bool "libtool"
|
||||
# We no longer support a toolchain on the target
|
||||
depends on BR2_DEPRECATED
|
||||
help
|
||||
Library that hides the complexity of using shared/static libraries
|
||||
on different platforms behind a consistent, portable interface.
|
||||
|
||||
@@ -11,5 +11,9 @@ LIBUSB_LICENSE_FILES = COPYING
|
||||
LIBUSB_DEPENDENCIES = host-pkgconf
|
||||
LIBUSB_INSTALL_STAGING = YES
|
||||
|
||||
ifeq ($(BR2_avr32),y)
|
||||
LIBUSB_CONF_OPT += --disable-timerfd
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
$(eval $(host-autotools-package))
|
||||
|
||||
52
package/linux-fusion/linux-fusion-fix-include.patch
Normal file
52
package/linux-fusion/linux-fusion-fix-include.patch
Normal file
@@ -0,0 +1,52 @@
|
||||
Fix directfb-fusion kernel module build.
|
||||
|
||||
This patch avoids the following error occurs:
|
||||
|
||||
/usr/bin/make -f scripts/Makefile.build obj=/opt/br/output/build/linux-fusion-8.8.1/linux/drivers/char/fusion /opt/br/output/host/usr/bin/ccache
|
||||
/opt/br/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc -Wp,-MD,/opt/br/output/build/linux-fusion-8.8.1/linux/drivers/char/fusion/single/.fusioncore_impl.o.d
|
||||
-nostdinc -isystem /opt/br/output/host/usr/lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.6.3/include -I/opt/br/output/build/linux-3.6/arch/arm/include
|
||||
-Iarch/arm/include/generated -Iinclude -include /opt/br/output/build/linux-3.6/include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Iarch/arm/mach-versatile/include
|
||||
-Iarch/arm/plat-versatile/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/opt/br/output/build/linux-fusion-8.8.1/linux/include -Wall -Wundef
|
||||
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -marm
|
||||
-fno-dwarf2-cfi-asm -mabi=aapcs-linux -mno-thumb-interwork -funwind-tables -D__LINUX_ARM_ARCH__=5 -march=armv5te -mtune=arm9tdmi -msoft-float -Uarm -Wframe-larger-than=1024
|
||||
-fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DMODULE
|
||||
-D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(fusioncore_impl)" -D"KBUILD_MODNAME=KBUILD_STR(fusion)" -c -o
|
||||
/opt/br/output/build/linux-fusion-8.8.1/linux/drivers/char/fusion/single/fusioncore_impl.o /opt/br/output/build/linux-fusion-8.8.1/linux/drivers/char/fusion/single/fusioncore_impl.c
|
||||
/opt/br/output/build/linux-fusion-8.8.1/linux/drivers/char/fusion/single/fusioncore_impl.c:25:19: fatal error: debug.h: No such file or directory
|
||||
compilation terminated.
|
||||
make[3]: *** [/opt/br/output/build/linux-fusion-8.8.1/linux/drivers/char/fusion/single/fusioncore_impl.o] Error 1
|
||||
make[2]: *** [_module_/opt/br/output/build/linux-fusion-8.8.1/linux/drivers/char/fusion] Error 2
|
||||
make[2]: Leaving directory `/opt/br/output/build/linux-3.6'
|
||||
make[1]: *** [modules] Error 2
|
||||
make[1]: Leaving directory `/opt/br/output/build/linux-fusion-8.8.1'
|
||||
|
||||
|
||||
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
|
||||
diff -purN linux-fusion-8.8.1.orig/linux/drivers/char/fusion/fusioncore.h linux-fusion-8.8.1/linux/drivers/char/fusion/fusioncore.h
|
||||
--- linux-fusion-8.8.1.orig/linux/drivers/char/fusion/fusioncore.h 2012-10-15 21:47:53.881834496 +0200
|
||||
+++ linux-fusion-8.8.1/linux/drivers/char/fusion/fusioncore.h 2012-10-15 22:05:27.232401023 +0200
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
#include <linux/stddef.h>
|
||||
|
||||
-#include "fusioncore_impl.h"
|
||||
+#include "single/fusioncore_impl.h"
|
||||
|
||||
typedef enum {
|
||||
FC_OK,
|
||||
diff -purN linux-fusion-8.8.1.orig/linux/drivers/char/fusion/single/fusioncore_impl.c linux-fusion-8.8.1/linux/drivers/char/fusion/single/fusioncore_impl.c
|
||||
--- linux-fusion-8.8.1.orig/linux/drivers/char/fusion/single/fusioncore_impl.c 2012-10-15 21:47:53.878501243 +0200
|
||||
+++ linux-fusion-8.8.1/linux/drivers/char/fusion/single/fusioncore_impl.c 2012-10-15 22:05:38.585511304 +0200
|
||||
@@ -22,9 +22,9 @@
|
||||
#include <linux/slab.h>
|
||||
#include <linux/sched.h>
|
||||
|
||||
-#include "debug.h"
|
||||
+#include "../debug.h"
|
||||
|
||||
-#include "fusioncore.h"
|
||||
+#include "../fusioncore.h"
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# linux-fusion
|
||||
#
|
||||
#############################################################
|
||||
LINUX_FUSION_VERSION = 8.8.1
|
||||
LINUX_FUSION_VERSION = 8.10.4
|
||||
LINUX_FUSION_SOURCE = linux-fusion-$(LINUX_FUSION_VERSION).tar.gz
|
||||
LINUX_FUSION_SITE = http://directfb.org/downloads/Core/linux-fusion
|
||||
LINUX_FUSION_INSTALL_STAGING = YES
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
# MatchBox Common
|
||||
#
|
||||
#############################################################
|
||||
|
||||
MATCHBOX_COMMON_VERSION = 0.9.1
|
||||
MATCHBOX_COMMON_VERSION_MAJOR = 0.9
|
||||
MATCHBOX_COMMON_VERSION = $(MATCHBOX_COMMON_VERSION_MAJOR).1
|
||||
MATCHBOX_COMMON_SOURCE = matchbox-common-$(MATCHBOX_COMMON_VERSION).tar.bz2
|
||||
MATCHBOX_COMMON_SITE = http://matchbox-project.org/sources/matchbox-common/$(MATCHBOX_COMMON_VERSION)
|
||||
MATCHBOX_COMMON_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-common/$(MATCHBOX_COMMON_VERSION_MAJOR)
|
||||
MATCHBOX_COMMON_LICENSE = GPLv2+
|
||||
MATCHBOX_COMMON_LICENSE_FILES = COPYING
|
||||
MATCHBOX_COMMON_DEPENDENCIES = matchbox-lib
|
||||
|
||||
ifeq ($(strip $(BR2_PACKAGE_MATCHBOX_COMMON_PDA)),y)
|
||||
|
||||
@@ -4,9 +4,12 @@
|
||||
#
|
||||
#############################################################
|
||||
|
||||
MATCHBOX_DESKTOP_VERSION = 0.9.1
|
||||
MATCHBOX_DESKTOP_VERSION_MAJOR = 0.9
|
||||
MATCHBOX_DESKTOP_VERSION = $(MATCHBOX_DESKTOP_VERSION_MAJOR).1
|
||||
MATCHBOX_DESKTOP_SOURCE = matchbox-desktop-$(MATCHBOX_DESKTOP_VERSION).tar.bz2
|
||||
MATCHBOX_DESKTOP_SITE = http://matchbox-project.org/sources/matchbox-desktop/$(MATCHBOX_DESKTOP_VERSION)
|
||||
MATCHBOX_DESKTOP_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-desktop/$(MATCHBOX_DESKTOP_VERSION_MAJOR)
|
||||
MATCHBOX_DESKTOP_LICENSE = GPLv2+
|
||||
MATCHBOX_DESKTOP_LICENSE_FILES = COPYING
|
||||
MATCHBOX_DESKTOP_DEPENDENCIES = matchbox-lib
|
||||
MATCHBOX_DESKTOP_CONF_OPT = --enable-expat
|
||||
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
|
||||
MATCHBOX_FAKEKEY_VERSION = 0.1
|
||||
MATCHBOX_FAKEKEY_SOURCE = libfakekey-$(MATCHBOX_FAKEKEY_VERSION).tar.bz2
|
||||
MATCHBOX_FAKEKEY_SITE = http://matchbox-project.org/sources/libfakekey/$(MATCHBOX_FAKEKEY_VERSION)
|
||||
MATCHBOX_FAKEKEY_SITE = http://downloads.yoctoproject.org/releases/matchbox/libfakekey/$(MATCHBOX_FAKEKEY_VERSION)
|
||||
MATCHBOX_FAKEKEY_LICENSE = GPLv2+
|
||||
MATCHBOX_FAKEKEY_LICENSE_FILES = COPYING
|
||||
MATCHBOX_FAKEKEY_INSTALL_STAGING = YES
|
||||
MATCHBOX_FAKEKEY_DEPENDENCIES = matchbox-lib xlib_libXtst
|
||||
MATCHBOX_FAKEKEY_CONF_OPT = --enable-expat
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
|
||||
MATCHBOX_KEYBOARD_VERSION = 0.1
|
||||
MATCHBOX_KEYBOARD_SOURCE = matchbox-keyboard-$(MATCHBOX_KEYBOARD_VERSION).tar.bz2
|
||||
MATCHBOX_KEYBOARD_SITE = http://matchbox-project.org/sources/matchbox-keyboard/$(MATCHBOX_KEYBOARD_VERSION)
|
||||
MATCHBOX_KEYBOARD_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-keyboard/$(MATCHBOX_KEYBOARD_VERSION)
|
||||
MATCHBOX_KEYBOARD_LICENSE = GPLv2+
|
||||
MATCHBOX_KEYBOARD_LICENSE_FILES = COPYING
|
||||
MATCHBOX_KEYBOARD_DEPENDENCIES = matchbox-lib matchbox-fakekey
|
||||
|
||||
# Workaround bug in configure script
|
||||
|
||||
@@ -6,10 +6,13 @@
|
||||
|
||||
MATCHBOX_LIB_VERSION = 1.9
|
||||
MATCHBOX_LIB_SOURCE = libmatchbox-$(MATCHBOX_LIB_VERSION).tar.bz2
|
||||
MATCHBOX_LIB_SITE = http://matchbox-project.org/sources/libmatchbox/$(MATCHBOX_LIB_VERSION)
|
||||
MATCHBOX_LIB_SITE = http://downloads.yoctoproject.org/releases/matchbox/libmatchbox/$(MATCHBOX_LIB_VERSION)
|
||||
MATCHBOX_LIB_LICENSE = LGPLv2.1
|
||||
MATCHBOX_LIB_LICENSE_FILES = COPYING
|
||||
MATCHBOX_LIB_INSTALL_STAGING = YES
|
||||
MATCHBOX_LIB_DEPENDENCIES = host-pkgconf expat xlib_libXext
|
||||
MATCHBOX_LIB_CONF_OPT = --enable-expat --disable-doxygen-docs
|
||||
MATCHBOX_LIB_CONF_ENV = LIBS="-lX11"
|
||||
|
||||
define MATCHBOX_LIB_POST_INSTALL_FIXES
|
||||
$(SED) 's:-I[^$$].*/usr/include/freetype2:-I/usr/include/freetype2:' $(STAGING_DIR)/usr/lib/pkgconfig/libmb.pc
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
# MatchBox Panel
|
||||
#
|
||||
#############################################################
|
||||
|
||||
MATCHBOX_PANEL_VERSION = 0.9.3
|
||||
MATCHBOX_PANEL_VERSION_MAJOR = 0.9
|
||||
MATCHBOX_PANEL_VERSION = $(MATCHBOX_PANEL_VERSION_MAJOR).3
|
||||
MATCHBOX_PANEL_SOURCE = matchbox-panel-$(MATCHBOX_PANEL_VERSION).tar.bz2
|
||||
MATCHBOX_PANEL_SITE = http://matchbox-project.org/sources/matchbox-panel/$(MATCHBOX_PANEL_VERSION)
|
||||
MATCHBOX_PANEL_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-panel/$(MATCHBOX_PANEL_VERSION_MAJOR)
|
||||
MATCHBOX_PANEL_LICENSE = GPLv2+
|
||||
MATCHBOX_PANEL_LICENSE_FILES = COPYING
|
||||
MATCHBOX_PANEL_DEPENDENCIES = matchbox-lib
|
||||
MATCHBOX_PANEL_CONF_OPT = --enable-expat
|
||||
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
|
||||
MATCHBOX_STARTUP_MONITOR_VERSION = 0.1
|
||||
MATCHBOX_STARTUP_MONITOR_SOURCE = mb-applet-startup-monitor-$(MATCHBOX_STARTUP_MONITOR_VERSION).tar.bz2
|
||||
MATCHBOX_STARTUP_MONITOR_SITE = http://matchbox-project.org/sources/mb-applet-startup-monitor/$(MATCHBOX_STARTUP_MONITOR_VERSION)
|
||||
MATCHBOX_STARTUP_MONITOR_SITE = http://downloads.yoctoproject.org/releases/matchbox/mb-applet-startup-monitor/$(MATCHBOX_STARTUP_MONITOR_VERSION)
|
||||
MATCHBOX_STARTUP_MONITOR_LICENSE = GPLv2+
|
||||
MATCHBOX_STARTUP_MONITOR_LICENSE_FILES = COPYING
|
||||
MATCHBOX_STARTUP_MONITOR_DEPENDENCIES = matchbox-lib startup-notification
|
||||
MATCHBOX_STARTUP_MONITOR_CONF_OPT =
|
||||
|
||||
|
||||
@@ -6,7 +6,10 @@
|
||||
|
||||
MATCHBOX_WM_VERSION = 1.2
|
||||
MATCHBOX_WM_SOURCE = matchbox-window-manager-$(MATCHBOX_WM_VERSION).tar.bz2
|
||||
MATCHBOX_WM_SITE = http://matchbox-project.org/sources/matchbox-window-manager/$(MATCHBOX_WM_VERSION)
|
||||
MATCHBOX_WM_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-window-manager/$(MATCHBOX_WM_VERSION)
|
||||
MATCHBOX_WM_LICENSE = GPLv2+
|
||||
MATCHBOX_WM_LICENSE_FILES = COPYING
|
||||
|
||||
MATCHBOX_WM_DEPENDENCIES = matchbox-lib
|
||||
MATCHBOX_WM_CONF_OPT = --enable-expat
|
||||
|
||||
|
||||
@@ -262,6 +262,7 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_CURL
|
||||
config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DIRECTFB
|
||||
bool "directfb"
|
||||
select BR2_PACKAGE_DIRECTFB
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DVB
|
||||
bool "dvb"
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
config BR2_PACKAGE_NSS_MDNS
|
||||
bool "nss-mdns"
|
||||
# libdaemon->avahi uses fork()
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc || BR2_TOOLCHAIN_CTNG_glibc
|
||||
depends on BR2_PACKAGE_AVAHI_DAEMON
|
||||
help
|
||||
|
||||
@@ -3,6 +3,7 @@ config BR2_PACKAGE_OPROFILE
|
||||
select BR2_PACKAGE_POPT
|
||||
select BR2_PACKAGE_BINUTILS
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on !BR2_aarch64 # binutils
|
||||
help
|
||||
OProfile is a system-wide profiler for Linux systems,
|
||||
capable of profiling all running code at low overhead.
|
||||
|
||||
@@ -6,6 +6,8 @@ config BR2_PACKAGE_OWL_LINUX
|
||||
help
|
||||
Linux kernel driver for the H&D Wireless SPB104 SD-card WiFi SIP.
|
||||
|
||||
owl-linux requires the hidden kernel option WIRELESS_EXT enabled.
|
||||
|
||||
http://linux.hd-wireless.se/bin/view/Linux/GettingStarted
|
||||
|
||||
comment "owl-linux requires a Linux kernel"
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
#############################################################
|
||||
OWL_LINUX_VERSION = 1.0.7
|
||||
OWL_LINUX_SITE = http://linux.hd-wireless.se/pub/Linux/DownloadDrivers
|
||||
OWL_LINUX_LICENSE = PROPRIETARY
|
||||
OWL_LINUX_LICENSE_FILES = LICENSE
|
||||
OWL_LINUX_REDISTRIBUTE = NO
|
||||
|
||||
OWL_LINUX_DEPENDENCIES = linux
|
||||
|
||||
|
||||
@@ -74,12 +74,19 @@ domainseparator=$(if $(1),$(1),/)
|
||||
################################################################################
|
||||
|
||||
# Try a shallow clone - but that only works if the version is a ref (tag or
|
||||
# branch). Fall back on a full clone if it's a generic sha1.
|
||||
# branch). Before trying to do a shallow clone we check if $($(PKG)_DL_VERSION)
|
||||
# is in the list provided by git ls-remote. If not we fall back on a full clone.
|
||||
#
|
||||
# Messages for the type of clone used are provided to ease debugging in case of
|
||||
# problems
|
||||
define DOWNLOAD_GIT
|
||||
test -e $(DL_DIR)/$($(PKG)_SOURCE) || \
|
||||
(pushd $(DL_DIR) > /dev/null && \
|
||||
($(GIT) clone --depth 1 -b $($(PKG)_DL_VERSION) --bare $($(PKG)_SITE) $($(PKG)_BASE_NAME) || \
|
||||
$(GIT) clone --bare $($(PKG)_SITE) $($(PKG)_BASE_NAME)) && \
|
||||
((test `git ls-remote $($(PKG)_SITE) | cut -f 2- | grep $($(PKG)_DL_VERSION)` && \
|
||||
echo "Doing shallow clone" && \
|
||||
$(GIT) clone --depth 1 -b $($(PKG)_DL_VERSION) --bare $($(PKG)_SITE) $($(PKG)_BASE_NAME)) || \
|
||||
(echo "Doing full clone" && \
|
||||
$(GIT) clone --bare $($(PKG)_SITE) $($(PKG)_BASE_NAME))) && \
|
||||
pushd $($(PKG)_BASE_NAME) > /dev/null && \
|
||||
$(GIT) archive --format=tar --prefix=$($(PKG)_BASE_NAME)/ $($(PKG)_DL_VERSION) | \
|
||||
gzip -c > $(DL_DIR)/$($(PKG)_SOURCE) && \
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user