From 00d2b762ce4a11b2dcb11bee6f10352d942ae5e4 Mon Sep 17 00:00:00 2001 From: Jihoon Lee Date: Fri, 22 Oct 2021 14:19:23 +0900 Subject: [PATCH] [Android] disable building src through ninja This patch disables building src through ninja for android **Self evaluation:** 1. Build test: [X]Passed [ ]Failed [ ]Skipped 2. Run test: [X]Passed [ ]Failed [ ]Skipped Signed-off-by: Jihoon Lee --- api/capi/meson.build | 41 +++++++++++++++++++++++------------------ api/ccapi/meson.build | 44 ++++++++++++++++++++++++-------------------- meson.build | 32 ++++++++++++++++++++++---------- nntrainer/meson.build | 50 +++++++++++++++++++++++++++----------------------- 4 files changed, 96 insertions(+), 71 deletions(-) diff --git a/api/capi/meson.build b/api/capi/meson.build index fad69a7..89f6517 100644 --- a/api/capi/meson.build +++ b/api/capi/meson.build @@ -37,26 +37,30 @@ if get_option('platform') == 'tizen' capi_deps += tizen_deps endif -shared_library('capi-nntrainer', - capi_src, - dependencies: capi_deps, - include_directories: capi_inc, - install: true, - install_dir: nntrainer_libdir, -) +if get_option('platform') == 'android' + nntrainer_capi_dep = found_dummy_dep +else + shared_library('capi-nntrainer', + capi_src, + dependencies: capi_deps, + include_directories: capi_inc, + install: true, + install_dir: nntrainer_libdir, + ) -nntrainer_capi_lib = static_library('capi-nntrainer', - capi_src, - dependencies: capi_deps, - include_directories: capi_inc, - install: true, - install_dir: nntrainer_libdir, -) + nntrainer_capi_lib = static_library('capi-nntrainer', + capi_src, + dependencies: capi_deps, + include_directories: capi_inc, + install: true, + install_dir: nntrainer_libdir, + ) -nntrainer_capi_dep = declare_dependency(link_with: nntrainer_capi_lib, - dependencies: capi_deps, - include_directories: capi_inc, -) + nntrainer_capi_dep = declare_dependency(link_with: nntrainer_capi_lib, + dependencies: capi_deps, + include_directories: capi_inc, + ) +endif configure_file(input: 'capi-ml-training.pc.in', output: 'capi-ml-training.pc', install_dir: nntrainer_libdir / 'pkgconfig', @@ -66,3 +70,4 @@ configure_file(input: 'capi-ml-training.pc.in', output: 'capi-ml-training.pc', install_headers(capi_headers, subdir: 'nntrainer' ) + diff --git a/api/ccapi/meson.build b/api/ccapi/meson.build index 8b7bdc3..11e8d30 100644 --- a/api/ccapi/meson.build +++ b/api/ccapi/meson.build @@ -18,26 +18,30 @@ ccapi_deps = [ nntrainer_dep ] -shared_library('ccapi-nntrainer', - ccapi_src, - dependencies: ccapi_deps, - include_directories: ccapi_inc, - install: true, - install_dir: nntrainer_libdir, -) - -nntrainer_ccapi_lib = static_library('ccapi-nntrainer', - ccapi_src, - dependencies: ccapi_deps, - include_directories: ccapi_inc, - install: true, - install_dir: nntrainer_libdir, -) - -nntrainer_ccapi_dep = declare_dependency(link_with: nntrainer_ccapi_lib, - dependencies: ccapi_deps, - include_directories: ccapi_inc, -) +if get_option('platform') == 'android' + nntrainer_ccapi_dep = found_dummy_dep +else + shared_library('ccapi-nntrainer', + ccapi_src, + dependencies: ccapi_deps, + include_directories: ccapi_inc, + install: true, + install_dir: nntrainer_libdir, + ) + + nntrainer_ccapi_lib = static_library('ccapi-nntrainer', + ccapi_src, + dependencies: ccapi_deps, + include_directories: ccapi_inc, + install: true, + install_dir: nntrainer_libdir, + ) + + nntrainer_ccapi_dep = declare_dependency(link_with: nntrainer_ccapi_lib, + dependencies: ccapi_deps, + include_directories: ccapi_inc, + ) +endif configure_file(input: 'ccapi-ml-training.pc.in', output: 'ccapi-ml-training.pc', install_dir: nntrainer_libdir / 'pkgconfig', diff --git a/meson.build b/meson.build index dc784b3..e99562b 100644 --- a/meson.build +++ b/meson.build @@ -269,25 +269,37 @@ subdir('nntrainer') subdir('api') if get_option('enable-test') - if gtest_dep.found() - subdir('test') + if get_option('platform') == 'android' + warning('test is not supported in android build, test skipped') else - error('test enabled but gtest not found') + if gtest_dep.found() + subdir('test') + else + error('test enabled but gtest not found') + endif endif endif if get_option('enable-app') - jsoncpp_dep = dependency('jsoncpp') # jsoncpp - libcurl_dep = dependency('libcurl') - if not tflite_dep.found() - error('Tensorflow-Lite dependency not found') + if get_option('platform') == 'android' + warning('android app is not supported for now, building app skipped') + else + jsoncpp_dep = dependency('jsoncpp') # jsoncpp + libcurl_dep = dependency('libcurl') + if not tflite_dep.found() + error('Tensorflow-Lite dependency not found') + endif + subdir('Applications') endif - subdir('Applications') endif if get_option('enable-nnstreamer-tensor-filter') - nnstreamer_dep = dependency('nnstreamer', required: true) - subdir('nnstreamer/tensor_filter') + if get_option('platform') == 'android' + warning('android nnstreamer-filter is not yet supported, building nnstreamer-filter skipped') + else + nnstreamer_dep = dependency('nnstreamer', required: true) + subdir('nnstreamer/tensor_filter') + endif endif if get_option('enable-android') diff --git a/nntrainer/meson.build b/nntrainer/meson.build index a2b947d..fe465b8 100644 --- a/nntrainer/meson.build +++ b/nntrainer/meson.build @@ -48,32 +48,36 @@ foreach s : nntrainer_common_sources nntrainer_sources += meson.current_source_dir() / s endforeach -# Build libraries -nntrainer_shared = shared_library('nntrainer', - nntrainer_sources, - dependencies: nntrainer_base_deps, - include_directories: nntrainer_inc, - install: true, - install_dir: nntrainer_libdir -) +if get_option('platform') == 'android' + nntrainer_dep = found_dummy_dep +else + # Build libraries + nntrainer_shared = shared_library('nntrainer', + nntrainer_sources, + dependencies: nntrainer_base_deps, + include_directories: nntrainer_inc, + install: true, + install_dir: nntrainer_libdir + ) -nntrainer_static = static_library('nntrainer', - nntrainer_sources, - dependencies: nntrainer_base_deps, - include_directories: nntrainer_inc, - install: true, - install_dir: nntrainer_libdir -) + nntrainer_static = static_library('nntrainer', + nntrainer_sources, + dependencies: nntrainer_base_deps, + include_directories: nntrainer_inc, + install: true, + install_dir: nntrainer_libdir + ) -nntrainer_lib = nntrainer_shared -if get_option('default_library') == 'static' - nntrainer_lib = nntrainer_static -endif + nntrainer_lib = nntrainer_shared + if get_option('default_library') == 'static' + nntrainer_lib = nntrainer_static + endif -nntrainer_dep = declare_dependency(link_with: nntrainer_lib, - dependencies: nntrainer_base_deps, - include_directories: nntrainer_inc -) + nntrainer_dep = declare_dependency(link_with: nntrainer_lib, + dependencies: nntrainer_base_deps, + include_directories: nntrainer_inc + ) +endif # Install headers install_headers(nntrainer_headers, -- 2.7.4