docs: import usermanual from org.openembedded.documentation.
[openembedded.git] / docs / usermanual / chapters / comparing.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <chapter id="chapter_comparing">
3   <title>Comparing</title>
4
5   <section id="comparing_buildroot">
6     <title>buildroot</title>
7
8     <para>Writing of <application>BitBake</application> recipes is more easy
9     and more intuitive than writing Makefiles while providing higher
10     flexibility. This allows you to tweak specific recipes for your very
11     special needs and to add new recipes very fast. You can build toolchains,
12     Software Distribution Kits (SDKs), complete Distributions or just single
13     packages. The flexibility of OpenEmbedded allows you to reuse the once
14     written recipes for many different purposes. OpenEmbedded provides
15     everything buildroot will be able to provide. But in contrast to buildroot
16     OpenEmbedded will allow you to achieve what you really want to achieve.
17     You can add new package formats, new filesystems, new output formats
18     easily. OpenEmbedded will suit your need.</para>
19   </section>
20
21   <section id="comparing_crosstool">
22     <title>crosstool</title>
23
24     <para>Crosstool allows to create toolchains for you. It can only create
25     the initial toolchain for you. It will not compile other needed libraries
26     or applications for you, it will not be able to track dependencies or to
27     package them properly. OpenEmbedded supports all configurations crosstool
28     supports. You can start to create toolchains with OpenEmbedded, then as
29     your needs grow create a more complete SDK from already present base
30     libraries and applications and if you recognize you need to have packages
31     for the target you have them almost built already.</para>
32   </section>
33
34   <section id="comparing_handmade">
35     <title>handmade</title>
36
37     <para>Cross-compilation is a tough business. It is not that
38     cross-compiling is hard itself but many people misuse the buildsystem they
39     use to build their software. This will lead to a variety of issues you can
40     run into. This can be failing tests on configuration because of executing
41     cross compiled binaries or crashes at run-time due wrong sizes of basic
42     types. When utilizing OpenEmbedded you avoid searching for patches at many
43     different places and will be able to get things done more quickly.
44     <application>OpenEmbedded</application> allows you to choose from a pool
45     of ready to use software packages.</para>
46
47     <para>OpenEmbedded will create complete flashable images using different
48     output formats and filesystems. This allows you to create complete and
49     specialized distributions easily.</para>
50   </section>
51 </chapter>