[meson] Clean up ml-api-common dependency
authorJihoon Lee <jhoon.it.lee@samsung.com>
Wed, 20 Jan 2021 07:07:11 +0000 (16:07 +0900)
committerJijoong Moon <jijoong.moon@samsung.com>
Tue, 26 Jan 2021 07:28:14 +0000 (16:28 +0900)
This patch cleans up the ml-api-common dependency.
If it is seems to be stable with multiple platform, we can remove
`api/capi/include/platform/ml-api-common.h`. let's keep it for now

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
api/capi/capi-nntrainer.pc.in
api/capi/meson.build
api/ccapi/ccapi-nntrainer.pc.in
api/ccapi/meson.build
meson.build
nntrainer/meson.build

index dbf466840cb66a07d9349e6a2dff2b1eaf031419..c18d24b40e9918c44677be6cbf2a9fa9b76e5f39 100644 (file)
@@ -8,5 +8,6 @@ Name: tizen-api-nntrainer
 Description: NNTrainer API for Tizen
 Version: @VERSION@
 Requires:
+# Requires: capi-ml-common
 Libs: -L${libdir} -lcapi-nntrainer
 Cflags: -I${includedir}/nntrainer
index 5eac1aabff95f84ca5d5789d8e90697c9e1b6036..bce1238d6908b70525f17620387314b94ece5293 100644 (file)
@@ -1,14 +1,6 @@
 capi_inc = []
 capi_inc += include_directories('include')
 capi_inc += include_directories('..')
-
-# pc file is not present for 'ml-api-common' yet
-if cxx.has_header('nnstreamer/ml-api-common.h', required: false)
-  capi_inc += include_directories ('/usr/include/nnstreamer')
-else
-  capi_inc += include_directories ('include/platform')
-endif
-
 capi_src = []
 capi_src += meson.current_source_dir() / 'src' / 'nntrainer.cpp'
 capi_src += meson.current_source_dir() / 'src' / 'nntrainer_util.cpp'
index f171061b00ac0f7eb97fb39d4e75485e2f1100d5..606714d38e5ad64121bbc3438a12f5186d3962cb 100644 (file)
@@ -8,5 +8,6 @@ Name: ccapi-nntrainer
 Description: NNTrainer cc API
 Version: @VERSION@
 Requires:
+# Requires: capi-ml-common-devel
 Libs: -L${libdir} -lccapi-nntrainer
 Cflags: -I${includedir}/nntrainer
index 2374ae2d50a7bce674034387e91df352a0c04eab..232cf154fd74277491cde3ec26a7dfc2707b1343 100644 (file)
@@ -2,12 +2,6 @@ ccapi_inc = []
 ccapi_inc += include_directories('include')
 ccapi_inc += include_directories('..')
 
-# pc file is not present for 'ml-api-common' yet
-if cxx.has_header('nnstreamer/ml-api-common.h', required: false)
-  ccapi_inc += include_directories ('/usr/include/nnstreamer')
-else
-  ccapi_inc += include_directories ('../capi/include/platform')
-endif
 
 ccapi_src = []
 ccapi_src += meson.current_source_dir() / 'src' / 'factory.cpp'
index 1029955c1fa945e6bf17c31833697792ece01186..23e34616e0729ba0f0108087e9334fecc5fc4604 100644 (file)
@@ -137,8 +137,17 @@ endif
 nnstreamer_capi_dep = dependency('capi-nnstreamer', required:false)
 if nnstreamer_capi_dep.found()
   add_project_arguments('-DNNSTREAMER_AVAILABLE=1', language:['c','cpp'])
+  # accessing this variable when dep_.not_found() remains hard error on purpose
+  supported_nnstreamer_capi = nnstreamer_capi_dep.version().version_compare('>=1.7.0')
+  if not supported_nnstreamer_capi
+    add_project_arguments('-DUNSUPPORTED_NNSTREAMER=1', language:['c','cpp'])
+    warning('capi-nnstreamer version is too old, we do not know if it works with older nnstreamer version')
+  endif
 endif
 
+# todo: change this to a capi-ml-common after #nnstreamer/3014
+ml_api_common_dep = dependency('capi-nnstreamer', required:true)
+
 if get_option('enable-nnstreamer-backbone')
   add_project_arguments('-DENABLE_NNSTREAMER_BACKBONE=1', language:['c','cpp'])
 endif
@@ -183,12 +192,12 @@ if get_option('enable-app')
 endif
 
 if get_option('enable-test')
-   subdir('test')
+  subdir('test')
 endif
 
 if get_option('enable-nnstreamer-tensor-filter')
-   nnstreamer_dep = dependency('nnstreamer', required: true)
-   subdir('nnstreamer/tensor_filter')
+  nnstreamer_dep = dependency('nnstreamer', required: true)
+  subdir('nnstreamer/tensor_filter')
 endif
 
 if get_option('enable-android')
index 3b0f7e7b0dd770790c8ac30764f14902456c2f98..5888b88cd21859292cc2b0ea3018a38ff76b3806 100644 (file)
@@ -6,17 +6,11 @@ nntrainer_inc = [
 nntrainer_sources = []
 nntrainer_headers = ['app_context.h']
 
-# pc file is not present for 'ml-api-common' yet
-if cxx.has_header('nnstreamer/ml-api-common.h', required: false)
-  nntrainer_inc += include_directories ('/usr/include/nnstreamer')
-else
-  nntrainer_inc += include_directories ('../api/capi/include/platform')
-endif
-
 # Dependencies
 nntrainer_base_deps=[
   blas_dep,
   iniparser_dep,
+  ml_api_common_dep,
   libm_dep,
   libdl_dep,
   thread_dep