X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-api-so.c;h=74305c69f93a3a01490df1f730c37cb1ee04e915;hb=6f13ad1989875b5a0ce50b24211fd1fba093735f;hp=9b28e1e3713f845977bbc9db57a0e96845d26847;hpb=043c27c3a8fd323d59e41288b6fd24f0e9bfa9a3;p=src%2Fapp-framework-binder.git diff --git a/src/afb-api-so.c b/src/afb-api-so.c index 9b28e1e3..74305c69 100644 --- a/src/afb-api-so.c +++ b/src/afb-api-so.c @@ -15,6 +15,8 @@ * limitations under the License. */ +#if WITH_DYNAMIC_BINDING + #define _GNU_SOURCE #include @@ -25,17 +27,19 @@ #include #include "afb-api-so.h" -#include "afb-api-so-v2.h" #include "afb-api-so-v3.h" #include "verbose.h" #include "sig-monitor.h" -#if defined(WITH_LEGACY_BINDING_V1) +#if WITH_LEGACY_BINDING_V1 # include "afb-api-so-v1.h" #endif -#if defined(WITH_LEGACY_BINDING_VDYN) +#if WITH_LEGACY_BINDING_VDYN # include "afb-api-so-vdyn.h" #endif +#if WITH_LEGACY_BINDING_V2 +# include "afb-api-so-v2.h" +#endif struct safe_dlopen { @@ -91,6 +95,7 @@ static int load_binding(const char *path, int force, struct afb_apiset *declare_ if (rc) return 0; /* yes version 3 */ +#if WITH_LEGACY_BINDING_V2 /* try the version 2 */ rc = afb_api_so_v2_add(path, handle, declare_set, call_set); if (rc < 0) { @@ -99,8 +104,14 @@ static int load_binding(const char *path, int force, struct afb_apiset *declare_ } if (rc) return 0; /* yes version 2 */ +#else + if (dlsym(handle, "afbBindingV2")) { + WARNING("binding [%s]: version 2 not supported", path); + obsolete = 1; + } +#endif -#if defined(WITH_LEGACY_BINDING_VDYN) +#if WITH_LEGACY_BINDING_VDYN /* try the version dyn */ rc = afb_api_so_vdyn_add(path, handle, declare_set, call_set); if (rc < 0) { @@ -116,7 +127,7 @@ static int load_binding(const char *path, int force, struct afb_apiset *declare_ } #endif -#if defined(WITH_LEGACY_BINDING_V1) +#if WITH_LEGACY_BINDING_V1 /* try the version 1 */ rc = afb_api_so_v1_add(path, handle, declare_set, call_set); if (rc < 0) { @@ -313,3 +324,4 @@ int afb_api_so_add_pathset_nofails(const char *pathset, struct afb_apiset *decla return afb_api_so_add_pathset(pathset, declare_set, call_set, 0); } +#endif