diff options
Diffstat (limited to 'documentation/dev-manual/dev-manual-common-tasks.xml')
-rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 58 |
1 files changed, 55 insertions, 3 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 8bc7fd8b2b..3d51ec60aa 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -2348,7 +2348,7 @@ Most software provides some means of setting build-time configuration options before compilation. Typically, setting these options is accomplished by running a - configure script with some options, or by modifying a build + configure script with options, or by modifying a build configuration file. <note> As of Yocto Project Release 1.7, some of the core recipes @@ -2388,6 +2388,7 @@ software is built using Autotools. If this is the case, you just need to worry about modifying the configuration.</para> + <para>When using Autotools, your recipe needs to inherit the <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-autotools'><filename>autotools</filename></ulink> @@ -2400,13 +2401,15 @@ or <ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGECONFIG_CONFARGS'><filename>PACKAGECONFIG_CONFARGS</filename></ulink> to pass any needed configure options that are specific - to the recipe.</para></listitem> + to the recipe. + </para></listitem> <listitem><para><emphasis>CMake:</emphasis> If your source files have a <filename>CMakeLists.txt</filename> file, then your software is built using CMake. If this is the case, you just need to worry about modifying the configuration.</para> + <para>When you use CMake, your recipe needs to inherit the <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-cmake'><filename>cmake</filename></ulink> @@ -2416,7 +2419,16 @@ You can make some adjustments by setting <ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_OECMAKE'><filename>EXTRA_OECMAKE</filename></ulink> to pass any needed configure options that are specific - to the recipe.</para></listitem> + to the recipe. + <note> + If you need to install one or more custom CMake + toolchain files that are supplied by the + application you are building, install the files to + <filename>${D}${datadir}/cmake/</filename> Modules + during + <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-install'><filename>do_install</filename></ulink>. + </note> + </para></listitem> <listitem><para><emphasis>Other:</emphasis> If your source files do not have a <filename>configure.ac</filename> or @@ -2779,6 +2791,14 @@ <ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKEINST'><filename>PARALLEL_MAKEINST</filename></ulink> for additional information. </para></listitem> + <listitem><para> + If you need to install one or more custom CMake + toolchain files that are supplied by the + application you are building, install the files to + <filename>${D}${datadir}/cmake/</filename> Modules + during + <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-install'><filename>do_install</filename></ulink>. + </para></listitem> </itemizedlist> </note> </section> @@ -10810,6 +10830,38 @@ </para> <para> + Within the system, SysVinit treats system components as services. + These services are maintained as shell scripts stored in the + <filename>/etc/init.d/</filename> directory. + Services organize into different run levels. + This organization is maintained by putting links to the services + in the <filename>/etc/rcN.d/</filename> directories, where + <replaceable>N/</replaceable> is one of the following options: + "S", "0", "1", "2", "3", "4", "5", or "6". + <note> + Each runlevel has a dependency on the previous runlevel. + This dependency allows the services to work properly. + </note> + </para> + + <para> + In comparison, systemd treats components as units. + Using units is a broader concept as compared to using a service. + A unit includes several different types of entities. + Service is one of the types of entities. + The runlevel concept in SysVinit corresponds to the concept of a + target in systemd, where target is also a type of supported unit. + </para> + + <para> + In a SysVinit-based system, services load sequentially (i.e. one + by one) during and parallelization is not supported. + With systemd, services start in parallel. + Needless to say, the method can have an impact on system startup + performance. + </para> + + <para> If you want to use SysVinit, you do not have to do anything. But, if you want to use systemd, you must |