replace : iotivity -> iotivity-sec
[platform/upstream/iotivity.git] / service / notification / cpp-wrapper / provider / SConscript
index 0ead67f..742cceb 100755 (executable)
@@ -51,7 +51,10 @@ notification_env.AppendUnique(CPPPATH = ['../../src/common'])
 
 notification_env.PrependUnique(LIBS = [
        'oc_logger',
-       'notification_provider'
+       'oc',
+       'octbstack',
+       'notification_provider',
+        'resource_directory'
        ])
 notification_env.AppendUnique(CXXFLAGS = ['-std=c++0x','-frtti'])
 
@@ -68,24 +71,86 @@ if target_os == 'android':
     notification_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
     notification_env.PrependUnique(LIBS = ['gnustl_shared', 'log'])
 
-if not env.get('RELEASE'):
+if not env.get('RELEASE') and target_os not in ['ios']:
     notification_env.PrependUnique(LIBS = ['gcov'])
     notification_env.AppendUnique(CCFLAGS = ['--coverage'])
 
 if env.get('WITH_CLOUD') == True:
        notification_env.AppendUnique(CPPDEFINES = ['WITH_CLOUD'])
 
+with_mq = env.get('WITH_MQ')
+if 'SUB' in with_mq:
+    notification_env.AppendUnique(CPPDEFINES = ['MQ_SUBSCRIBER', 'WITH_MQ'])
+    print "MQ SUB support"
+
+if 'PUB' in with_mq:
+    notification_env.AppendUnique(CPPDEFINES = ['MQ_PUBLISHER', 'WITH_MQ'])
+    print "MQ PUB support"
+
+if 'BROKER' in with_mq:
+    notification_env.AppendUnique(CPPDEFINES = ['MQ_BROKER', 'WITH_MQ'])
+    print "MQ Broker support"
 ######################################################################
-# Source files and Targets
+# Source files and Targets for Provider
 ######################################################################
+notification_jni_provider_env = notification_env.Clone()
+
+notificationCommonStaticObjs = [
+       notification_env.Object('../common/NSMediaContents.cpp'),
+       notification_env.Object('../common/NSMessage.cpp'),
+       notification_env.Object('../common/NSSyncInfo.cpp'),
+       notification_env.Object('../common/NSTopic.cpp'),
+       notification_env.Object('../common/NSTopicsList.cpp')]
+
+notificationCommonSharedObjs = [
+       notification_env.SharedObject('../common/NSMediaContents.cpp'),
+       notification_env.SharedObject('../common/NSMessage.cpp'),
+       notification_env.SharedObject('../common/NSSyncInfo.cpp'),
+       notification_env.SharedObject('../common/NSTopic.cpp'),
+       notification_env.SharedObject('../common/NSTopicsList.cpp')]
 
 notification_provider_src = [
-       env.Glob('src/*.cpp'),env.Glob('../common/*.cpp')]
+       env.Glob('src/*.cpp'),notificationCommonSharedObjs]
 
-providersdk = notification_env.SharedLibrary('notification_provider_wrapper', notification_provider_src)
-notification_env.InstallTarget(providersdk, 'libnotification_provider_wrapper')
-notification_env.UserInstallTargetLib(providersdk, 'libnotification_provider_wrapper')
+if target_os not in ['ios']:
+       providersdk = notification_env.SharedLibrary('notification_provider_wrapper', notification_provider_src)
+       notification_env.InstallTarget(providersdk, 'libnotification_provider_wrapper')
+       notification_env.UserInstallTargetLib(providersdk, 'libnotification_provider_wrapper')
+
+notification_provider_src = [
+       env.Glob('src/*.cpp'),notificationCommonStaticObjs]
 
 providersdk = notification_env.StaticLibrary('notification_provider_wrapper', notification_provider_src)
 notification_env.InstallTarget(providersdk, 'libnotification_provider_wrapper')
 notification_env.UserInstallTargetLib(providersdk, 'libnotification_provider_wrapper')
+notification_env.UserInstallTargetHeader('inc/NSConsumer.h', 'service/notification', 'NSConsumer.h')
+notification_env.UserInstallTargetHeader('inc/NSProviderService.h', 'service/notification', 'NSProviderService.h')
+
+Export('notificationCommonStaticObjs')
+Export('notificationCommonSharedObjs')
+
+######################################################################
+# Source files and Targets for Provider Jni
+######################################################################
+if target_os == 'android':
+       notification_jni_provider_env.AppendUnique(CPPPATH = ['../../../../extlibs/boost/boost_1_58_0'])
+       notification_jni_provider_env.AppendUnique(CPPPATH = ['../../../../android/android_api/base/jni'])
+       notification_jni_provider_env.AppendUnique(CPPPATH = ['../../android/notification-service/src/main/jni/common'])
+       notification_jni_provider_env.AppendUnique(CPPPATH = ['../../android/notification-service/src/main/jni/provider'])
+
+       notification_jni_provider_env.PrependUnique(LIBS = [
+               'notification_provider_wrapper'
+               ])
+
+       notificationJniCommonSharedObjs = [
+               notification_jni_provider_env.SharedObject('../../android/notification-service/src/main/jni/common/JniNotificationCommon.cpp')]
+
+       notification_provider_jni_src = [
+               env.Glob('../../android/notification-service/src/main/jni/provider/*.cpp'),
+               notificationJniCommonSharedObjs]
+
+       providerJni = notification_jni_provider_env.SharedLibrary('notification_provider_jni', notification_provider_jni_src)
+       notification_jni_provider_env.InstallTarget(providerJni, 'libnotification_provider_jni')
+       notification_jni_provider_env.UserInstallTargetLib(providerJni, 'libnotification_provider_jni')
+
+       Export('notificationJniCommonSharedObjs')