From: Jaeyun Date: Fri, 7 Dec 2018 04:14:06 +0000 (+0900) Subject: [Meson] include orc X-Git-Tag: v0.1.0~83 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cb329f4febc6bd647c866813ea86ad69da1a6767;p=platform%2Fupstream%2Fnnstreamer.git [Meson] include orc 1. set base-args and include orc features 2. check orc lib and orcc, and generate orc files in tensor-transform Signed-off-by: Jaeyun Jung --- diff --git a/gst/nnstreamer/meson.build b/gst/nnstreamer/meson.build index cc659c1..0960b9d 100644 --- a/gst/nnstreamer/meson.build +++ b/gst/nnstreamer/meson.build @@ -3,8 +3,9 @@ tensor_common_sources = [ 'tensor_repo.c' ] -tensor_commonOBJ = static_library('tensor_common', +tensor_commonOBJ = static_library('tensor_common', tensor_common_sources, + c_args: nnstreamer_base_args, dependencies: [ dependencies ], diff --git a/gst/tensor_aggregator/meson.build b/gst/tensor_aggregator/meson.build index 951ac35..f3b251b 100644 --- a/gst/tensor_aggregator/meson.build +++ b/gst/tensor_aggregator/meson.build @@ -4,6 +4,7 @@ tensor_aggregator_sources = [ tensor_aggregatorOBJ = static_library('tensor_aggregator', tensor_aggregator_sources, + c_args: nnstreamer_base_args, dependencies: [ dependencies ], @@ -11,4 +12,3 @@ tensor_aggregatorOBJ = static_library('tensor_aggregator', ).extract_all_objects() objects += tensor_aggregatorOBJ - diff --git a/gst/tensor_converter/meson.build b/gst/tensor_converter/meson.build index 7687e84..ca4a82c 100644 --- a/gst/tensor_converter/meson.build +++ b/gst/tensor_converter/meson.build @@ -4,6 +4,7 @@ tensor_converter_sources = [ tensor_converterOBJ = static_library('tensor_converter', tensor_converter_sources, + c_args: nnstreamer_base_args, dependencies: [ dependencies ], diff --git a/gst/tensor_decoder/meson.build b/gst/tensor_decoder/meson.build index c30da6e..a49da9f 100644 --- a/gst/tensor_decoder/meson.build +++ b/gst/tensor_decoder/meson.build @@ -8,6 +8,7 @@ tensor_decoder_sources = [ tensor_decoderOBJ = static_library('tensor_decoder', tensor_decoder_sources, + c_args: nnstreamer_base_args, dependencies: [ dependencies ], diff --git a/gst/tensor_demux/meson.build b/gst/tensor_demux/meson.build index 1f23254..779257f 100644 --- a/gst/tensor_demux/meson.build +++ b/gst/tensor_demux/meson.build @@ -4,6 +4,7 @@ tensor_demux_sources = [ tensor_demuxOBJ = static_library('tensor_demux', tensor_demux_sources, + c_args: nnstreamer_base_args, dependencies: [ dependencies ], @@ -11,4 +12,3 @@ tensor_demuxOBJ = static_library('tensor_demux', ).extract_all_objects() objects += tensor_demuxOBJ - diff --git a/gst/tensor_filter/meson.build b/gst/tensor_filter/meson.build index 953e3f9..4f7aa64 100644 --- a/gst/tensor_filter/meson.build +++ b/gst/tensor_filter/meson.build @@ -3,12 +3,12 @@ tensor_filter_sources = [ 'tensor_filter_custom.c' ] -c_args = [] +tensor_filter_args = [nnstreamer_base_args] if get_option('ENABLE_TENSORFLOW_LITE') tensor_filter_sources += 'tensor_filter_tensorflow_lite.c' dependencies += dependency('tensorflow-lite') - c_args += '-DENABLE_TENSORFLOW_LITE' + tensor_filter_args += ['-DENABLE_TENSORFLOW_LITE'] tensor_filter_tflitecoreOBJ = static_library('tensor_filter_tflitecore', 'tensor_filter_tensorflow_lite_core.cc', @@ -16,7 +16,7 @@ if get_option('ENABLE_TENSORFLOW_LITE') dependencies ], include_directories: inc, - cpp_args: '-Wno-sign-compare' + cpp_args: tensor_filter_args + ['-Wno-sign-compare'] ).extract_all_objects() objects += tensor_filter_tflitecoreOBJ @@ -25,7 +25,7 @@ endif if get_option('ENABLE_TENSORFLOW') tensor_filter_sources += 'tensor_filter_tensorflow.c' dependencies += dependency('tensorflow') - c_args += '-DENABLE_TENSORFLOW' + tensor_filter_args += ['-DENABLE_TENSORFLOW'] tensor_filter_tfcoreOBJ = static_library('tensor_filter_tfcore', 'tensor_filter_tensorflow_core.cc', @@ -33,7 +33,7 @@ if get_option('ENABLE_TENSORFLOW') dependencies ], include_directories: inc, - cpp_args: '-Wno-sign-compare' + cpp_args: tensor_filter_args + ['-Wno-sign-compare'] ).extract_all_objects() objects += tensor_filter_tflitecoreOBJ @@ -45,7 +45,7 @@ tensor_filterOBJ = static_library('tensor_filter', dependencies ], include_directories: inc, - c_args: c_args + c_args: tensor_filter_args ).extract_all_objects() objects += tensor_filterOBJ diff --git a/gst/tensor_merge/meson.build b/gst/tensor_merge/meson.build index 5a6985f..22fbe24 100644 --- a/gst/tensor_merge/meson.build +++ b/gst/tensor_merge/meson.build @@ -4,10 +4,11 @@ tensor_merge_sources = [ tensor_mergeOBJ = static_library('tensor_merge', tensor_merge_sources, + c_args: nnstreamer_base_args, dependencies: [ dependencies ], - include_directories: inc + include_directories: inc ).extract_all_objects() objects += tensor_mergeOBJ diff --git a/gst/tensor_mux/meson.build b/gst/tensor_mux/meson.build index a2a8bf0..171c243 100644 --- a/gst/tensor_mux/meson.build +++ b/gst/tensor_mux/meson.build @@ -4,6 +4,7 @@ tensor_mux_sources = [ tensor_muxOBJ = static_library('tensor_mux', tensor_mux_sources, + c_args: nnstreamer_base_args, dependencies: [ dependencies ], @@ -11,4 +12,3 @@ tensor_muxOBJ = static_library('tensor_mux', ).extract_all_objects() objects += tensor_muxOBJ - diff --git a/gst/tensor_reposink/meson.build b/gst/tensor_reposink/meson.build index 45ab08c..6e74b38 100644 --- a/gst/tensor_reposink/meson.build +++ b/gst/tensor_reposink/meson.build @@ -4,6 +4,7 @@ tensor_reposink_sources = [ tensor_reposinkOBJ = static_library('tensor_reposink', tensor_reposink_sources, + c_args: nnstreamer_base_args, dependencies: [ dependencies ], diff --git a/gst/tensor_reposrc/meson.build b/gst/tensor_reposrc/meson.build index 1dc714f..1e05254 100644 --- a/gst/tensor_reposrc/meson.build +++ b/gst/tensor_reposrc/meson.build @@ -4,6 +4,7 @@ tensor_reposrc_sources = [ tensor_reposrcOBJ = static_library('tensor_reposrc', tensor_reposrc_sources, + c_args: nnstreamer_base_args, dependencies: [ dependencies ], diff --git a/gst/tensor_saveload/meson.build b/gst/tensor_saveload/meson.build index 545acbd..be59c40 100644 --- a/gst/tensor_saveload/meson.build +++ b/gst/tensor_saveload/meson.build @@ -4,6 +4,7 @@ tensor_saveload_sources = [ tensor_saveloadOBJ = static_library('tensor_saveload', tensor_saveload_sources, + c_args: nnstreamer_base_args, dependencies: [ dependencies ], diff --git a/gst/tensor_sink/meson.build b/gst/tensor_sink/meson.build index 3e19eac..89d5312 100644 --- a/gst/tensor_sink/meson.build +++ b/gst/tensor_sink/meson.build @@ -4,6 +4,7 @@ tensor_sink_sources = [ tensor_sinkOBJ = static_library('tensor_sink', tensor_sink_sources, + c_args: nnstreamer_base_args, dependencies: [ dependencies ], diff --git a/gst/tensor_split/meson.build b/gst/tensor_split/meson.build index e74d922..e66e4ec 100644 --- a/gst/tensor_split/meson.build +++ b/gst/tensor_split/meson.build @@ -4,6 +4,7 @@ tensor_split_sources = [ tensor_splitOBJ = static_library('tensor_split', tensor_split_sources, + c_args: nnstreamer_base_args, dependencies: [ dependencies ], diff --git a/gst/tensor_transform/meson.build b/gst/tensor_transform/meson.build index 160b666..e66fff2 100644 --- a/gst/tensor_transform/meson.build +++ b/gst/tensor_transform/meson.build @@ -2,8 +2,23 @@ tensor_transform_sources = [ 'tensor_transform.c' ] +orcsrc = 'transform-orc' +if have_orcc + # tensor_transform does not need to generate -dist files. + orc_h = custom_target(orcsrc + '.h', + input : orcsrc + '.orc', + output : orcsrc + '.h', + command : orcc_args + ['--header', '-o', '@OUTPUT@', '@INPUT@']) + orc_c = custom_target(orcsrc + '.c', + input : orcsrc + '.orc', + output : orcsrc + '.c', + command : orcc_args + ['--implementation', '-o', '@OUTPUT@', '@INPUT@']) + tensor_transform_sources += [orc_c, orc_h] +endif + tensor_transformOBJ = static_library('tensor_transform', tensor_transform_sources, + c_args: nnstreamer_base_args, dependencies: [ dependencies ], diff --git a/meson.build b/meson.build index bb73e15..28ef281 100644 --- a/meson.build +++ b/meson.build @@ -39,8 +39,26 @@ dependencies = [ cxx.find_library('pthread', required: false) # pthread for tensor_filter_tensorflow_lite ] +nnstreamer_base_args = [] + inc = include_directories('gst/nnstreamer') +# Orc +have_orcc = false +orcc_args = [] + +orc_dep = dependency('orc-0.4', version : '>= 0.4.24', required : true) +orcc = find_program('orcc', required : true) +if orc_dep.found() and orcc.found() + have_orcc = true + orcc_args = [orcc, '--include', 'glib.h'] + dependencies += [orc_dep] + nnstreamer_base_args += ['-DHAVE_ORC=1'] +else + message('Cannot find orc library') + nnstreamer_base_args += ['-DDISABLE_ORC=1'] +endif + projects = [ 'nnstreamer', 'tensor_aggregator', @@ -76,6 +94,7 @@ nnstreamer_sources = [ # "both_libraries" are supported from 0.46. nnstreamer = shared_library('nnstreamer', nnstreamer_sources, + c_args: nnstreamer_base_args, dependencies: [ dependencies ], @@ -84,6 +103,7 @@ nnstreamer = shared_library('nnstreamer', ) nnstreamer = static_library('nnstreamer', nnstreamer_sources, + c_args: nnstreamer_base_args, dependencies: [ dependencies ],