1 <?xml version="1.0" encoding="UTF-8"?>
2 <chapter id="chapter_comparing">
3 <title>Comparing</title>
5 <section id="comparing_buildroot">
6 <title>buildroot</title>
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>
21 <section id="comparing_crosstool">
22 <title>crosstool</title>
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>
34 <section id="comparing_handmade">
35 <title>handmade</title>
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>
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>