From: sewon.oh Date: Thu, 15 Nov 2018 01:43:12 +0000 (+0900) Subject: [Meson] Initial commit of meson build X-Git-Tag: v0.0.3~70 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6679630d511a2816976a95cd55e6fc526eff0b8b;p=platform%2Fupstream%2Fnnstreamer.git [Meson] Initial commit of meson build Initial commit of meson. This commit's goal is to make single binary. Signed-off-by: sewon.oh --- diff --git a/gst/nnstreamer/meson.build b/gst/nnstreamer/meson.build new file mode 100644 index 0000000..6d1e69a --- /dev/null +++ b/gst/nnstreamer/meson.build @@ -0,0 +1,13 @@ +tensor_common_sources = [ + 'tensor_common.c' +] + +tensor_commonOBJ = static_library('tensor_common', + tensor_common_sources, + dependencies: [ + dependencies + ], + include_directories: inc +).extract_all_objects() + +objects += tensor_commonOBJ diff --git a/gst/tensor_aggregator/meson.build b/gst/tensor_aggregator/meson.build new file mode 100644 index 0000000..951ac35 --- /dev/null +++ b/gst/tensor_aggregator/meson.build @@ -0,0 +1,14 @@ +tensor_aggregator_sources = [ + 'tensor_aggregator.c' +] + +tensor_aggregatorOBJ = static_library('tensor_aggregator', + tensor_aggregator_sources, + dependencies: [ + dependencies + ], + include_directories: inc +).extract_all_objects() + +objects += tensor_aggregatorOBJ + diff --git a/gst/tensor_converter/meson.build b/gst/tensor_converter/meson.build new file mode 100644 index 0000000..7687e84 --- /dev/null +++ b/gst/tensor_converter/meson.build @@ -0,0 +1,13 @@ +tensor_converter_sources = [ + 'tensor_converter.c' +] + +tensor_converterOBJ = static_library('tensor_converter', + tensor_converter_sources, + dependencies: [ + dependencies + ], + include_directories: inc +).extract_all_objects() + +objects += tensor_converterOBJ diff --git a/gst/tensor_decoder/meson.build b/gst/tensor_decoder/meson.build new file mode 100644 index 0000000..c9e7551 --- /dev/null +++ b/gst/tensor_decoder/meson.build @@ -0,0 +1,15 @@ +tensor_decoder_sources = [ + 'tensordec.c', + 'tensordec-plugins.c', + 'tensordec-directvideo.c' +] + +tensor_decoderOBJ = static_library('tensor_decoder', + tensor_decoder_sources, + dependencies: [ + dependencies + ], + include_directories: inc +).extract_all_objects() + +objects += tensor_decoderOBJ diff --git a/gst/tensor_demux/meson.build b/gst/tensor_demux/meson.build new file mode 100644 index 0000000..1f23254 --- /dev/null +++ b/gst/tensor_demux/meson.build @@ -0,0 +1,14 @@ +tensor_demux_sources = [ + 'gsttensordemux.c' +] + +tensor_demuxOBJ = static_library('tensor_demux', + tensor_demux_sources, + dependencies: [ + dependencies + ], + include_directories: inc +).extract_all_objects() + +objects += tensor_demuxOBJ + diff --git a/gst/tensor_filter/meson.build b/gst/tensor_filter/meson.build new file mode 100644 index 0000000..c17719c --- /dev/null +++ b/gst/tensor_filter/meson.build @@ -0,0 +1,14 @@ +tensor_filter_sources = [ + 'tensor_filter.c', + 'tensor_filter_custom.c' +] + +tensor_filterOBJ = static_library('tensor_filter', + tensor_filter_sources, + dependencies: [ + dependencies + ], + include_directories: inc +).extract_all_objects() + +objects += tensor_filterOBJ diff --git a/gst/tensor_merge/meson.build b/gst/tensor_merge/meson.build new file mode 100644 index 0000000..5a6985f --- /dev/null +++ b/gst/tensor_merge/meson.build @@ -0,0 +1,13 @@ +tensor_merge_sources = [ + 'gsttensormerge.c' +] + +tensor_mergeOBJ = static_library('tensor_merge', + tensor_merge_sources, + dependencies: [ + dependencies + ], + include_directories: inc +).extract_all_objects() + +objects += tensor_mergeOBJ diff --git a/gst/tensor_mux/meson.build b/gst/tensor_mux/meson.build new file mode 100644 index 0000000..a2a8bf0 --- /dev/null +++ b/gst/tensor_mux/meson.build @@ -0,0 +1,14 @@ +tensor_mux_sources = [ + 'gsttensormux.c' +] + +tensor_muxOBJ = static_library('tensor_mux', + tensor_mux_sources, + dependencies: [ + dependencies + ], + include_directories: inc +).extract_all_objects() + +objects += tensor_muxOBJ + diff --git a/gst/tensor_saveload/meson.build b/gst/tensor_saveload/meson.build new file mode 100644 index 0000000..545acbd --- /dev/null +++ b/gst/tensor_saveload/meson.build @@ -0,0 +1,13 @@ +tensor_saveload_sources = [ + 'tensor_load.c' +] + +tensor_saveloadOBJ = static_library('tensor_saveload', + tensor_saveload_sources, + dependencies: [ + dependencies + ], + include_directories: inc +).extract_all_objects() + +objects += tensor_saveloadOBJ diff --git a/gst/tensor_sink/meson.build b/gst/tensor_sink/meson.build new file mode 100644 index 0000000..3e19eac --- /dev/null +++ b/gst/tensor_sink/meson.build @@ -0,0 +1,13 @@ +tensor_sink_sources = [ + 'tensor_sink.c' +] + +tensor_sinkOBJ = static_library('tensor_sink', + tensor_sink_sources, + dependencies: [ + dependencies + ], + include_directories: inc +).extract_all_objects() + +objects += tensor_sinkOBJ diff --git a/gst/tensor_split/meson.build b/gst/tensor_split/meson.build new file mode 100644 index 0000000..e74d922 --- /dev/null +++ b/gst/tensor_split/meson.build @@ -0,0 +1,13 @@ +tensor_split_sources = [ + 'gsttensorsplit.c' +] + +tensor_splitOBJ = static_library('tensor_split', + tensor_split_sources, + dependencies: [ + dependencies + ], + include_directories: inc +).extract_all_objects() + +objects += tensor_splitOBJ diff --git a/gst/tensor_transform/meson.build b/gst/tensor_transform/meson.build new file mode 100644 index 0000000..160b666 --- /dev/null +++ b/gst/tensor_transform/meson.build @@ -0,0 +1,13 @@ +tensor_transform_sources = [ + 'tensor_transform.c' +] + +tensor_transformOBJ = static_library('tensor_transform', + tensor_transform_sources, + dependencies: [ + dependencies + ], + include_directories: inc +).extract_all_objects() + +objects += tensor_transformOBJ diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..0c55067 --- /dev/null +++ b/meson.build @@ -0,0 +1,72 @@ +project('nnstreamer', 'c', 'cpp', + version: '0.0.3', + license: ['LGPL'], + meson_version: '>=0.47.0', + default_options: [ + 'warning_level=1', + 'c_std=c89', + 'cpp_std=c++11' + ] +) + +add_project_arguments('-DVERSION="'+meson.project_version()+'"', language: 'c') +add_project_arguments('-DSINGLE_BINARY', language: 'c') + +gst_api_verision = '1.0' + +glib = dependency('glib-2.0') +gstreamer = dependency('gstreamer-' + gst_api_verision) +gstreamer_base = dependency('gstreamer-base-' + gst_api_verision) +gstreamer_controller = dependency('gstreamer-controller-' + gst_api_verision) +gstreamer_video = dependency('gstreamer-video-' + gst_api_verision) +gstreamer_audio = dependency('gstreamer-audio-' + gst_api_verision) + +cc = meson.get_compiler('c') + +dependencies = [ + glib, + gstreamer, + gstreamer_base, + gstreamer_controller, + gstreamer_video, + gstreamer_audio, + # required 'false' mean is used only when needed. + cc.find_library('m', required: false), # cmath library + cc.find_library('dl', required: false) # DL library +] + +inc = include_directories('gst/nnstreamer') + +projects = [ + 'nnstreamer', + 'tensor_aggregator', + 'tensor_converter', + 'tensor_decoder', + 'tensor_demux', + 'tensor_merge', + 'tensor_mux', + 'tensor_saveload', + 'tensor_sink', + 'tensor_split', + 'tensor_transform', + 'tensor_filter' +] + +objects = [] +foreach p : projects + subdir('gst/'+ p) +endforeach + +nnstreamer_sources = [ + 'gst/nnstreamer/nnstreamer.c' +] + +nnstreamer = both_libraries('nnstreamer', + nnstreamer_sources, + dependencies: [ + dependencies + ], + include_directories: inc, + objects: objects +) +