Replies: 6 comments 5 replies
-
Conceptually the "internal" header files are not explicitly listed in the meta information. Only the necessary include paths are specified in order to ensure a successful build. The assumption is that user's of a component will only make use of the public header file(s), as internal headers must not be included outside of the component. |
Beta Was this translation helpful? Give feedback.
-
Maybe you take a look to https://github.com/ARM-software/CMSIS-FreeRTOS/blob/main/ARM.CMSIS-FreeRTOS.pdsc#L980 It defines just the include path for non-public headers. Only the public headers are explicitly stated in the PDSC file. |
Beta Was this translation helpful? Give feedback.
-
Let me illustrate my point: <file category="header" name="my_public.h"/> Now, regarding the internal header, I have several approaches:
Is the issue clearer this way? I really mean this as a kind of access right control: giving access to each stakeholder to exactly what it needs, and no more. |
Beta Was this translation helpful? Give feedback.
-
Clearly we need to define additional However for your case (3), the source file may use
|
Beta Was this translation helpful? Give feedback.
-
It is my understanding that CMake can have an include path being private or public but not individual header files. Also private header files shall be located in a different include directory than the public ones. Am I missing something? |
Beta Was this translation helpful? Give feedback.
-
See also #176: can be extended not only to public/private but to the visibility of selected components header files only |
Beta Was this translation helpful? Give feedback.
-
Hi,
I think I have found a use case that is not yet covered in the spec; I'd appreciate some guidance on how to handle it, and/or suggest the pdsc specification be extended to cover it.
Here is the case: a component I'm developing has headers files (.h):
While I want [my component and] my users to be able to include the public headers, I would like the internal ones to only be in scope in my component, not to my users.
In the current PDSC specification, I have found the following:
Table: File Categories
As said the note, this category is only meant for "public" headers.
However, I could find no suitable category for "internal" headers -- how is this case currently supposed to be handled, if at all?
Regards --
Beta Was this translation helpful? Give feedback.
All reactions