diff mbox

doc: implementers add include structure

Message ID 1441391951-1929-1-git-send-email-mike.holmes@linaro.org
State Accepted
Commit 33112ca2d97b5ef4a05c23480205ae373039004d
Headers show

Commit Message

Mike Holmes Sept. 4, 2015, 6:39 p.m. UTC
Signed-off-by: Mike Holmes <mike.holmes@linaro.org>
---
 doc/implementers-guide/implementers-guide.adoc | 34 ++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

Comments

Bill Fischofer Sept. 4, 2015, 7:56 p.m. UTC | #1
On Fri, Sep 4, 2015 at 1:39 PM, Mike Holmes <mike.holmes@linaro.org> wrote:

> Signed-off-by: Mike Holmes <mike.holmes@linaro.org>
>

Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>


> ---
>  doc/implementers-guide/implementers-guide.adoc | 34
> ++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)
>
> diff --git a/doc/implementers-guide/implementers-guide.adoc
> b/doc/implementers-guide/implementers-guide.adoc
> index 56d6e05..32dbfea 100644
> --- a/doc/implementers-guide/implementers-guide.adoc
> +++ b/doc/implementers-guide/implementers-guide.adoc
> @@ -11,6 +11,40 @@ Further details about ODP may be found at
> http://opendataplane.org[ODP homepage]
>
>
>  :numbered:
> +The include structure
> +---------------------
> +The implementers view of the include source tree allows the common API
> definitions and documentation to be reused by all the platforms defined in
> the tree, but leave the actual definitions to be defined by the specific
> platform.
> +
> +.Implementers include structure
> +----
> +./
> +├── include/
> +│   ├── odp/
> +│   │   └── api/
> +│   │       └── The Public API and the documentation.
> +│   │
> +│   └── odp.h   This file should be the only file included by the
> application.
> +│
> +├── platform/
> +│   ├── <implementation name>/
> +│   │   ├── include/
> +│   │   │   ├── odp/
> +│   │   │   │   ├── In-line function definitions of the public API for
> this platform
> +│   │   │   │   │   seen by the applicationx.
> +│   │   │   │   │
> +│   │   │   │   └── plat/
> +│   │   │   │       └── Platform specific types, enums etc as seen by the
> application
> +│   │   │   │           but require overriding by the implementation.
> +│   │   │   │
> +│   │   │   └── Internal header files seen only by the implementation.
> +----
> +
> +The doxygen description of the API definition is held in the public api
> file 'include/odp/api'.
> +This file is included by a counterpart in 'platform/<implementation
> name>/include/odp'.
> +The include of the public API is AFTER the platform specific definitions
> to allow the platform to provide definitions that match the underlying
> hardware.
> +The implementation code includes 'platform/<implementation
> name>/include/plat' and this then provides the source files with a complete
> definition the ODP API to be implemented.
> +Applications in turn include the include/odp.h file which includes the
> 'platform/<implementation name>/include/plat' files to provide a complete
> definition of the API.
> +
>  The validation Suite
>  --------------------
>  ODP provides a comprehensive set of API validation tests that are
> intended to be used by implementers during development and by application
> developers to verify that a particular implementation meets their
> requirements.
> --
> 2.1.4
>
> _______________________________________________
> lng-odp mailing list
> lng-odp@lists.linaro.org
> https://lists.linaro.org/mailman/listinfo/lng-odp
>
Maxim Uvarov Sept. 7, 2015, 10:28 a.m. UTC | #2
Merged,
Maxim.

On 09/04/15 22:56, Bill Fischofer wrote:
>
>
> On Fri, Sep 4, 2015 at 1:39 PM, Mike Holmes <mike.holmes@linaro.org 
> <mailto:mike.holmes@linaro.org>> wrote:
>
>     Signed-off-by: Mike Holmes <mike.holmes@linaro.org
>     <mailto:mike.holmes@linaro.org>>
>
>
> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org 
> <mailto:bill.fischofer@linaro.org>>
>
>     ---
>      doc/implementers-guide/implementers-guide.adoc | 34
>     ++++++++++++++++++++++++++
>      1 file changed, 34 insertions(+)
>
>     diff --git a/doc/implementers-guide/implementers-guide.adoc
>     b/doc/implementers-guide/implementers-guide.adoc
>     index 56d6e05..32dbfea 100644
>     --- a/doc/implementers-guide/implementers-guide.adoc
>     +++ b/doc/implementers-guide/implementers-guide.adoc
>     @@ -11,6 +11,40 @@ Further details about ODP may be found at
>     http://opendataplane.org[ODP homepage]
>
>
>      :numbered:
>     +The include structure
>     +---------------------
>     +The implementers view of the include source tree allows the
>     common API definitions and documentation to be reused by all the
>     platforms defined in the tree, but leave the actual definitions to
>     be defined by the specific platform.
>     +
>     +.Implementers include structure
>     +----
>     +./
>     +├── include/
>     +│   ├── odp/
>     +│   │   └── api/
>     +│   │       └── The Public API and the documentation.
>     +│   │
>     +│   └── odp.h   This file should be the only file included by the
>     application.
>     +│
>     +├── platform/
>     +│   ├── <implementation name>/
>     +│   │   ├── include/
>     +│   │   │   ├── odp/
>     +│   │   │   │   ├── In-line function definitions of the public
>     API for this platform
>     +│   │   │   │   │   seen by the applicationx.
>     +│   │   │   │   │
>     +│   │   │   │   └── plat/
>     +│   │   │   │       └── Platform specific types, enums etc as
>     seen by the application
>     +│   │   │   │           but require overriding by the implementation.
>     +│   │   │   │
>     +│   │   │   └── Internal header files seen only by the
>     implementation.
>     +----
>     +
>     +The doxygen description of the API definition is held in the
>     public api file 'include/odp/api'.
>     +This file is included by a counterpart in
>     'platform/<implementation name>/include/odp'.
>     +The include of the public API is AFTER the platform specific
>     definitions to allow the platform to provide definitions that
>     match the underlying hardware.
>     +The implementation code includes 'platform/<implementation
>     name>/include/plat' and this then provides the source files with a
>     complete definition the ODP API to be implemented.
>     +Applications in turn include the include/odp.h file which
>     includes the 'platform/<implementation name>/include/plat' files
>     to provide a complete definition of the API.
>     +
>      The validation Suite
>      --------------------
>      ODP provides a comprehensive set of API validation tests that are
>     intended to be used by implementers during development and by
>     application developers to verify that a particular implementation
>     meets their requirements.
>     --
>     2.1.4
>
>     _______________________________________________
>     lng-odp mailing list
>     lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org>
>     https://lists.linaro.org/mailman/listinfo/lng-odp
>
>
>
>
> _______________________________________________
> lng-odp mailing list
> lng-odp@lists.linaro.org
> https://lists.linaro.org/mailman/listinfo/lng-odp
diff mbox

Patch

diff --git a/doc/implementers-guide/implementers-guide.adoc b/doc/implementers-guide/implementers-guide.adoc
index 56d6e05..32dbfea 100644
--- a/doc/implementers-guide/implementers-guide.adoc
+++ b/doc/implementers-guide/implementers-guide.adoc
@@ -11,6 +11,40 @@  Further details about ODP may be found at http://opendataplane.org[ODP homepage]
 
 
 :numbered:
+The include structure
+---------------------
+The implementers view of the include source tree allows the common API definitions and documentation to be reused by all the platforms defined in the tree, but leave the actual definitions to be defined by the specific platform.
+
+.Implementers include structure
+----
+./
+├── include/
+│   ├── odp/
+│   │   └── api/
+│   │       └── The Public API and the documentation.
+│   │
+│   └── odp.h   This file should be the only file included by the application.
+│
+├── platform/
+│   ├── <implementation name>/
+│   │   ├── include/
+│   │   │   ├── odp/
+│   │   │   │   ├── In-line function definitions of the public API for this platform
+│   │   │   │   │   seen by the applicationx.
+│   │   │   │   │
+│   │   │   │   └── plat/
+│   │   │   │       └── Platform specific types, enums etc as seen by the application
+│   │   │   │           but require overriding by the implementation.
+│   │   │   │  
+│   │   │   └── Internal header files seen only by the implementation.
+----
+
+The doxygen description of the API definition is held in the public api file 'include/odp/api'.
+This file is included by a counterpart in 'platform/<implementation name>/include/odp'.
+The include of the public API is AFTER the platform specific definitions to allow the platform to provide definitions that match the underlying hardware.
+The implementation code includes 'platform/<implementation name>/include/plat' and this then provides the source files with a complete definition the ODP API to be implemented.
+Applications in turn include the include/odp.h file which includes the 'platform/<implementation name>/include/plat' files to provide a complete definition of the API.
+
 The validation Suite
 --------------------
 ODP provides a comprehensive set of API validation tests that are intended to be used by implementers during development and by application developers to verify that a particular implementation meets their requirements.