> -----Original Message----- > From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of Mike > Holmes > Sent: Wednesday, February 01, 2017 3:14 PM > To: lng-odp@lists.linaro.org > Subject: [lng-odp] [PATCH 0/5] Add ABI compatibility to helper lib > > Reusing the mechanism used for the ODP API, allow the helpers to build in > ABI > mode where they optionally do not use static inline in the header file.
Helpers themselves can be inline code. There are no issues if helpers are built with the same ODP configuration (ABI_COMPAT) and CC flags as the rest of the application. If you handle helper code as part of application code (as it should be), helper code will be ABI_COMPAT when the application using it is ABI_COMPAT itself. Simplest solution would be to include helpers into application makefile instead of building a helper lib. If helper lib is a must, then the second simplest solution is to build that with the implementation lib. Helper lib is ABI_COMPAT when implementation lib is ABI_COMPAT, and an ABI_COMPAT application must include both of those ABI combat libs. There should be only one copy of helper source code, implementation will not modify it but just build it. Similarly to application files, helper files should not need to know if it's built against ABI_COMPAT or not. There should not be "#if ABI_COMPAT" in any of the helper files. ABI spec should be visible only on implementation side - which headers (types/values/inlines) are included through ODP API files. -Petri