diff options
-rw-r--r-- | configure.ac | 26 | ||||
-rw-r--r-- | platform/linux-generic/.gitignore | 2 | ||||
-rw-r--r-- | platform/linux-generic/Makefile.am | 2 | ||||
-rw-r--r-- | platform/linux-generic/include/odp/api/atomic.h | 4 | ||||
-rw-r--r-- | platform/linux-generic/include/odp/api/byteorder.h | 4 | ||||
-rw-r--r-- | platform/linux-generic/include/odp/api/plat/static_inline.h.in (renamed from platform/linux-generic/include/odp/api/plat/inlines.h.in) | 19 | ||||
-rw-r--r-- | platform/linux-generic/include/odp/api/std_clib.h | 4 | ||||
-rw-r--r-- | platform/linux-generic/include/odp/api/sync.h | 4 | ||||
-rw-r--r-- | platform/linux-generic/m4/configure.m4 | 2 | ||||
-rw-r--r-- | platform/linux-generic/odp_atomic.c | 2 | ||||
-rw-r--r-- | platform/linux-generic/odp_byteorder.c | 2 | ||||
-rw-r--r-- | platform/linux-generic/odp_std_clib.c | 2 | ||||
-rw-r--r-- | platform/linux-generic/odp_sync.c | 2 |
13 files changed, 43 insertions, 32 deletions
diff --git a/configure.ac b/configure.ac index 982aff7f5..f081c518f 100644 --- a/configure.ac +++ b/configure.ac @@ -176,13 +176,6 @@ AM_CONDITIONAL([test_example], [test x$test_example = xyes ]) AM_CONDITIONAL([HAVE_DOXYGEN], [test "x${DOXYGEN}" = "xdoxygen"]) AM_CONDITIONAL([user_guide], [test "x${user_guides}" = "xyes" ]) AM_CONDITIONAL([HAVE_MSCGEN], [test "x${MSCGEN}" = "xmscgen"]) -if test x$enable_shared != xyes; -then - _ODP_INLINES="_ODP_INLINES" -else - _ODP_INLINES="_ODP_NO_INLINES" -fi -AC_SUBST(_ODP_INLINES) ########################################################################## # Setup doxygen documentation @@ -225,6 +218,22 @@ AC_ARG_ENABLE([debug], ODP_CFLAGS="$ODP_CFLAGS -DODP_DEBUG=$ODP_DEBUG" ########################################################################## +# Enable/disable ABI compatible build +########################################################################## +ODP_ABI_COMPAT=1 +abi_compat=yes +AC_ARG_ENABLE([abi-compat], + [ --enable-abi-compat build all targets in ABI compatible mode (default=yes)], + [if test "x$enableval" = "xyes"; then + ODP_ABI_COMPAT=1 + abi_compat=yes + else + ODP_ABI_COMPAT=0 + abi_compat=no + fi]) +AC_SUBST(ODP_ABI_COMPAT) + +########################################################################## # Default warning setup ########################################################################## ODP_CFLAGS="$ODP_CFLAGS -W -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes" @@ -307,6 +316,9 @@ AC_MSG_RESULT([ am_ldflags: ${AM_LDFLAGS} libs: ${LIBS} defs: ${DEFS} + static libraries: ${enable_static} + shared libraries: ${enable_shared} + ABI compatible: ${abi_compat} cunit: ${cunit_support} test_vald: ${test_vald} test_perf: ${test_perf} diff --git a/platform/linux-generic/.gitignore b/platform/linux-generic/.gitignore index ec6ca37ed..909756a1f 100644 --- a/platform/linux-generic/.gitignore +++ b/platform/linux-generic/.gitignore @@ -1 +1 @@ -include/odp/api/plat/inlines.h +include/odp/api/plat/static_inline.h diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am index 900ac0861..0ec13d402 100644 --- a/platform/linux-generic/Makefile.am +++ b/platform/linux-generic/Makefile.am @@ -61,7 +61,7 @@ odpapiinclude_HEADERS = \ odpapiplatincludedir= $(includedir)/odp/api/plat odpapiplatinclude_HEADERS = \ - $(builddir)/include/odp/api/plat/inlines.h \ + $(builddir)/include/odp/api/plat/static_inline.h \ $(srcdir)/include/odp/api/plat/atomic_inlines.h \ $(srcdir)/include/odp/api/plat/atomic_types.h \ $(srcdir)/include/odp/api/plat/barrier_types.h \ diff --git a/platform/linux-generic/include/odp/api/atomic.h b/platform/linux-generic/include/odp/api/atomic.h index c18e68bf4..7886cb4ea 100644 --- a/platform/linux-generic/include/odp/api/atomic.h +++ b/platform/linux-generic/include/odp/api/atomic.h @@ -24,8 +24,8 @@ extern "C" { * @{ */ -#include <odp/api/plat/inlines.h> -#ifdef _ODP_INLINES +#include <odp/api/plat/static_inline.h> +#if ODP_ABI_COMPAT == 0 #include <odp/api/plat/atomic_inlines.h> #endif diff --git a/platform/linux-generic/include/odp/api/byteorder.h b/platform/linux-generic/include/odp/api/byteorder.h index 84d1173e8..ec3d0eef7 100644 --- a/platform/linux-generic/include/odp/api/byteorder.h +++ b/platform/linux-generic/include/odp/api/byteorder.h @@ -25,8 +25,8 @@ extern "C" { * @{ */ -#include <odp/api/plat/inlines.h> -#ifdef _ODP_INLINES +#include <odp/api/plat/static_inline.h> +#if ODP_ABI_COMPAT == 0 #include <odp/api/plat/byteorder_inlines.h> #endif diff --git a/platform/linux-generic/include/odp/api/plat/inlines.h.in b/platform/linux-generic/include/odp/api/plat/static_inline.h.in index 5d8c0dc4b..acee5f3c1 100644 --- a/platform/linux-generic/include/odp/api/plat/inlines.h.in +++ b/platform/linux-generic/include/odp/api/plat/static_inline.h.in @@ -7,27 +7,26 @@ /** * @file * - * ODP platform inline functions + * Macro for static inline functions */ -#ifndef ODP_PLAT_INLINES_H_ -#define ODP_PLAT_INLINES_H_ +#ifndef ODP_PLAT_STATIC_INLINE_H_ +#define ODP_PLAT_STATIC_INLINE_H_ #ifdef __cplusplus extern "C" { #endif -#define @_ODP_INLINES@ - -#ifdef _ODP_INLINES -#define _STATIC static inline -#else +#if @ODP_ABI_COMPAT@ +#define ODP_ABI_COMPAT 1 #define _STATIC +#else +#define ODP_ABI_COMPAT 0 +#define _STATIC static inline #endif #ifdef __cplusplus } #endif - -#endif /* ODP_PLAT_INLINES_H_ */ +#endif diff --git a/platform/linux-generic/include/odp/api/std_clib.h b/platform/linux-generic/include/odp/api/std_clib.h index c498f68f5..fea472543 100644 --- a/platform/linux-generic/include/odp/api/std_clib.h +++ b/platform/linux-generic/include/odp/api/std_clib.h @@ -14,8 +14,8 @@ extern "C" { #include <odp/api/spec/std_types.h> #include <string.h> -#include <odp/api/plat/inlines.h> -#ifdef _ODP_INLINES +#include <odp/api/plat/static_inline.h> +#if ODP_ABI_COMPAT == 0 #include <odp/api/plat/std_clib_inlines.h> #endif diff --git a/platform/linux-generic/include/odp/api/sync.h b/platform/linux-generic/include/odp/api/sync.h index d2becb942..e1afcc722 100644 --- a/platform/linux-generic/include/odp/api/sync.h +++ b/platform/linux-generic/include/odp/api/sync.h @@ -21,8 +21,8 @@ extern "C" { * @{ */ -#include <odp/api/plat/inlines.h> -#ifdef _ODP_INLINES +#include <odp/api/plat/static_inline.h> +#if ODP_ABI_COMPAT == 0 #include <odp/api/plat/sync_inlines.h> #endif diff --git a/platform/linux-generic/m4/configure.m4 b/platform/linux-generic/m4/configure.m4 index 6fb05c082..d3e5528c1 100644 --- a/platform/linux-generic/m4/configure.m4 +++ b/platform/linux-generic/m4/configure.m4 @@ -37,4 +37,4 @@ m4_include([platform/linux-generic/m4/odp_ipc.m4]) m4_include([platform/linux-generic/m4/odp_schedule.m4]) AC_CONFIG_FILES([platform/linux-generic/Makefile - platform/linux-generic/include/odp/api/plat/inlines.h]) + platform/linux-generic/include/odp/api/plat/static_inline.h]) diff --git a/platform/linux-generic/odp_atomic.c b/platform/linux-generic/odp_atomic.c index e9a3ed0a1..0e40cda51 100644 --- a/platform/linux-generic/odp_atomic.c +++ b/platform/linux-generic/odp_atomic.c @@ -5,7 +5,7 @@ */ #include <odp/api/atomic.h> -#ifndef _ODP_INLINES +#if ODP_ABI_COMPAT == 1 #include <odp/api/plat/atomic_inlines.h> #endif diff --git a/platform/linux-generic/odp_byteorder.c b/platform/linux-generic/odp_byteorder.c index fc87291b0..a344c53f7 100644 --- a/platform/linux-generic/odp_byteorder.c +++ b/platform/linux-generic/odp_byteorder.c @@ -5,6 +5,6 @@ */ #include <odp/api/byteorder.h> -#ifndef _ODP_INLINES +#if ODP_ABI_COMPAT == 1 #include <odp/api/plat/byteorder_inlines.h> #endif diff --git a/platform/linux-generic/odp_std_clib.c b/platform/linux-generic/odp_std_clib.c index 611ba12e8..24df249db 100644 --- a/platform/linux-generic/odp_std_clib.c +++ b/platform/linux-generic/odp_std_clib.c @@ -5,6 +5,6 @@ */ #include <odp/api/std_clib.h> -#ifndef _ODP_INLINES +#if ODP_ABI_COMPAT == 1 #include <odp/api/plat/std_clib_inlines.h> #endif diff --git a/platform/linux-generic/odp_sync.c b/platform/linux-generic/odp_sync.c index f31c38949..b7eb503ca 100644 --- a/platform/linux-generic/odp_sync.c +++ b/platform/linux-generic/odp_sync.c @@ -5,6 +5,6 @@ */ #include <odp/api/sync.h> -#ifndef _ODP_INLINES +#if ODP_ABI_COMPAT == 1 #include <odp/api/plat/sync_inlines.h> #endif |