From 23b11f488fa2473df529230c27ecf043aaaaf7c9 Mon Sep 17 00:00:00 2001 From: Philippe Coval Date: Thu, 24 Nov 2016 12:50:01 +0600 Subject: [PATCH] build: Fix the ios build break [srijon.sb] iOS has been built successfully before, but currently build fail happened due to some update in the IoTivity. This fix resolves secure and insecure build of IoTivity for iOS [Philippe Coval] Rebased on renamed files and adapted, removed cleanup changes (prefered in isolated patches) Ported from 1.2-rel to master Change-Id: I7599d02f1931f38a28eac90163aac5818540c5b9 Author: srijon.sb Signed-off-by: srijon.sb Signed-off-by: Philippe Coval Reviewed-on: https://gerrit.iotivity.org/gerrit/14731 Tested-by: jenkins-iotivity Reviewed-on: https://gerrit.iotivity.org/gerrit/16879 Tested-by: jenkins-iotivity Reviewed-by: Kevin Kane --- extlibs/sqlite3/SConscript | 2 +- resource/SConscript | 2 +- resource/csdk/connectivity/SConscript | 2 +- resource/csdk/connectivity/src/SConscript | 2 +- .../csdk/connectivity/src/tcp_adapter/SConscript | 2 +- resource/csdk/security/provisioning/SConscript | 4 +- resource/oc_logger/SConscript | 2 +- resource/provisioning/SConscript | 2 +- resource/src/OCRepresentation.cpp | 2 +- resource/src/SConscript | 4 +- resource/third_party_libs.scons | 1 + service/SConscript | 8 ++-- service/easy-setup/SConscript | 2 +- service/easy-setup/mediator/richsdk/SConscript | 14 ++++--- service/notification/SConscript | 14 +++---- .../notification/cpp-wrapper/consumer/SConscript | 9 +++-- .../notification/cpp-wrapper/provider/SConscript | 9 +++-- service/resource-container/SConscript | 44 ++++++++++++---------- service/resource-encapsulation/SConscript | 11 ++++-- .../resource-encapsulation/src/common/SConscript | 10 +++-- .../src/resourceBroker/src/ResourcePresence.cpp | 4 ++ .../src/serverBuilder/SConscript | 11 ++++-- service/scene-manager/SConscript | 2 +- service/third_party_libs.scons | 3 +- 24 files changed, 95 insertions(+), 71 deletions(-) diff --git a/extlibs/sqlite3/SConscript b/extlibs/sqlite3/SConscript index 183f441..6fa46b5 100755 --- a/extlibs/sqlite3/SConscript +++ b/extlibs/sqlite3/SConscript @@ -11,7 +11,7 @@ sqlite_env = env.Clone() target_os = sqlite_env.get('TARGET_OS') src_dir = sqlite_env.get('SRC_DIR') -targets_need_sqlite = ['android', 'msys_nt', 'windows'] +targets_need_sqlite = ['android', 'msys_nt', 'windows', 'ios'] sqlite_dir = src_dir + '/extlibs/sqlite3/' sqlite_build_dir = src_dir + '/extlibs/sqlite3/sqlite-amalgamation-3081101/' sqlite_zip_file = src_dir + '/extlibs/sqlite3/sqlite-amalgamation-3081101.zip' diff --git a/resource/SConscript b/resource/SConscript index f79d09e..d501e8f 100644 --- a/resource/SConscript +++ b/resource/SConscript @@ -54,7 +54,7 @@ if 'CLIENT' in rd_mode or 'SERVER' in rd_mode: # Build liboctbstack SConscript('csdk/SConscript') -if target_os not in ['arduino','darwin','ios']: +if target_os not in ['arduino','darwin']: # Build liboc_logger SConscript('oc_logger/SConscript') diff --git a/resource/csdk/connectivity/SConscript b/resource/csdk/connectivity/SConscript index c329b23..fdaea91 100644 --- a/resource/csdk/connectivity/SConscript +++ b/resource/csdk/connectivity/SConscript @@ -66,7 +66,7 @@ else: env.AppendUnique(CPPDEFINES = ['NO_IP_ADAPTER']) if with_tcp == True: - if target_os in ['linux', 'tizen', 'android', 'arduino', 'windows']: + if target_os in ['linux', 'tizen', 'android', 'arduino', 'ios', 'windows']: env.AppendUnique(CPPDEFINES = ['TCP_ADAPTER', 'WITH_TCP']) print "CA Transport is TCP" else: diff --git a/resource/csdk/connectivity/src/SConscript b/resource/csdk/connectivity/src/SConscript index 197dee9..b3274d1 100644 --- a/resource/csdk/connectivity/src/SConscript +++ b/resource/csdk/connectivity/src/SConscript @@ -177,7 +177,7 @@ if 'BLE' in ca_transport: if 'NFC' in ca_transport: env.SConscript(os.path.join(ca_path, 'nfc_adapter/SConscript')) -if ca_os in ['linux', 'tizen', 'android', 'windows']: +if ca_os in ['linux', 'tizen', 'android', 'ios', 'windows']: if with_tcp == True: env.SConscript(os.path.join(ca_path, 'tcp_adapter/SConscript')) env.AppendUnique(CPPDEFINES = ['WITH_TCP']) diff --git a/resource/csdk/connectivity/src/tcp_adapter/SConscript b/resource/csdk/connectivity/src/tcp_adapter/SConscript index e3220f2..4362f2e 100644 --- a/resource/csdk/connectivity/src/tcp_adapter/SConscript +++ b/resource/csdk/connectivity/src/tcp_adapter/SConscript @@ -15,7 +15,7 @@ src_dir = './tcp_adapter/' # Source files to build common for all platforms common_files = None -if target_os in ['linux', 'tizen', 'android', 'windows']: +if target_os in ['linux', 'tizen', 'android', 'ios', 'windows']: common_files = [ os.path.join(src_dir, 'catcpadapter.c'), os.path.join(src_dir, 'catcpserver.c') ] diff --git a/resource/csdk/security/provisioning/SConscript b/resource/csdk/security/provisioning/SConscript index 68a7a63..57f1564 100644 --- a/resource/csdk/security/provisioning/SConscript +++ b/resource/csdk/security/provisioning/SConscript @@ -52,7 +52,7 @@ provisioning_env.PrependUnique(LIBS = ['octbstack', 'oc_logger', 'connectivity_a provisioning_env.AppendUnique(LIBS = ['mbedtls', 'mbedx509','mbedcrypto']) -if target_os not in ['msys_nt', 'windows', 'android']: +if target_os not in ['msys_nt', 'windows', 'android', 'ios']: provisioning_env.ParseConfig('pkg-config --libs glib-2.0') if target_os in ['windows', 'msys_nt']: @@ -107,7 +107,7 @@ else: provisioning_env.AppendUnique(CPPPATH = ['#/extlibs/sqlite3']) provisioning_src = provisioning_src + ['#/extlibs/sqlite3/sqlite3.c' ] -if target_os in ['windows', 'msys_nt']: +if target_os in ['windows', 'msys_nt', 'ios']: # octbstack.dll is exporting ocpmapi APIs on Windows - there is no ocpmapi.dll. provisioningserver = provisioning_env.StaticLibrary('ocpmapi', provisioning_src) else: diff --git a/resource/oc_logger/SConscript b/resource/oc_logger/SConscript index bc27c9e..b5712f8 100644 --- a/resource/oc_logger/SConscript +++ b/resource/oc_logger/SConscript @@ -52,7 +52,7 @@ if target_os not in ['darwin', 'ios', 'windows', 'msys_nt']: oc_logger_libs = [] -if target_os in ['windows', 'msys_nt']: +if target_os in ['windows', 'msys_nt','ios']: # If oc_logger APIs have to be exported from a Windows DLL, these functions # should be exported from octbstack.dll. Building a separate oc_logger.dll here # would result in duplicated code and data across these two DLLs. Using just diff --git a/resource/provisioning/SConscript b/resource/provisioning/SConscript index 66a530c..38e743c 100644 --- a/resource/provisioning/SConscript +++ b/resource/provisioning/SConscript @@ -89,7 +89,7 @@ if ocprovision_env.get('WITH_TCP') == True: ] ocprovision_env.UserInstallTargetHeader('../include/OCCloudProvisioning.hpp', 'resource', 'OCCloudProvisioning.hpp') -if target_os not in ['windows']: +if target_os not in ['ios', 'windows']: ocprovision = ocprovision_env.SharedLibrary('ocprovision', ocprovision_src) else: ocprovision = ocprovision_env.StaticLibrary('ocprovision', ocprovision_src) diff --git a/resource/src/OCRepresentation.cpp b/resource/src/OCRepresentation.cpp index ba637ad..2997995 100644 --- a/resource/src/OCRepresentation.cpp +++ b/resource/src/OCRepresentation.cpp @@ -229,7 +229,7 @@ namespace OC ((int64_t*)array)[pos] = item; } -#if !defined(_MSC_VER) +#if !(defined(_MSC_VER) || defined(__APPLE__)) template<> void get_payload_array::copy_to_array(std::_Bit_reference br, void* array, size_t pos) { diff --git a/resource/src/SConscript b/resource/src/SConscript index 3781026..7f71fad 100644 --- a/resource/src/SConscript +++ b/resource/src/SConscript @@ -121,7 +121,7 @@ oclib_src = [ if with_cloud: oclib_src = oclib_src + ['OCAccountManager.cpp'] -if target_os in ['windows']: +if target_os in ['windows', 'ios']: oclib_src = oclib_src + ['OCApi.cpp'] # TODO: Add OC_EXPORT prefixes to enable DLL generation oclib = oclib_env.StaticLibrary('oc', oclib_src) @@ -163,5 +163,5 @@ if with_cloud: oclib_env.UserInstallTargetHeader(header_dir + 'OCAccountManager.h', 'resource', 'OCAccountManager.h') # Add Provisioning library -if target_os in ['linux', 'android', 'tizen', 'windows'] and secured == '1': +if target_os in ['linux', 'android', 'tizen', 'ios', 'windows'] and secured == '1': SConscript('../provisioning/SConscript') diff --git a/resource/third_party_libs.scons b/resource/third_party_libs.scons index a677e91..a15e154 100644 --- a/resource/third_party_libs.scons +++ b/resource/third_party_libs.scons @@ -73,6 +73,7 @@ elif target_os in ['windows']: boost_path = os.path.join(src_dir,'extlibs','boost','boost') lib_env.AppendUnique(CPPPATH = [boost_path]) elif target_os == 'ios': + lib_env.AppendUnique(FRAMEWORKPATH = ['#extlibs/boost/ios/framework']) lib_env.AppendUnique(FRAMEWORKS = ['boost']) elif target_os == 'darwin': lib_env.AppendUnique(CPPPATH = ['/usr/local/include']) diff --git a/service/SConscript b/service/SConscript index 409767c..3fd71f1 100755 --- a/service/SConscript +++ b/service/SConscript @@ -26,7 +26,7 @@ Import('env') target_os = env.get('TARGET_OS') -if target_os not in ['arduino','darwin', 'ios', 'windows']: +if target_os not in ['arduino','darwin', 'windows']: # Build resource-encapsulation project SConscript('resource-encapsulation/SConscript') @@ -34,11 +34,11 @@ if target_os not in ['arduino','darwin', 'ios', 'windows']: SConscript('resource-container/SConscript') # Build scene-manager project - if target_os in ['linux']: + if target_os in ['linux', 'ios']: SConscript('scene-manager/SConscript') # Build notification-service project - if target_os in ['linux','android','tizen']: + if target_os in ['linux','android','tizen','ios']: SConscript('notification/SConscript') # Build simulator module @@ -50,5 +50,5 @@ if target_os not in ['arduino','darwin', 'ios', 'windows']: SConscript('coap-http-proxy/SConscript') # Build EasySetup module -if target_os in ['arduino', 'android', 'linux','tizen']: +if target_os in ['arduino', 'android', 'ios', 'linux','tizen']: SConscript('easy-setup/SConscript') diff --git a/service/easy-setup/SConscript b/service/easy-setup/SConscript index 11d847e..af7a6eb 100755 --- a/service/easy-setup/SConscript +++ b/service/easy-setup/SConscript @@ -26,7 +26,7 @@ Import('env') es_target = env.get ('TARGET_OS') service_easy_setup_env = env.Clone() -if es_target in ['android', 'linux', 'tizen']: +if es_target in ['android', 'ios', 'linux', 'tizen']: SConscript('mediator/SConscript') if es_target in ['linux', 'tizen']: diff --git a/service/easy-setup/mediator/richsdk/SConscript b/service/easy-setup/mediator/richsdk/SConscript index 1531163..3a28004 100755 --- a/service/easy-setup/mediator/richsdk/SConscript +++ b/service/easy-setup/mediator/richsdk/SConscript @@ -85,7 +85,7 @@ if target_os in ['linux','tizen']: if env.get('SECURED') == '1': easy_setup_env.AppendUnique(LIBS = ['ocpmapi', 'ocprovision']) -if target_os in ['android','linux','tizen']: +if target_os in ['android','ios','linux','tizen']: easy_setup_env.PrependUnique(CPPPATH = [ env.get('SRC_DIR') + '/resource/c_common/oic_malloc/include', env.get('SRC_DIR') + '/resource/include', @@ -116,7 +116,7 @@ if target_os in ['android','linux','tizen']: if env.get('WITH_TCP') == True: easy_setup_env.AppendUnique(LIBS = ['mbedtls', 'mbedx509', 'mbedcrypto']) -if not env.get('RELEASE'): +if not env.get('RELEASE') and target_os not in ['ios']: easy_setup_env.PrependUnique(LIBS = ['gcov']) easy_setup_env.AppendUnique(CCFLAGS = ['--coverage']) @@ -128,7 +128,7 @@ print"easysetup_path %s" % easysetup_path es_src = None -if target_os in ['android','linux','tizen']: +if target_os in ['android','ios','linux','tizen']: if env.get('SECURED') == '1': env.AppendUnique(es_src = [os.path.join(easysetup_path, 'src/EnrolleeSecurity.cpp')]) @@ -140,10 +140,12 @@ if target_os in ['android','linux','tizen']: env.AppendUnique(es_src = es_common_src) - es_sdk_shared = easy_setup_env.SharedLibrary('ESMediatorRich', env.get('es_src')) es_sdk_static = easy_setup_env.StaticLibrary('ESMediatorRich', env.get('es_src')) - easy_setup_env.InstallTarget([es_sdk_shared, es_sdk_static], 'libESMediatorRich') - easy_setup_env.AppendUnique(LINKFLAGS = ['-Wl,-soname,libESMediatorRich.so']) + easy_setup_env.InstallTarget(es_sdk_static, 'libESMediatorRich') + if target_os not in ['ios']: + es_sdk_shared = easy_setup_env.SharedLibrary('ESMediatorRich', env.get('es_src')) + easy_setup_env.InstallTarget(es_sdk_shared, 'libESMediatorRich') + easy_setup_env.AppendUnique(LINKFLAGS = ['-Wl,-soname,libESMediatorRich.so']) filenames = [ 'ESException.h', 'ESRichCommon.h', 'EasySetup.hpp', 'RemoteEnrollee.h' ] for filename in filenames: diff --git a/service/notification/SConscript b/service/notification/SConscript index e5e183a..4e38f3d 100755 --- a/service/notification/SConscript +++ b/service/notification/SConscript @@ -120,13 +120,13 @@ notification_provider_src = [ notification_consumer_src = [ env.Glob('src/consumer/*.c'), notification_common_obj] -providersdk = notification_provider_env.SharedLibrary('notification_provider', notification_provider_src) -notification_provider_env.InstallTarget(providersdk, 'libnotification_provider') -notification_provider_env.UserInstallTargetLib(providersdk, 'libnotification_provider') - -consumersdk = notification_consumer_env.SharedLibrary('notification_consumer', notification_consumer_src) -notification_consumer_env.InstallTarget(consumersdk, 'libnotification_consumer') -notification_consumer_env.UserInstallTargetLib(consumersdk, 'libnotification_consumer') +if target_os not in ['ios']: + providersdk = notification_provider_env.SharedLibrary('notification_provider', notification_provider_src) + notification_provider_env.InstallTarget(providersdk, 'libnotification_provider') + notification_provider_env.UserInstallTargetLib(providersdk, 'libnotification_provider') + consumersdk = notification_consumer_env.SharedLibrary('notification_consumer', notification_consumer_src) + notification_consumer_env.InstallTarget(consumersdk, 'libnotification_consumer') + notification_consumer_env.UserInstallTargetLib(consumersdk, 'libnotification_consumer') providersdk = notification_provider_env.StaticLibrary('notification_provider', notification_provider_src) notification_provider_env.InstallTarget(providersdk, 'libnotification_provider') diff --git a/service/notification/cpp-wrapper/consumer/SConscript b/service/notification/cpp-wrapper/consumer/SConscript index 3708789..e66feda 100755 --- a/service/notification/cpp-wrapper/consumer/SConscript +++ b/service/notification/cpp-wrapper/consumer/SConscript @@ -70,7 +70,7 @@ 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']) @@ -100,9 +100,10 @@ Import('notificationCommonSharedObjs') notification_consumer_src = [ env.Glob('src/*.cpp'),notificationCommonSharedObjs] -consumersdk = notification_env.SharedLibrary('notification_consumer_wrapper', notification_consumer_src) -notification_env.InstallTarget(consumersdk, 'libnotification_consumer_wrapper') -notification_env.UserInstallTargetLib(consumersdk, 'libnotification_consumer_wrapper') +if target_os not in ['ios']: + consumersdk = notification_env.SharedLibrary('notification_consumer_wrapper', notification_consumer_src) + notification_env.InstallTarget(consumersdk, 'libnotification_consumer_wrapper') + notification_env.UserInstallTargetLib(consumersdk, 'libnotification_consumer_wrapper') notification_consumer_src = [ env.Glob('src/*.cpp'),notificationCommonStaticObjs] diff --git a/service/notification/cpp-wrapper/provider/SConscript b/service/notification/cpp-wrapper/provider/SConscript index 05071c4..ee82fd9 100755 --- a/service/notification/cpp-wrapper/provider/SConscript +++ b/service/notification/cpp-wrapper/provider/SConscript @@ -71,7 +71,7 @@ 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']) @@ -112,9 +112,10 @@ notificationCommonSharedObjs = [ notification_provider_src = [ 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] diff --git a/service/resource-container/SConscript b/service/resource-container/SConscript index 551d054..5b1c29a 100644 --- a/service/resource-container/SConscript +++ b/service/resource-container/SConscript @@ -130,10 +130,13 @@ if int(containerJavaSupport): res_container_src = [ Glob('src/*.cpp') ] res_container_static = resource_container_env.StaticLibrary('rcs_container', res_container_src) -res_container_shared = resource_container_env.SharedLibrary('rcs_container', res_container_src) - -resource_container_env.InstallTarget([res_container_static,res_container_shared], 'libResContainer') -resource_container_env.UserInstallTargetLib([res_container_static,res_container_shared], 'libResContainer') +if target_os not in ['ios']: + res_container_shared = resource_container_env.SharedLibrary('rcs_container', res_container_src) + resource_container_env.InstallTarget([res_container_static,res_container_shared], 'libResContainer') + resource_container_env.UserInstallTargetLib([res_container_static,res_container_shared], 'libResContainer') +else: + resource_container_env.InstallTarget([res_container_static], 'libResContainer') + resource_container_env.UserInstallTargetLib([res_container_static], 'libResContainer') resource_container_env.UserInstallTargetHeader('include/RCSBundleInfo.h', 'service/resource-container', 'RCSBundleInfo.h') resource_container_env.UserInstallTargetHeader('include/RCSResourceContainer.h', 'service/resource-container', 'RCSResourceContainer.h') @@ -228,30 +231,31 @@ if target_os in ['linux']: ###################################################################### # Build Container Sample ###################################################################### -containersample_env = resource_container_env.Clone(); -containersample_env.AppendUnique(LINKFLAGS=["-rdynamic"]) +if target_os not in ['ios']: + containersample_env = resource_container_env.Clone(); + containersample_env.AppendUnique(LINKFLAGS=["-rdynamic"]) -# Copy test configuration -Command("examples/ResourceContainerConfig.xml","examples/ResourceContainerConfig.xml", Copy("$TARGET", "$SOURCE")) -Ignore("examples/ResourceContainerConfig.xml", "examples/ResourceContainerConfig.xml") + # Copy test configuration + Command("examples/ResourceContainerConfig.xml","examples/ResourceContainerConfig.xml", Copy("$TARGET", "$SOURCE")) + Ignore("examples/ResourceContainerConfig.xml", "examples/ResourceContainerConfig.xml") -containersample_env.AppendUnique(LIBS = ['rcs_container']) + containersample_env.AppendUnique(LIBS = ['rcs_container','resource_directory']) -containersampleapp_src = ['examples/ContainerSample.cpp'] -containersampleapp = containersample_env.Program('ContainerSample',containersampleapp_src) -Alias("containersample", containersampleapp) -env.AppendTarget('containersample') + containersampleapp_src = ['examples/ContainerSample.cpp'] + containersampleapp = containersample_env.Program('ContainerSample',containersampleapp_src) + Alias("containersample", containersampleapp) + env.AppendTarget('containersample') ###################################################################### # Build Container Sample Client ###################################################################### -containersampleclient_env = resource_container_env.Clone(); + containersampleclient_env = resource_container_env.Clone(); -containersample_env.AppendUnique(LIBS = ['rcs_container']) -containersampleclient_src = ['examples/ContainerSampleClient.cpp'] -containersampleclientapp = containersample_env.Program('ContainerSampleClient',containersampleclient_src) -Alias("containersampleclient", containersampleclientapp) -env.AppendTarget('containersampleclient') + containersample_env.AppendUnique(LIBS = ['rcs_container']) + containersampleclient_src = ['examples/ContainerSampleClient.cpp'] + containersampleclientapp = containersample_env.Program('ContainerSampleClient',containersampleclient_src) + Alias("containersampleclient", containersampleclientapp) + env.AppendTarget('containersampleclient') ###################################################################### # Build Container Java SDK diff --git a/service/resource-encapsulation/SConscript b/service/resource-encapsulation/SConscript index 4b5f7e0..f5b5298 100644 --- a/service/resource-encapsulation/SConscript +++ b/service/resource-encapsulation/SConscript @@ -96,10 +96,13 @@ client_src = [ RESOURCECLIENT_DIR + 'RCSRemoteResourceObject.cpp' ] ResourceClientsdk_static = resourceClient_env.StaticLibrary('rcs_client', client_src) -ResourceClientsdk_shared = resourceClient_env.SharedLibrary('rcs_client', client_src) - -resourceClient_env.InstallTarget([ResourceClientsdk_static,ResourceClientsdk_shared], 'rcs_client') -resourceClient_env.UserInstallTargetLib([ResourceClientsdk_static,ResourceClientsdk_shared], 'rcs_client') +if target_os not in ['ios']: + ResourceClientsdk_shared = resourceClient_env.SharedLibrary('rcs_client', client_src) + resourceClient_env.InstallTarget([ResourceClientsdk_static,ResourceClientsdk_shared], 'rcs_client') + resourceClient_env.UserInstallTargetLib([ResourceClientsdk_static,ResourceClientsdk_shared], 'rcs_client') +else: + resourceClient_env.InstallTarget([ResourceClientsdk_static], 'rcs_client') + resourceClient_env.UserInstallTargetLib([ResourceClientsdk_static], 'rcs_client') resourceClient_env.UserInstallTargetHeader('include/RCSAddress.h', 'service/resource-encapsulation', 'RCSAddress.h') resourceClient_env.UserInstallTargetHeader('include/RCSDiscoveryManager.h', 'service/resource-encapsulation', 'RCSDiscoveryManager.h') resourceClient_env.UserInstallTargetHeader('include/RCSRemoteResourceObject.h', 'service/resource-encapsulation', 'RCSRemoteResourceObject.h') diff --git a/service/resource-encapsulation/src/common/SConscript b/service/resource-encapsulation/src/common/SConscript index a2033ee..6539bea 100644 --- a/service/resource-encapsulation/src/common/SConscript +++ b/service/resource-encapsulation/src/common/SConscript @@ -86,9 +86,13 @@ rcs_common_src = [ ] rcs_common_static = rcs_common_env.StaticLibrary('rcs_common', rcs_common_src) -rcs_common_shared = rcs_common_env.SharedLibrary('rcs_common', rcs_common_src) -rcs_common_env.InstallTarget([rcs_common_static,rcs_common_shared], 'rcs_common') -rcs_common_env.UserInstallTargetLib([rcs_common_static,rcs_common_shared], 'rcs_common') +if target_os not in ['ios']: + rcs_common_shared = rcs_common_env.SharedLibrary('rcs_common', rcs_common_src) + rcs_common_env.InstallTarget([rcs_common_static,rcs_common_shared], 'rcs_common') + rcs_common_env.UserInstallTargetLib([rcs_common_static,rcs_common_shared], 'rcs_common') +else: + rcs_common_env.InstallTarget([rcs_common_static], 'rcs_common') + rcs_common_env.UserInstallTargetLib([rcs_common_static], 'rcs_common') ###################################################################### # Build Test Expiry Timer and primitive Resource diff --git a/service/resource-encapsulation/src/resourceBroker/src/ResourcePresence.cpp b/service/resource-encapsulation/src/resourceBroker/src/ResourcePresence.cpp index 97cbe0b..c5aba84 100644 --- a/service/resource-encapsulation/src/resourceBroker/src/ResourcePresence.cpp +++ b/service/resource-encapsulation/src/resourceBroker/src/ResourcePresence.cpp @@ -20,12 +20,16 @@ #include "ResourcePresence.h" +#if (defined(__APPLE__) && defined(TARGET_OS_IPHONE)) +#include +#else #ifndef __APPLE__ #ifndef TARGET_OS_MAC #include #include #endif #endif +#endif #include #include #include diff --git a/service/resource-encapsulation/src/serverBuilder/SConscript b/service/resource-encapsulation/src/serverBuilder/SConscript index e0364e2..f4b496c 100644 --- a/service/resource-encapsulation/src/serverBuilder/SConscript +++ b/service/resource-encapsulation/src/serverBuilder/SConscript @@ -78,10 +78,13 @@ if 'CLIENT' in rd_mode or 'SERVER' in rd_mode: server_builder_src = server_builder_env.Glob('src/*.cpp') server_builder_static = server_builder_env.StaticLibrary('rcs_server', server_builder_src) -server_builder_shared = server_builder_env.SharedLibrary('rcs_server', server_builder_src) - -server_builder_env.InstallTarget([server_builder_static, server_builder_shared], 'rcs_server') -server_builder_env.UserInstallTargetLib([server_builder_static, server_builder_shared], 'rcs_server') +if target_os not in ['ios']: + server_builder_shared = server_builder_env.SharedLibrary('rcs_server', server_builder_src) + server_builder_env.InstallTarget([server_builder_static, server_builder_shared], 'rcs_server') + server_builder_env.UserInstallTargetLib([server_builder_static, server_builder_shared], 'rcs_server') +else: + server_builder_env.InstallTarget([server_builder_static], 'rcs_server') + server_builder_env.UserInstallTargetLib([server_builder_static], 'rcs_server') ###################################################################### # Build Test diff --git a/service/scene-manager/SConscript b/service/scene-manager/SConscript index 730e964..eefada7 100755 --- a/service/scene-manager/SConscript +++ b/service/scene-manager/SConscript @@ -74,7 +74,7 @@ if target_os == 'android': scenemanager_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions']) scenemanager_env.AppendUnique(LIBS = ['gnustl_shared','log']) -if not env.get('RELEASE'): +if not env.get('RELEASE') and target_os not in ['ios']: scenemanager_env.PrependUnique(LIBS = ['gcov']) scenemanager_env.AppendUnique(CXXFLAGS = ['--coverage']) diff --git a/service/third_party_libs.scons b/service/third_party_libs.scons index 66f2f84..195bfa7 100644 --- a/service/third_party_libs.scons +++ b/service/third_party_libs.scons @@ -91,7 +91,8 @@ if target_os == 'android': lib_env.AppendUnique(CCFLAGS = ['-w']) elif target_os == 'ios': - lib_env.AppendUnique(FRAMEWORKS = ['boost', 'openssl']) + lib_env.AppendUnique(FRAMEWORKPATH = ['#extlibs/boost/ios/framework']) + lib_env.AppendUnique(FRAMEWORKS = ['boost']) elif target_os == 'darwin': lib_env.AppendUnique(CPPPATH = ['/usr/local/include']) lib_env.AppendUnique(LIBPATH = ['/usr/local/lib']) -- 2.7.4