From: jihwanseo Date: Wed, 21 Sep 2016 08:10:21 +0000 (+0900) Subject: [IOT-1333] Enable message queue(MQ) in tizen platform X-Git-Tag: 1.3.0~1055^2~74 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cc123edeaba2617f926333a342e5498114dd582c;p=platform%2Fupstream%2Fiotivity.git [IOT-1333] Enable message queue(MQ) in tizen platform Change-Id: Ic35205cbeaaa39108cce970324fa4172a980ba7f Signed-off-by: jihwan.seo Signed-off-by: Jaehong Jo Signed-off-by: jihwan.seo Reviewed-on: https://gerrit.iotivity.org/gerrit/12035 Tested-by: jenkins-iotivity Reviewed-by: Ziran Sun --- diff --git a/gbsbuild.sh b/gbsbuild.sh index a26c5d4..58c2cdf 100755 --- a/gbsbuild.sh +++ b/gbsbuild.sh @@ -69,6 +69,7 @@ fi withtcp=0 withcloud=0 withproxy=0 +withmq=OFF for ARGUMENT_VALUE in $* do echo $ARGUMENT_VALUE @@ -83,10 +84,14 @@ do if [ "WITH_PROXY" = $ARGUMENT_VALUE ];then withproxy=1 fi + + if [ "WITH_MQ" = $ARGUMENT_VALUE ];then + withmq=PUB,SUB,BROKER + fi done echo "Calling core gbs build command" -gbscommand="gbs build -A armv7l --define 'WITH_TCP $withtcp' --define 'WITH_CLOUD $withcloud' --define 'WITH_PROXY $withproxy' -B ~/GBS-ROOT-OIC --include-all --repository ./" +gbscommand="gbs build -A armv7l --define 'WITH_TCP $withtcp' --define 'WITH_CLOUD $withcloud' --define 'WITH_PROXY $withproxy' --define 'WITH_MQ $withmq' -B ~/GBS-ROOT-OIC --include-all --repository ./" echo $gbscommand if eval $gbscommand; then echo "Build is successful" diff --git a/resource/csdk/connectivity/build/SConscript b/resource/csdk/connectivity/build/SConscript index 5a1c8e6..b812fed 100644 --- a/resource/csdk/connectivity/build/SConscript +++ b/resource/csdk/connectivity/build/SConscript @@ -66,6 +66,7 @@ help_vars.Add(BoolVariable('UPLOAD', 'Upload binary ? (For Arduino)', require_up help_vars.Add(EnumVariable('ROUTING', 'Enable routing', 'EP', allowed_values=('GW', 'EP'))) help_vars.Add(EnumVariable('BUILD_SAMPLE', 'Build with sample', 'ON', allowed_values=('ON', 'OFF'))) help_vars.Add(BoolVariable('WITH_TCP', 'Enable TCP', False)) +help_vars.Add(ListVariable('WITH_MQ', 'Build with MQ publisher/subscriber/broker', 'OFF', ['OFF', 'SUB', 'PUB', 'BROKER'])) help_vars.AddVariables(('DEVICE_NAME', 'Network display name for device', 'OIC-DEVICE', None, None),) diff --git a/resource/csdk/stack/samples/tizen/SimpleClientServer/SConscript b/resource/csdk/stack/samples/tizen/SimpleClientServer/SConscript index c368c47..88b8119 100644 --- a/resource/csdk/stack/samples/tizen/SimpleClientServer/SConscript +++ b/resource/csdk/stack/samples/tizen/SimpleClientServer/SConscript @@ -57,6 +57,7 @@ help_vars.Add(EnumVariable('TARGET_ARCH', 'Target architecture', default_arch, o help_vars.Add(EnumVariable('SECURED', 'Build with DTLS', '0', allowed_values=('0', '1'))) help_vars.Add(EnumVariable('ROUTING', 'Enable routing', 'EP', allowed_values=('GW', 'EP'))) help_vars.Add(BoolVariable('WITH_PROXY', 'CoAP-HTTP Proxy', False)) # set to 'no', 'false' or 0 for debug +help_vars.Add(ListVariable('WITH_MQ', 'Build with MQ publisher/subscriber/broker', 'OFF', ['OFF', 'SUB', 'PUB', 'BROKER'])) ###################################################################### # Platform(build target) specific options: SDK/NDK & toolchain diff --git a/resource/csdk/stack/samples/tizen/SimpleClientServer/packaging/com.oic.ri.sample.spec b/resource/csdk/stack/samples/tizen/SimpleClientServer/packaging/com.oic.ri.sample.spec index 832acf1..03858ff 100644 --- a/resource/csdk/stack/samples/tizen/SimpleClientServer/packaging/com.oic.ri.sample.spec +++ b/resource/csdk/stack/samples/tizen/SimpleClientServer/packaging/com.oic.ri.sample.spec @@ -31,7 +31,7 @@ OIC RIsample application %build scons TARGET_OS=tizen -c -scons TARGET_OS=tizen TARGET_TRANSPORT=%{TARGET_TRANSPORT} SECURED=%{SECURED} RELEASE=%{RELEASE} ROUTING=%{ROUTING} WITH_TCP=%{WITH_TCP} WITH_PROXY=%{WITH_PROXY} +scons TARGET_OS=tizen TARGET_TRANSPORT=%{TARGET_TRANSPORT} SECURED=%{SECURED} RELEASE=%{RELEASE} ROUTING=%{ROUTING} WITH_TCP=%{WITH_TCP} WITH_PROXY=%{WITH_PROXY} WITH_MQ=%{WITH_MQ} %install diff --git a/resource/csdk/stack/samples/tizen/SimpleClientServer/scons/SConscript b/resource/csdk/stack/samples/tizen/SimpleClientServer/scons/SConscript index ca1d2de..79ca1a2 100644 --- a/resource/csdk/stack/samples/tizen/SimpleClientServer/scons/SConscript +++ b/resource/csdk/stack/samples/tizen/SimpleClientServer/scons/SConscript @@ -24,11 +24,14 @@ target_os = env.get('TARGET_OS') transport = env.get('TARGET_TRANSPORT') secured = env.get('SECURED') routing = env.get('ROUTING') +with_mq = env.get('WITH_MQ') OIC_LIB = 'oic' root_dir = env.get('ROOT_DIR') build_dir = env.get('BUILD_DIR') sample_dir = build_dir +print "MQ flag is %s" % with_mq + env.AppendUnique(CPPFLAGS = ['-std=c++0x', '-fPIC', '-D__TIZEN__','-DWITH_POSIX', '-Wall', '-DSLP_SDK_LOG', '-g','-D_GNU_SOURCE','-DTIZEN_DEBUG_ENABLE', '-DTB_LOG','`pkg-config', '--cflags', '--libs','dlog', 'com.oic.ri', 'capi-network-wifi', 'gobject-2.0','glib-2.0`']) @@ -73,6 +76,18 @@ else: else: env.AppendUnique(CPPDEFINES = ['NO_TCP_ADAPTER']) +if 'SUB' in with_mq: + env.AppendUnique(CPPDEFINES = ['MQ_SUBSCRIBER', 'WITH_MQ']) + print "MQ SUB support" + +if 'PUB' in with_mq: + env.AppendUnique(CPPDEFINES = ['MQ_PUBLISHER', 'WITH_MQ']) + print "MQ PUB support" + +if 'BROKER' in with_mq: + env.AppendUnique(CPPDEFINES = ['MQ_BROKER', 'WITH_MQ']) + print "MQ Broker support" + #ri_sample_src = [sample_dir + '/occlient.cpp'] #print " ri sample src %s" % ri_sample_src diff --git a/resource/csdk/stack/samples/tizen/build/SConscript b/resource/csdk/stack/samples/tizen/build/SConscript index 9ac3d17..8c6ee55 100644 --- a/resource/csdk/stack/samples/tizen/build/SConscript +++ b/resource/csdk/stack/samples/tizen/build/SConscript @@ -15,6 +15,7 @@ logging = env.get('LOGGING') routing = env.get('ROUTING') with_proxy = env.get('WITH_PROXY') with_tcp = env.get('WITH_TCP') +with_mq = env.get('WITH_MQ') with_upstream_libcoap = env.get('WITH_UPSTREAM_LIBCOAP') if with_upstream_libcoap == '1': @@ -40,9 +41,10 @@ env.AppendUnique(CPPDEFINES = ['__TIZEN__']) print "Given Transport is %s" % transport print "Given OS is %s" % target_os +print "Given MQ is %s" % with_mq if target_os == 'tizen': - command = "sh resource/csdk/stack/samples/tizen/build/gbsbuild.sh %s %s %s %s %s %s %s %s" % (transport, secured, buildsample, release_mode, logging, routing, with_tcp, with_proxy) + command = "sh resource/csdk/stack/samples/tizen/build/gbsbuild.sh %s %s %s %s %s %s %s %s %s" % (transport, secured, buildsample, release_mode, logging, routing, with_tcp, with_proxy, with_mq) print "Created Command is %s" % command gbs_script = env.Command('gbs_build', None, command) AlwaysBuild ('gbs_script') \ No newline at end of file diff --git a/resource/csdk/stack/samples/tizen/build/gbsbuild.sh b/resource/csdk/stack/samples/tizen/build/gbsbuild.sh index 84c1b72..01ce1b7 100644 --- a/resource/csdk/stack/samples/tizen/build/gbsbuild.sh +++ b/resource/csdk/stack/samples/tizen/build/gbsbuild.sh @@ -32,8 +32,12 @@ export WITH_TCP=$7 echo $8 export WITH_PROXY=$8 +echo $9 +export WITH_MQ=$9 + echo $TARGET_TRANSPORT echo $BUILD_SAMPLE +echo $WITH_MQ rm -rf $name-$version @@ -104,7 +108,7 @@ if [ ! -d .git ]; then fi echo "Calling core gbs build command" -gbscommand="gbs build -A armv7l -B ~/GBS-ROOT-RI-OIC --include-all --repository ./ --define 'TARGET_TRANSPORT $1' --define 'SECURED $2' --define 'RELEASE $4' --define 'LOGGING $5' --define 'ROUTING $6' --define 'WITH_TCP $7' --define 'WITH_PROXY $8'" +gbscommand="gbs build -A armv7l -B ~/GBS-ROOT-RI-OIC --include-all --repository ./ --define 'TARGET_TRANSPORT $1' --define 'SECURED $2' --define 'RELEASE $4' --define 'LOGGING $5' --define 'ROUTING $6' --define 'WITH_TCP $7' --define 'WITH_PROXY $8' --define 'WITH_MQ $9'" echo $gbscommand if eval $gbscommand; then echo "Core build is successful" @@ -127,7 +131,7 @@ if echo $BUILD_SAMPLE|grep -qi '^ON$'; then git commit -m "Initial commit" fi echo "Calling sample gbs build command" - gbscommand="gbs build -A armv7l -B ~/GBS-ROOT-RI-OIC --include-all --repository ./ --define 'TARGET_TRANSPORT $1' --define 'SECURED $2' --define 'RELEASE $4' --define 'LOGGING $5' --define 'ROUTING $6' --define 'WITH_TCP $7' --define 'WITH_PROXY $8'" + gbscommand="gbs build -A armv7l -B ~/GBS-ROOT-RI-OIC --include-all --repository ./ --define 'TARGET_TRANSPORT $1' --define 'SECURED $2' --define 'RELEASE $4' --define 'LOGGING $5' --define 'ROUTING $6' --define 'WITH_TCP $7' --define 'WITH_PROXY $8' --define 'WITH_MQ $9'" echo $gbscommand if eval $gbscommand; then echo "Sample build is successful" diff --git a/resource/csdk/stack/samples/tizen/build/packaging/com.oic.ri.spec b/resource/csdk/stack/samples/tizen/build/packaging/com.oic.ri.spec index e8bd664..dba8af3 100644 --- a/resource/csdk/stack/samples/tizen/build/packaging/com.oic.ri.spec +++ b/resource/csdk/stack/samples/tizen/build/packaging/com.oic.ri.spec @@ -40,7 +40,7 @@ scons TARGET_OS=tizen -c scons TARGET_OS=tizen \ TARGET_TRANSPORT=%{TARGET_TRANSPORT} SECURED=%{SECURED} \ - ROUTING=%{ROUTING} WITH_TCP=%{WITH_TCP} WITH_PROXY=%{WITH_PROXY} \ + ROUTING=%{ROUTING} WITH_TCP=%{WITH_TCP} WITH_PROXY=%{WITH_PROXY} WITH_MQ=%{WITH_MQ} \ RELEASE=%{RELEASE} LOGGING=%{LOGGING} \ VERBOSE=%{VERBOSE} diff --git a/resource/csdk/stack/samples/tizen/build/scons/SConscript b/resource/csdk/stack/samples/tizen/build/scons/SConscript index b9d0bd4..0382f4f 100644 --- a/resource/csdk/stack/samples/tizen/build/scons/SConscript +++ b/resource/csdk/stack/samples/tizen/build/scons/SConscript @@ -8,6 +8,7 @@ Import('env') target_os = env.get('TARGET_OS') transport = env.get('TARGET_TRANSPORT') +with_mq = env.get('WITH_MQ') print "Given Transport is %s" % transport @@ -47,4 +48,16 @@ else: else: env.AppendUnique(CPPDEFINES = ['NO_TCP_ADAPTER']) +if 'SUB' in with_mq: + env.AppendUnique(CPPDEFINES = ['MQ_SUBSCRIBER', 'WITH_MQ']) + print "MQ SUB support" + +if 'PUB' in with_mq: + env.AppendUnique(CPPDEFINES = ['MQ_PUBLISHER', 'WITH_MQ']) + print "MQ PUB support" + +if 'BROKER' in with_mq: + env.AppendUnique(CPPDEFINES = ['MQ_BROKER', 'WITH_MQ']) + print "MQ Broker support" + env.SConscript(['../resource/SConscript']) diff --git a/tools/tizen/iotivity.spec b/tools/tizen/iotivity.spec index 16b8a74..8c267f4 100644 --- a/tools/tizen/iotivity.spec +++ b/tools/tizen/iotivity.spec @@ -40,6 +40,7 @@ Requires(post): /sbin/ldconfig %{!?ROUTING: %define ROUTING EP} %{!?WITH_TCP: %define WITH_TCP 1} %{!?WITH_PROXY: %define WITH_PROXY 0} +%{!?WITH_MQ: %define WITH_MQ OFF} %{!?ES_TARGET_ENROLLEE: %define ES_TARGET_ENROLLEE tizen} %{!?VERBOSE: %define VERBOSE 1} @@ -127,7 +128,7 @@ cp %{SOURCE1001} ./%{name}-test.manifest scons -j2 --prefix=%{_prefix} \ VERBOSE=%{VERBOSE} \ TARGET_OS=tizen TARGET_ARCH=%{RPM_ARCH} TARGET_TRANSPORT=%{TARGET_TRANSPORT} \ - RELEASE=%{RELEASE} SECURED=%{SECURED} WITH_TCP=%{WITH_TCP} WITH_CLOUD=%{WITH_CLOUD} LOGGING=%{LOGGING} ROUTING=%{ROUTING} \ + RELEASE=%{RELEASE} SECURED=%{SECURED} WITH_TCP=%{WITH_TCP} WITH_CLOUD=%{WITH_CLOUD} WITH_MQ=%{WITH_MQ} LOGGING=%{LOGGING} ROUTING=%{ROUTING} \ ES_TARGET_ENROLLEE=%{ES_TARGET_ENROLLEE} LIB_INSTALL_DIR=%{_libdir} WITH_PROXY=%{WITH_PROXY} @@ -137,7 +138,7 @@ rm -rf %{buildroot} CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; scons install --install-sandbox=%{buildroot} --prefix=%{_prefix} \ TARGET_OS=tizen TARGET_ARCH=%{RPM_ARCH} TARGET_TRANSPORT=%{TARGET_TRANSPORT} \ - RELEASE=%{RELEASE} SECURED=%{SECURED} WITH_TCP=%{WITH_TCP} WITH_CLOUD=%{WITH_CLOUD} LOGGING=%{LOGGING} ROUTING=%{ROUTING} \ + RELEASE=%{RELEASE} SECURED=%{SECURED} WITH_TCP=%{WITH_TCP} WITH_CLOUD=%{WITH_CLOUD} WITH_MQ=%{WITH_MQ} LOGGING=%{LOGGING} ROUTING=%{ROUTING} \ ES_TARGET_ENROLLEE=%{ES_TARGET_ENROLLEE} LIB_INSTALL_DIR=%{_libdir} WITH_PROXY=%{WITH_PROXY}