On 4 February 2015 at 11:35, Maxim Uvarov <[email protected]> wrote:
> odp_version_api_str() has to be in API header while
> odp_version_impl_str() should be in linux-generic.
The definition of odp_version_impl_str() could (should) be part of the
ODP API and thus defined in include/odp/api/version.h.
The value (string) it returns is implementation specific (that being
the whole purpose of the function).

Why was the definition removed from include/odp/api/version.h?



> That change fixes:
> https://bugs.linaro.org/show_bug.cgi?id=1194
>
> Signed-off-by: Maxim Uvarov <[email protected]>
> ---
>  v3: make implementation version not online, for that
>         odp_impl.c goes away and replaced with odp_version.c, which
>         has implementation for version strings (api and implementation).
>
>  include/odp/api/version.h                          | 12 -------
>  platform/linux-generic/Makefile.am                 |  5 ++-
>  .../linux-generic/include/odp/plat/version_types.h | 30 -----------------
>  platform/linux-generic/include/odp/version.h       | 25 +++++++-------
>  platform/linux-generic/odp_impl.c                  | 35 -------------------
>  platform/linux-generic/odp_version.c               | 39 
> ++++++++++++++++++++++
>  6 files changed, 53 insertions(+), 93 deletions(-)
>  delete mode 100644 platform/linux-generic/include/odp/plat/version_types.h
>  delete mode 100644 platform/linux-generic/odp_impl.c
>  create mode 100644 platform/linux-generic/odp_version.c
>
> diff --git a/include/odp/api/version.h b/include/odp/api/version.h
> index 0889d9c..834835e 100644
> --- a/include/odp/api/version.h
> +++ b/include/odp/api/version.h
> @@ -53,18 +53,6 @@ extern "C" {
>   */
>  const char *odp_version_api_str(void);
>
> -
> -/**
> - * Returns ODP implementation version string
> - *
> - * Every implementation of ODP may receive bug fixes independent of the 
> version
> - * of the API changing, this function returns that indication string.
> - * @note This string is implementation specific.
> - * @sa odp_version_api_str()
> - *
> - * @return null terminated implementation specific version identifier string
> -  */
> -const char *odp_version_impl_str(void);
>  /**
>   * @}
>   */
> diff --git a/platform/linux-generic/Makefile.am 
> b/platform/linux-generic/Makefile.am
> index 81245b1..68603c7 100644
> --- a/platform/linux-generic/Makefile.am
> +++ b/platform/linux-generic/Makefile.am
> @@ -57,8 +57,7 @@ odpplatinclude_HEADERS = \
>                   
> $(top_srcdir)/platform/linux-generic/include/odp/plat/queue_types.h \
>                   
> $(top_srcdir)/platform/linux-generic/include/odp/plat/schedule_types.h \
>                   
> $(top_srcdir)/platform/linux-generic/include/odp/plat/shared_memory_types.h \
> -                 
> $(top_srcdir)/platform/linux-generic/include/odp/plat/strong_types.h \
> -                 
> $(top_srcdir)/platform/linux-generic/include/odp/plat/version_types.h
> +                 
> $(top_srcdir)/platform/linux-generic/include/odp/plat/strong_types.h
>
>  odpapiincludedir= $(includedir)/odp/api
>  odpapiinclude_HEADERS = \
> @@ -137,7 +136,6 @@ __LIB__libodp_la_SOURCES = \
>                            odp_crypto.c \
>                            odp_event.c \
>                            odp_init.c \
> -                          odp_impl.c \
>                            odp_linux.c \
>                            odp_packet.c \
>                            odp_packet_flags.c \
> @@ -154,4 +152,5 @@ __LIB__libodp_la_SOURCES = \
>                            odp_ticketlock.c \
>                            odp_time.c \
>                            odp_timer.c \
> +                          odp_version.c \
>                            odp_weak.c
> diff --git a/platform/linux-generic/include/odp/plat/version_types.h 
> b/platform/linux-generic/include/odp/plat/version_types.h
> deleted file mode 100644
> index e3327eb..0000000
> --- a/platform/linux-generic/include/odp/plat/version_types.h
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -/* Copyright (c) 2015, Linaro Limited
> - * All rights reserved.
> - *
> - * SPDX-License-Identifier:     BSD-3-Clause
> - */
> -
> -#ifndef ODP_VERSION_TYPESH_
> -#define ODP_VERSION_TYPESH_
> -
> -#ifdef __cplusplus
> -extern "C" {
> -#endif
> -
> -/** @internal Version string expand */
> -#define ODP_VERSION_STR_EXPAND(x)  #x
> -
> -/** @internal Version to string */
> -#define ODP_VERSION_TO_STR(x)      ODP_VERSION_STR_EXPAND(x)
> -
> -/** @internal API version string */
> -#define ODP_VERSION_API_STR \
> -ODP_VERSION_TO_STR(ODP_VERSION_API_GENERATION) "." \
> -ODP_VERSION_TO_STR(ODP_VERSION_API_MAJOR) "." \
> -ODP_VERSION_TO_STR(ODP_VERSION_API_MINOR)
> -
> -#ifdef __cplusplus
> -}
> -#endif
> -
> -#endif
> diff --git a/platform/linux-generic/include/odp/version.h 
> b/platform/linux-generic/include/odp/version.h
> index f29320a..0c50826 100644
> --- a/platform/linux-generic/include/odp/version.h
> +++ b/platform/linux-generic/include/odp/version.h
> @@ -17,22 +17,21 @@
>  extern "C" {
>  #endif
>
> -#include <odp/plat/version_types.h>
> +#include <odp/api/version.h>
>
> -/** @ingroup odp_ver_abt_log_dbg
> - *  @{
> - */
> -
> -static inline const char *odp_version_api_str(void)
> -{
> -       return ODP_VERSION_API_STR;
> -}
> +#define  ODP_VERSION_IMPL 0
>
>  /**
> - * @}
> - */
> -
> -#include <odp/api/version.h>
> + * Returns ODP implementation version string
> + *
> + * Every implementation of ODP may receive bug fixes independent of the 
> version
> + * of the API changing, this function returns that indication string.
> + * @note This string is implementation specific.
> + * @sa odp_version_api_str()
> + *
> + * @return null terminated implementation specific version identifier string
> +  */
> +const char *odp_version_impl_str(void);
>
>  #ifdef __cplusplus
>  }
> diff --git a/platform/linux-generic/odp_impl.c 
> b/platform/linux-generic/odp_impl.c
> deleted file mode 100644
> index ca3224d..0000000
> --- a/platform/linux-generic/odp_impl.c
> +++ /dev/null
> @@ -1,35 +0,0 @@
> -/* Copyright (c) 2014, Linaro Limited
> - * All rights reserved.
> - *
> - * SPDX-License-Identifier:     BSD-3-Clause
> - */
> -
> -
> -/**
> - * @file
> - *
> - * ODP Implementation information
> - */
> -
> -#ifndef ODP_IMPL_H_
> -#define ODP_IMPL_H_
> -
> -#ifdef __cplusplus
> -extern "C" {
> -#endif
> -
> -#include <odp/version.h>
> -
> -#define  ODP_VERSION_IMPL 0
> -#define  ODP_VERSION_IMPL_STR ODP_VERSION_TO_STR(ODP_VERSION_IMPL)
> -
> -const char *odp_version_impl_str(void)
> -{
> -       return ODP_VERSION_IMPL_STR;
> -}
> -
> -#ifdef __cplusplus
> -}
> -#endif
> -
> -#endif
> diff --git a/platform/linux-generic/odp_version.c 
> b/platform/linux-generic/odp_version.c
> new file mode 100644
> index 0000000..032564d
> --- /dev/null
> +++ b/platform/linux-generic/odp_version.c
> @@ -0,0 +1,39 @@
> +/* Copyright (c) 2014, Linaro Limited
> + * All rights reserved.
> + *
> + * SPDX-License-Identifier:     BSD-3-Clause
> + */
> +
> +/**
> + * @file
> + *
> + * ODP API and Implementation information
> + */
> +
> +#include <odp/api/version.h>
> +#include <odp/version.h>
> +
> +/** @internal Version string expand */
> +#define ODP_VERSION_STR_EXPAND(x)  #x
> +
> +/** @internal Version to string */
> +#define ODP_VERSION_TO_STR(x)      ODP_VERSION_STR_EXPAND(x)
> +
> +/** @internal API version string */
> +#define ODP_VERSION_API_STR \
> +ODP_VERSION_TO_STR(ODP_VERSION_API_GENERATION) "." \
> +ODP_VERSION_TO_STR(ODP_VERSION_API_MAJOR) "." \
> +ODP_VERSION_TO_STR(ODP_VERSION_API_MINOR)
> +
> +const char *odp_version_api_str(void)
> +{
> +       return ODP_VERSION_API_STR;
> +}
> +
> +/** @internal Implementation version to string */
> +#define  ODP_VERSION_IMPL_STR ODP_VERSION_TO_STR(ODP_VERSION_IMPL)
> +
> +const char *odp_version_impl_str(void)
> +{
> +       return ODP_VERSION_IMPL_STR;
> +}
> --
> 1.8.5.1.163.gd7aced9
>
>
> _______________________________________________
> lng-odp mailing list
> [email protected]
> http://lists.linaro.org/mailman/listinfo/lng-odp

_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to