summaryrefslogtreecommitdiffstats
path: root/documentation/sdk-manual/sdk-extensible.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/sdk-manual/sdk-extensible.xml')
-rw-r--r--documentation/sdk-manual/sdk-extensible.xml116
1 files changed, 90 insertions, 26 deletions
diff --git a/documentation/sdk-manual/sdk-extensible.xml b/documentation/sdk-manual/sdk-extensible.xml
index bc9ccd28d3..f9f04072d7 100644
--- a/documentation/sdk-manual/sdk-extensible.xml
+++ b/documentation/sdk-manual/sdk-extensible.xml
@@ -540,39 +540,103 @@
540 </para> 540 </para>
541</section> 541</section>
542 542
543<section id='sdk-using-the-extensible-sdk-to-task-2'> 543<section id='sdk-installing-additional-items-into-the-extensible-sdk'>
544 <title>Using the Extensible SDK to <replaceable>item-2</replaceable></title> 544 <title>Installing Additional Items Into the Extensible SDK</title>
545 545
546 <para role='writernotes'> 546 <para>
547 Describe the specific task you are going to accomplish with the 547 The extensible SDK typically only comes with a small number of tools
548 extensible SDK. 548 and libraries out of the box.
549 Provide a diagram showing the rough flow of the task. 549 If you have a minimal SDK, then it starts mostly empty and is
550 Provide specific steps using a real example that works through the 550 populated on-demand.
551 task. 551 However, sometimes you will need to explicitly install extra items
552 into the SDK.
553 If you need these extra items, you can first search for the items
554 using the <filename>devtool search</filename> command.
555 For example, suppose you need to link to libGL but you are not sure
556 which recipe provides it.
557 You can use the following command to find out:
558 <literallayout class='monospaced'>
559 $ devtool search libGL
560 mesa A free implementation of the OpenGL API
561 </literallayout>
562 Once you know the recipe (i.e. <filename>mesa</filename> in this
563 example), you can install it:
564 <literallayout class='monospaced'>
565 $ devtool sdk-install mesa
566 </literallayout>
567 By default, the <filename>devtool sdk-install</filename> assumes the
568 item is available in pre-built form from your SDK provider.
569 If the item is not available and it is acceptable to build the item
570 from source, you can add the "-s" option as follows:
571 <literallayout class='monospaced'>
572 $ devtool sdk-install -s mesa
573 </literallayout>
574 It is important to remember that building the item from source takes
575 significantly longer than installing the pre-built artifact.
576 Also, if no recipe exists for the item you want to add to the SDK, you
577 must add it using the <filename>devtool add</filename> command.
552 </para> 578 </para>
553</section> 579</section>
554 580
555<section id='sdk-using-the-extensible-sdk-to-task-3'> 581<section id='sdk-updating-the-extensible-sdk'>
556 <title>Using the Extensible SDK to <replaceable>item-3</replaceable></title> 582 <title>Updating the Extensible SDK</title>
557 583
558 <para role='writernotes'> 584 <para>
559 Describe the specific task you are going to accomplish with the 585 If you are working with an extensible SDK that gets occasionally
560 extensible SDK. 586 updated (e.g. typically when that SDK has been provided to you by
561 Provide a diagram showing the rough flow of the task. 587 another party), then you will need to manually pull down those
562 Provide specific steps using a real example that works through the 588 updates to your installed SDK.
563 task. 589 </para>
590
591 <para>
592 To update your installed SDK, run the following:
593 <literallayout class='monospaced'>
594 $ devtool sdk-update
595 </literallayout>
596 The previous command assumes your SDK provider has set the default
597 update URL for you.
598 If that URL has not been set, you need to specify it yourself as
599 follows:
600 <literallayout class='monospaced'>
601 $ devtool sdk-update <replaceable>path_to_update_directory</replaceable>
602 </literallayout>
603 <note>
604 The URL needs to point specifically to a published SDK and not an
605 SDK installer that you would download and install.
606 </note>
564 </para> 607 </para>
565</section> 608</section>
566 609
567<section id='sdk-using-the-extensible-sdk-to-task-x'> 610<section id='sdk-creating-a-derivative-sdk-with-additional-components'>
568 <title>Using the Extensible SDK to <replaceable>item-x</replaceable></title> 611 <title>Creating a Derivative SDK With Additional Components</title>
569 612
570 <para role='writernotes'> 613 <para>
571 Describe the specific task you are going to accomplish with the 614 You might need to produce an SDK that contains your own custom
572 extensible SDK. 615 libraries for sending to a third party (e.g., if you are a vendor with
573 Provide a diagram showing the rough flow of the task. 616 customers needing to build their own software for the target platform).
574 Provide specific steps using a real example that works through the 617 If that is the case, then you can produce a derivative SDK based on
575 task. 618 the currently installed SDK fairly easily.
619 Use these steps:
620 <orderedlist>
621 <listitem><para>If necessary, install an extensible SDK that
622 you want to use as a base for your derivative SDK.
623 </para></listitem>
624 <listitem><para>Source the environment script for the SDK.
625 </para></listitem>
626 <listitem><para>Add the extra libraries or other components
627 you want by using the <filename>devtool add</filename>
628 command.
629 </para></listitem>
630 <listitem><para>Run the <filename>devtool build-sdk</filename>
631 command.
632 </para></listitem>
633 </orderedlist>
634 The above procedure takes the recipes added to the workspace and
635 constructs a new SDK installer containing those recipes and the
636 resulting binary artifacts.
637 The recipes go into their own separate layer in the constructed
638 derivative SDK, leaving the workspace clean and ready for you
639 to add your own recipes.
576 </para> 640 </para>
577</section> 641</section>
578 642