Lines Matching +full:url +full:- +full:base
7 order to avoid reinventing the wheel and to reuse as much well-established,
14 modules, an external project is required to have its own life-cycle outside
29 - Debugger integration
30 - Silicon vendor Hardware Abstraction Layers (HALs)
31 - Cryptography libraries
32 - File Systems
33 - Inter-Process Communication (IPC) libraries
36 references to optional :ref:`binary blobs <bin-blobs>`.
41 .. _modules-vs-projects:
47 <west-workspace>`. In fact, modules :ref:`do not require west
55 :ref:`West projects <west-manifests-projects>` are entries in the `projects:`
71 under the zephyrproject-rtos GitHub organization.
104 beginning with the module-name. (E.g., mcuboot should expose its
120 ----------------------------------
123 with upstream code base, may only be applied via pull requests. These pull
134 Force-pushing to a module's main branch is not allowed.
137 -----------------
157 The commit message is expected to identify the upstream project URL, the
197 * be the default assignee in pull-requests against the repository's
206 soon as the fixes are available in the upstream code base
255 Non-trivial changes to a module's codebase, including changes in the module
264 -----------------------
305 and they contain a permissive OSI-compliant license. Main license files
336 --------------
409 original URL, as they are required by older Zephyr versions.
433 ``-DEXTRA_ZEPHYR_MODULES=/<path>/foo`` then the module given by the command
444 See :ref:`west-basics` for more on west workspaces.
449 .. _module-yml:
464 ensure the module name is not changeable through user-defined directory names
467 .. code-block:: yaml
478 converted to uppercase and all non-alphanumeric characters are converted
480 As example, the module ``foo-bar`` must be referred to as
485 .. code-block:: yaml
496 Module integration files (in-module)
502 .. code-block:: yaml
505 cmake: <cmake-directory>
508 The ``cmake: <cmake-directory>`` part specifies that
509 :file:`<cmake-directory>` contains the :file:`CMakeLists.txt` to use. The
518 .. code-block:: yaml
533 sysbuild-specific build files, :file:`CMakeLists.txt` and :file:`Kconfig`, can
536 .. code-block:: yaml
539 sysbuild-cmake: <cmake-directory>
540 sysbuild-kconfig: <directory>/Kconfig
542 The ``sysbuild-cmake: <cmake-directory>`` part specifies that
543 :file:`<cmake-directory>` contains the :file:`CMakeLists.txt` to use. The
544 ``sysbuild-kconfig: <directory>/Kconfig`` part specifies the Kconfig file to
551 .. code-block:: yaml
554 sysbuild-cmake: sysbuild
555 sysbuild-kconfig: sysbuild/Kconfig
563 .. code-block:: yaml
566 sysbuild-cmake-ext: True
567 sysbuild-kconfig-ext: True
572 .. _modules-vulnerability-monitoring:
581 It contains the field ``external-references`` that contains a list of references that needs to
584 - CPE (Common Platform Enumeration)
585 - PURL (Package URL)
587 .. code-block:: yaml
590 external-references:
591 - <module-related-cpe>
592 - <an-other-module-related-cpe>
593 - <module-related-purl>
597 .. code-block:: yaml
600 external-references:
601 - cpe:2.3:a:arm:mbed_tls:3.5.2:*:*:*:*:*:*:*
602 - pkg:github/Mbed-TLS/mbedtls@V3.5.2
606 <https://csrc.nist.gov/projects/security-content-automation-protocol/specifications/cpe>`_.
608 <https://github.com/package-url/purl-spec/blob/master/PURL-SPECIFICATION.rst>`_.
619 --------------
631 - In CMake: use ``${ZEPHYR_FOO_MODULE_DIR}`` for the module's top level directory, and ``${ZEPHYR_F…
632 - In Kconfig: use ``$(ZEPHYR_FOO_MODULE_DIR)`` for the module's top level directory
640 .. code-block:: cmake
649 .. code-block:: kconfig
656 - the current module's name: ``${ZEPHYR_CURRENT_MODULE_NAME}``
657 - the current module's top level directory: ``${ZEPHYR_CURRENT_MODULE_DIR}``
658 - the current module's :file:`CMakeLists.txt` directory: ``${ZEPHYR_CURRENT_CMAKE_DIR}``
664 .. code-block:: cmake
674 .. code-block:: cmake
683 ----------------
694 - In CMake: use ``${SYSBUILD_CURRENT_MODULE_DIR}`` for the module's top level
697 - In Kconfig: use ``$(SYSBUILD_CURRENT_MODULE_DIR)`` for the module's top level
703 .. code-block:: kconfig
710 .. code-block:: cmake
720 .. code-block:: cmake
726 ----------------------
729 a function which will be invoked by sysbuild at a pre-defined point in the
734 - ``<module-name>_pre_cmake(IMAGES <images>)``: This function is called for each
736 - ``<module-name>_post_cmake(IMAGES <images>)``: This function is called for each
738 - ``<module-name>_pre_domains(IMAGES <images>)``: This function is called for each
740 - ``<module-name>_post_domains(IMAGES <images>)``: This function is called for each
745 - ``<images>`` is the list of Zephyr images that will be created by the build system.
756 .. code-block:: cmake
774 .. code-block:: yaml
778 - <module>
783 .. code-block:: yaml
788 - bar
804 ----------------------------------
811 .. code-block:: none
820 ---------------------------------------------
827 .. code-block:: none
836 and then build your application by specifying ``-DMODULE_EXT_ROOT`` parameter to
865 .. code-block:: none
876 .. code-block:: cmake
882 --------------------------------------------
890 .. code-block:: yaml
893 cmake-ext: True
894 kconfig-ext: True
913 - ``board_root``: Contains additional boards that are available to the build
916 - ``dts_root``: Contains additional dts files related to the architecture/soc
919 - ``snippet_root``: Contains additional snippets that are available for use.
923 :file:`snippet.yml` files in :file:`<your-module>/foo/snippets` or any
925 - ``soc_root``: Contains additional SoCs that are available to the build
927 - ``arch_root``: Contains additional architectures that are available to the
930 - ``module_ext_root``: Contains :file:`CMakeLists.txt` and :file:`Kconfig` files
932 - ``sca_root``: Contains additional :ref:`SCA <sca>` tool implementations
940 .. code-block:: yaml
953 .. code-block:: none
955 <zephyr-module-root>
973 .. code-block:: yaml
978 - samples
980 - tests
982 - boards
984 .. _modules-bin-blobs:
989 Zephyr supports fetching and using :ref:`binary blobs <bin-blobs>`, and their
994 Binary blobs are fetched using :ref:`west blobs <west-blobs>`. If ``west`` is
1001 - ``path``: The path to the binary blob, relative to the :file:`zephyr/blobs/`
1003 - ``sha256``: `SHA-256 <https://en.wikipedia.org/wiki/SHA-2>`_ checksum of the
1005 - ``type``: The :ref:`type of binary blob <bin-blobs-types>`. Currently limited
1007 - ``version``: A version string
1008 - ``license-path``: Path to the license file for this blob, relative to the root
1010 - ``url``: URL that identifies the location the blob will be fetched from, as
1012 - ``description``: Human-readable description of the binary blob
1013 - ``doc-url``: A URL pointing to the location of the official documentation for
1022 ----------
1026 those. It does this by running :ref:`west list <west-built-in-misc>` to get
1032 - If the project contains a file named :file:`zephyr/module.yml`, then the
1036 - Otherwise (i.e. if the project has no :file:`zephyr/module.yml`), the
1041 - If neither of those checks succeed, the project is not considered a module,
1047 ------------
1058 .. code-block:: console
1060 cmake -DZEPHYR_MODULES=<path-to-module1>[;<path-to-module2>[...]] ...
1064 .. code-block:: cmake
1066 set(ZEPHYR_MODULES <path-to-module1> <path-to-module2> [...])
1072 #. In a separate CMake script which is pre-loaded to populate the CMake cache,
1075 .. code-block:: cmake
1077 # Put this in a file with a name like "zephyr-modules.cmake"
1078 set(ZEPHYR_MODULES <path-to-module1> <path-to-module2>
1079 CACHE STRING "pre-cached modules")
1081 You can tell the build system to use this file by adding ``-C
1082 zephyr-modules.cmake`` to your CMake command line.
1085 -----------------
1121 Please follow the process in :ref:`external-src-process` and obtain the TSC
1139 .. code-block:: console
1141 - name: <name of repository>
1148 .. code-block:: console
1150 - name: my_module
1166 :ref:`expectations <contributor-expectations>`.
1171 .. code-block:: console
1173 - name: <name of repository>
1180 .. code-block:: console
1182 - name: my_module
1192 .. _CMake list: https://cmake.org/cmake/help/latest/manual/cmake-language.7.html#lists
1194 .. _GitHub issues: https://github.com/zephyrproject-rtos/zephyr/issues