summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/buildroot.html8
-rw-r--r--docs/download.html16
-rw-r--r--docs/manual/adding-packages-autotargets.txt2
-rw-r--r--docs/manual/adding-packages-cmaketargets.txt2
-rw-r--r--docs/manual/adding-packages-directory.txt70
-rw-r--r--docs/manual/adding-packages-gentargets.txt31
-rw-r--r--docs/news.html36
7 files changed, 122 insertions, 43 deletions
diff --git a/docs/buildroot.html b/docs/buildroot.html
index 2314d1095..e13e8f752 100644
--- a/docs/buildroot.html
+++ b/docs/buildroot.html
@@ -1031,7 +1031,7 @@ $(eval $(call GENTARGETS,package,libfoo,host))
<li><code>LIBFOO_SOURCE</code> may contain the name of the tarball of
the package. If <code>HOST_LIBFOO_SOURCE</code> is not specified, it
- defaults to <code>LIBFOO_VERSION</code>. If none are specified, then
+ defaults to <code>LIBFOO_SOURCE</code>. If none are specified, then
the value is assumed to be
<code>packagename-$(LIBFOO_VERSION).tar.gz</code>.<br/>Example:
<code>LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2</code></li>
@@ -1787,9 +1787,9 @@ Starting dropbear sshd: generating rsa key... generating dsa key... OK</pre>
<p>then it means that your system is running, but didn't start a
shell on the serial console. In order to have the system start a
shell on your serial console, you have to go in the Buildroot
- configuration, <code>Target options</code>, enable <code>Generic
- serial port config</code>, and select the serial port and speed
- you would like to use for the shell. This will automatically tune
+ configuration, <code>System configuration</code>, and modify
+ <code>Port to run a getty (login prompt) on</code> and
+ <code>Baudrate to use</code> as appropriate. This will automatically tune
the <code>/etc/inittab</code> file of the generated system so that
a shell starts on the correct serial port.</p>
diff --git a/docs/download.html b/docs/download.html
index 81ad2a769..4a52fb7db 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -6,22 +6,22 @@
<p>
-The latest stable release is <b>2011.08</b>, which can be downloaded
+The latest stable release is <b>2011.11</b>, which can be downloaded
here:<p>
-<a href="/downloads/buildroot-2011.08.tar.gz">buildroot-2011.08.tar.gz</a>
+<a href="/downloads/buildroot-2011.11.tar.gz">buildroot-2011.11.tar.gz</a>
or
-<a href="/downloads/buildroot-2011.08.tar.bz2">buildroot-2011.08.tar.bz2</a>.
+<a href="/downloads/buildroot-2011.11.tar.bz2">buildroot-2011.11.tar.bz2</a>.
<p>
-
-The latest release candidate is <b>2011.11-rc1</b>, which can be
+<!--
+The latest release candidate is <b>2011.11-rc3</b>, which can be
downloaded here:<p>
-<a href="/downloads/buildroot-2011.11-rc1.tar.gz">buildroot-2011.11-rc1.tar.gz</a>
+<a href="/downloads/buildroot-2011.11-rc3.tar.gz">buildroot-2011.11-rc3.tar.gz</a>
or
-<a href="/downloads/buildroot-2011.11-rc1.tar.bz2">buildroot-2011.11-rc1.tar.bz2</a>.
+<a href="/downloads/buildroot-2011.11-rc3.tar.bz2">buildroot-2011.11-rc3.tar.bz2</a>.
<p>
-
+-->
This and earlier releases can always be downloaded from
<a href="/downloads/">http://buildroot.net/downloads/</a>.
diff --git a/docs/manual/adding-packages-autotargets.txt b/docs/manual/adding-packages-autotargets.txt
index cb41eadfd..428a1822b 100644
--- a/docs/manual/adding-packages-autotargets.txt
+++ b/docs/manual/adding-packages-autotargets.txt
@@ -23,7 +23,7 @@ package, with an example :
11: LIBFOO_CONF_OPT = --enable-shared
12: LIBFOO_DEPENDENCIES = libglib2 host-pkg-config
13:
-14: $(eval $(call AUTOTARGETS,package,libfoo))
+14: $(eval $(call AUTOTARGETS))
------------------------
On line 6, we declare the version of the package.
diff --git a/docs/manual/adding-packages-cmaketargets.txt b/docs/manual/adding-packages-cmaketargets.txt
index b03eb6894..3e400ec14 100644
--- a/docs/manual/adding-packages-cmaketargets.txt
+++ b/docs/manual/adding-packages-cmaketargets.txt
@@ -23,7 +23,7 @@ with an example :
11: LIBFOO_CONF_OPT = -DBUILD_DEMOS=ON
12: LIBFOO_DEPENDENCIES = libglib2 host-pkg-config
13:
-14: $(eval $(call CMAKETARGETS,package,libfoo))
+14: $(eval $(call CMAKETARGETS))
------------------------
On line 6, we declare the version of the package.
diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt
index 058ebad1c..0852b045f 100644
--- a/docs/manual/adding-packages-directory.txt
+++ b/docs/manual/adding-packages-directory.txt
@@ -24,10 +24,16 @@ config BR2_PACKAGE_LIBFOO
http://foosoftware.org/libfoo/
---------------------------
-Of course, you can add other options to configure particular things in
-your software. You can look at examples in other packages. The syntax
-of the +Config.in+ file is the same as the one for the kernel Kconfig
-file. The documentation for this syntax is available at
+The +bool+ line, +help+ line and other meta-informations about the
+configuration option must be indented with one tab. The help text
+itself should be indented with one tab and two spaces, and it must
+mention the upstream URL of the project.
+
+Of course, you can add other sub-options into a +if
+BR2_PACKAGE_LIBFOO...endif+ statement to configure particular things
+in your software. You can look at examples in other packages. The
+syntax of the +Config.in+ file is the same as the one for the kernel
+Kconfig file. The documentation for this syntax is available at
http://lxr.free-electrons.com/source/Documentation/kbuild/kconfig-language.txt[]
Finally you have to add your new +libfoo/Config.in+ to
@@ -40,6 +46,51 @@ supposed to contain anything but the 'bare' name of the package.
source "package/libfoo/Config.in"
--------------------------
+The +Config.in+ file of your package must also ensure that
+dependencies are enabled. Typically, Buildroot uses the following
+rules:
+
+* Use a +select+ type of dependency for dependencies on
+ libraries. These dependencies are generally not obvious and it
+ therefore make sense to have the kconfig system ensure that the
+ dependencies are selected. For example, the _libgtk2_ package uses
+ +select BR2_PACKAGE_LIBGLIB2+ to make sure this library is also
+ enabled.
+
+* Use a +depends on+ type of dependency when the user really needs to
+ be aware of the dependency. Typically, Buildroot uses this type of
+ dependency for dependencies on toolchain options (large file
+ support, RPC support, IPV6 support), or for dependencies on "big"
+ things, such as the X.org system. In some cases, especially
+ dependency on toolchain options, it is recommended to add a
+ +comment+ displayed when the option is not enabled, so that the user
+ knows why the package is not available.
+
+An example illustrates both the usage of +select+ and +depends on+.
+
+--------------------------
+config BR2_PACKAGE_ACL
+ bool "acl"
+ select BR2_PACKAGE_ATTR
+ depends on BR2_LARGEFILE
+ help
+ POSIX Access Control Lists, which are used to define more
+ fine-grained discretionary access rights for files and
+ directories.
+ This package also provides libacl.
+
+ http://savannah.nongnu.org/projects/acl
+
+comment "acl requires a toolchain with LARGEFILE support"
+ depends on !BR2_LARGEFILE
+--------------------------
+
+
+Note that such dependencies will make sure that the dependency option
+is also enabled, but not necessarily built before your package. To do
+so, the dependency also needs to be expressed in the +.mk+ file of the
+package.
+
The +.mk+ file
~~~~~~~~~~~~~~
@@ -50,8 +101,8 @@ installed, etc.
Depending on the package type, the +.mk+ file must be written in a
different way, using different infrastructures:
-* *Makefiles for generic packages* (not using autotools): These are
- based on an infrastructure similar to the one used for
+* *Makefiles for generic packages* (not using autotools or CMake):
+ These are based on an infrastructure similar to the one used for
autotools-based packages, but requires a little more work from the
developer. They specify what should be done for the configuration,
compilation, installation and cleanup of the package. This
@@ -68,6 +119,13 @@ different way, using different infrastructures:
system. We cover them through a xref:autotargets-tutorial[tutorial]
and xref:autotargets-reference[reference].
+* *Makefiles for cmake-based software*: We provide a dedicated
+ infrastructure for such packages, as CMake is a more and more
+ commonly used build system and has a standardized behaviour. This
+ infrastructure 'must' be used for new packages that rely on
+ CMake. We cover them through a xref:cmaketargets-tutorial[tutorial]
+ and xref:cmaketargets-reference[reference].
+
* *Hand-written Makefiles:* These are currently obsolete, and no new
manual Makefiles should be added. However, since there are still
many of them in the tree, we keep them documented in a
diff --git a/docs/manual/adding-packages-gentargets.txt b/docs/manual/adding-packages-gentargets.txt
index 9a319d161..b34449464 100644
--- a/docs/manual/adding-packages-gentargets.txt
+++ b/docs/manual/adding-packages-gentargets.txt
@@ -38,7 +38,7 @@ system is based on hand-written Makefiles or shell scripts.
24: $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d
25: endef
26:
-27: $(eval $(call GENTARGETS,package,libfoo))
+27: $(eval $(call GENTARGETS))
--------------------------------
The Makefile begins on line 6 to 8 with metadata information: the
@@ -84,32 +84,19 @@ Makefile code necessary to make your package working.
+GENTARGETS+ Reference
~~~~~~~~~~~~~~~~~~~~~~
-The +GENTARGETS+ macro takes three arguments:
-
-* The first argument is the package directory prefix. If your package
- is in +package/libfoo+, then the directory prefix is +package+. If
- your package is in +package/editors/foo+, then the directory prefix
- must be +package/editors+.
-
-* The second argument is the lower-cased package name. It must match
- the prefix of the variables in the +.mk+ file and must match the
- configuration option name in the +Config.in+ file. For example, if
- the package name is +libfoo+, then the variables in the +.mk+ file
- must start with +LIBFOO_+ and the configuration option in the
- +Config.in+ file must be +BR2_PACKAGE_LIBFOO+.
-
-* The third argument is optional. It can be used to tell if the
- package is a target package (cross-compiled for the target) or a
- host package (natively compiled for the host). If unspecified, it is
- assumed that it is a target package. See below for details.
+The +GENTARGETS+ macro takes one optional argument. This argument can
+be used to tell if the package is a target package (cross-compiled for
+the target) or a host package (natively compiled for the host). If
+unspecified, it is assumed that it is a target package. See below for
+details.
For a given package, in a single +.mk+ file, it is possible to call
GENTARGETS twice, once to create the rules to generate a target
package and once to create the rules to generate a host package:
----------------------
-$(eval $(call GENTARGETS,package,libfoo))
-$(eval $(call GENTARGETS,package,libfoo,host))
+$(eval $(call GENTARGETS))
+$(eval $(call GENTARGETS,host))
----------------------
This might be useful if the compilation of the target package requires
@@ -144,7 +131,7 @@ information is (assuming the package name is +libfoo+) :
* +LIBFOO_SOURCE+ may contain the name of the tarball of
the package. If +HOST_LIBFOO_SOURCE+ is not specified, it
- defaults to +LIBFOO_VERSION+. If none are specified, then
+ defaults to +LIBFOO_SOURCE+. If none are specified, then
the value is assumed to be
+packagename-$(LIBFOO_VERSION).tar.gz+. +
Example: +LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2+
diff --git a/docs/news.html b/docs/news.html
index ba5f7d01c..2e54a9e94 100644
--- a/docs/news.html
+++ b/docs/news.html
@@ -5,12 +5,46 @@
<p>
<ul>
+ <li><b>30 November 2011 -- 2011.11 released</b>
+
+ <p>The stable 2011.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=2011.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-2011.11.tar.bz2">2011.11 release</a>.</p>
+
+ <li><b>26 November 2011 -- 2011.11-rc3 released</b>
+
+ <p>RC3 is out with more bugfixes - See the <a
+ href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.11_rc3">CHANGES</a>
+ file for details.
+
+ <p>Head to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2011.11-rc3.tar.bz2">2011.11-rc3
+ release candidate</a>, and report any problems found to the <a
+ href="lists.html">mailing list</a> or <a
+ href="https://bugs.uclibc.org">bug tracker</a>.</p>
+
+ <li><b>18 November 2011 -- 2011.11-rc2 released</b>
+
+ <p>Another week, another release candidate with a bunch of
+ cleanups and build fixes. See the <a
+ href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.11_rc2">CHANGES</a>
+ file for details.</p>
+
+ <p>Head to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2011.11-rc2.tar.bz2">2011.11-rc2
+ release candidate</a>, and report any problems found to the <a
+ href="lists.html">mailing list</a> or <a
+ href="https://bugs.uclibc.org">bug tracker</a>.</p>
+
<li><b>11 November 2011 -- 2011.11-rc1 released</b>
<p>We have a new release candidate! Lots of changes all over the
tree, see the <a
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.11_rc1">CHANGES</a>
- file for details.
+ file for details, and read the
+ <a href="http://lists.busybox.net/pipermail/buildroot/2011-November/047395.html">announcement</a>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2011.11-rc1.tar.bz2">2011.11-rc1