ios: Fix the ios build break
authorsrijon.sb <srijon.sb@samsung.com>
Thu, 24 Nov 2016 06:50:01 +0000 (12:50 +0600)
committerPhil Coval <philippe.coval@osg.samsung.com>
Thu, 24 Nov 2016 18:08:14 +0000 (18:08 +0000)
[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)

Change-Id: I7599d02f1931f38a28eac90163aac5818540c5b9
Author: srijon.sb <srijon.sb@samsung.com>
Signed-off-by: srijon.sb <srijon.sb@samsung.com>
Signed-off-by: Philippe Coval <philippe.coval@osg.samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/14731
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
25 files changed:
extlibs/sqlite3/SConscript
resource/SConscript
resource/csdk/connectivity/SConscript
resource/csdk/connectivity/src/SConscript
resource/csdk/connectivity/src/tcp_adapter/SConscript
resource/csdk/security/SConscript
resource/csdk/security/provisioning/SConscript
resource/oc_logger/SConscript
resource/provisioning/SConscript
resource/src/OCRepresentation.cpp
resource/src/SConscript
resource/third_party_libs.scons
service/SConscript
service/easy-setup/SConscript
service/easy-setup/mediator/richsdk/SConscript
service/notification/SConscript
service/notification/cpp-wrapper/consumer/SConscript
service/notification/cpp-wrapper/provider/SConscript
service/resource-container/SConscript
service/resource-encapsulation/SConscript
service/resource-encapsulation/src/common/SConscript
service/resource-encapsulation/src/resourceBroker/src/ResourcePresence.cpp
service/resource-encapsulation/src/serverBuilder/SConscript
service/scene-manager/SConscript
service/third_party_libs.scons

index 183f441c99ddd02990aa0a9c7457dbd4d6e277fa..6fa46b52778779b8ded16cc7fe19b6627ef7a786 100755 (executable)
@@ -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'
index 3f7a28d2dab9c30cc893691c1486c1d29697572a..249730da3a0bfc1944e73d2bc34dc0b2aa7e79ce 100644 (file)
@@ -57,7 +57,7 @@ SConscript('csdk/security/SConscript')
 # 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')
 
index 42927bf49c0ef1ff8bd68284f33659fbd8d1a02e..85267e023d7830b1382ff901471ab5c738b54ee2 100644 (file)
@@ -66,7 +66,7 @@ else:
                env.AppendUnique(CPPDEFINES = ['NO_IP_ADAPTER'])
 
        if with_tcp == True:
-               if target_os in ['linux', 'tizen', 'android', 'arduino']:
+               if target_os in ['linux', 'tizen', 'android', 'arduino', 'ios']:
                        env.AppendUnique(CPPDEFINES = ['TCP_ADAPTER', 'WITH_TCP'])
                        print "CA Transport is TCP"
                else:
index bc78b20b6f314b61a75b688c0164a00519883c65..c229051a8541be2f262b4386f74efe04e45867cb 100644 (file)
@@ -180,7 +180,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']:
+if ca_os in ['linux', 'tizen', 'android', 'ios']:
        if with_tcp == True:
                env.SConscript(os.path.join(ca_path, 'tcp_adapter/SConscript'))
                env.AppendUnique(CPPDEFINES = ['WITH_TCP'])
index 20e005738f0cf3c652f703b8a993da4566c653aa..d03144746a0941e2bffc4683c78165a997601cbb 100644 (file)
@@ -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']:
+if target_os in ['linux', 'tizen', 'android', 'ios']:
     common_files = [
         os.path.join(src_dir, 'catcpadapter.c'),
         os.path.join(src_dir, 'catcpserver.c') ]
index 834e8b527dc29434d64a158c3c83144a562ab1f1..6d7ccbf674e8a88c5bcead18e1ce8a66ac58eab3 100644 (file)
@@ -141,7 +141,7 @@ libocsrm = libocsrm_env.StaticLibrary('ocsrm', libocsrm_src)
 
 libocsrm_env.InstallTarget(libocsrm, 'ocsrm')
 
-if target_os in ['linux', 'android', 'tizen', 'msys_nt', 'windows'] and libocsrm_env.get('SECURED') == '1':
+if target_os in ['linux', 'android', 'tizen', 'msys_nt', 'windows', 'ios'] and libocsrm_env.get('SECURED') == '1':
        SConscript('provisioning/SConscript')
 
 if target_os in ['linux'] and libocsrm_env.get('SECURED') == '1':
index 5956bb01a1e415980861cbf3e597ecbf7c14f1fd..c5be751b4856219c64dd02c7ccf089d8ae0ce333 100644 (file)
@@ -73,7 +73,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']:
@@ -128,7 +128,7 @@ else:
        provisioning_env.AppendUnique(CPPPATH = ['../../../../extlibs/sqlite3'])
        provisioning_src = provisioning_src + [root_dir+'/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:
index bc27c9ec4bdd8b8ef88969ad7341db243209f277..b5712f85d220bb5a0d6aab4a99cbe3d4a6adb324 100644 (file)
@@ -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
index bbcb933ebac0f1a79174b556237b80ae34136cbc..95480aaca64e5f4c2cab8c507486e2f77b657a27 100644 (file)
 
 Import('env')
 
-ocprovision_env = env.Clone()
+lib_env = env.Clone()
+SConscript(lib_env.get('SRC_DIR') + '/resource/third_party_libs.scons', 'lib_env')
+
+ocprovision_env = lib_env.Clone()
 
 ######################################################################
 # Build flags
@@ -78,7 +81,10 @@ if ocprovision_env.get('WITH_TCP') == True:
        'src/OCCloudProvisioning.cpp'
        ]
 
-ocprovision = ocprovision_env.SharedLibrary('ocprovision', ocprovision_src)
+if target_os not in ['ios']:
+    ocprovision = ocprovision_env.SharedLibrary('ocprovision', ocprovision_src)
+else:
+    ocprovision = ocprovision_env.StaticLibrary('ocprovision', ocprovision_src)
 ocprovision_env.InstallTarget(ocprovision, 'libocprovision')
 ocprovision_env.UserInstallTargetLib(ocprovision, 'libocprovision')
 
index bbf0907ec21d3497d99b3030178ae59ef103406d..9db45ecbf5adf1f0fdd2eeb49683420c81cb830c 100644 (file)
@@ -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)
     {
index fdc9d14e2b68741db9ee5b6edc226cadaf4e1bb0..463bffbd18f698468f7f77d3bb6ec16f730dfabd 100644 (file)
@@ -120,7 +120,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)
@@ -162,5 +162,5 @@ if with_cloud:
        oclib_env.UserInstallTargetHeader(header_dir + 'OCAccountManager.h', 'resource', 'OCAccountManager.h')
 
 # Add Provisioning library
-if target_os in ['linux', 'android', 'tizen'] and secured == '1':
+if target_os in ['linux', 'android', 'tizen', 'ios'] and secured == '1':
         SConscript('../provisioning/SConscript')
index b78a5ed1ac1384862bb12f212b0cbd53e6bcd843..dc1fb89999be7c60e473f02675bf30f23981eca2 100644 (file)
@@ -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'])
index e34fd0f4478117189a78bb8f185d5c592d3272be..07382592752c00d033b23978f9ec67bae1c54564 100755 (executable)
@@ -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-hosting project
     SConscript('resource-hosting/SConscript')
 
@@ -37,11 +37,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
@@ -53,5 +53,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')
index 12e985a2427e89a147e10a383d41ab1abad8e1c2..cf42a58bd6c16efa2065f80040bfe3bacfa3b72f 100755 (executable)
@@ -29,7 +29,7 @@ if es_target in ['linux']:
    SConscript('mediator/SConscript')
    SConscript('enrollee/SConscript')
 
-if es_target in ['android']:
+if es_target in ['android','ios']:
    SConscript('mediator/SConscript')
 
 if es_target in ['tizen']:
index dd2d01942325abe616612ef658306985a8f8365f..e2142d372d1acc7a66e0a0924e485ef1808e8d5a 100755 (executable)
@@ -85,7 +85,7 @@ if target_os in ['linux']:
        if env.get('SECURED') == '1':
                easy_setup_env.AppendUnique(LIBS = ['ocpmapi', 'ocprovision'])
 
-if target_os in ['android','linux']:
+if target_os in ['android','linux', 'ios']:
        easy_setup_env.PrependUnique(CPPPATH = [
                env.get('SRC_DIR') + '/resource/c_common/oic_malloc/include',
                env.get('SRC_DIR') + '/resource/include',
@@ -115,7 +115,7 @@ if target_os in ['android','linux']:
                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'])
 
@@ -127,7 +127,7 @@ print"easysetup_path %s" % easysetup_path
 
 es_src = None
 
-if target_os in ['android','linux']:
+if target_os in ['android','linux','ios']:
        if env.get('SECURED') == '1':
                env.AppendUnique(es_src = [os.path.join(easysetup_path, 'src/EnrolleeSecurity.cpp')])
 
@@ -139,10 +139,12 @@ if target_os in ['android','linux']:
 
        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'])
 
 print "Files path is %s" % env.get('es_src')
 
index e099bfb984595fdbe62e3b765590a96f117ba17c..2759d7d2cf334da44545e343a9d24636d6afb2cf 100755 (executable)
@@ -102,14 +102,13 @@ notification_provider_src = [
 notification_consumer_src = [
        env.Glob('src/consumer/*.c'), env.Glob('src/common/*.c')]
 
-
-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')
index e18ce7cb35e9488393c0322e9119c1b6b97d2bdb..a131fc63cbef0022bb617fcbd2b60b5f1b421469 100755 (executable)
@@ -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'])
 
@@ -88,9 +88,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]
index 2d2cce6765ccc2d9e92198b28aa413e9f900db12..cc419abd8e037face36b0a89b6aa5fde38ec891a 100755 (executable)
@@ -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'])
 
@@ -99,9 +99,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]
index 551d054700af314c14c046c4f681ac859d989527..5b1c29a877a85306a5a62296fa1fe66680913435 100644 (file)
@@ -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
index 35c8d6d3ab43c9f5f211e13f3fce4e817c74d253..87f25bc0460a12162ecc5de02e825cf5e5b8eeca 100644 (file)
@@ -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')
index 72ab45e320b961cebfd4d3cad564257d677cfab7..cb9a56d09116f6eaad2c43c293c3c27c0e3f347d 100644 (file)
@@ -85,9 +85,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
index 7174ba67ef214605db4d65fdd4162cbe2001cd25..98364386ceb337020e339f2acbbe16bf7d54facd 100644 (file)
 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 
 #include "ResourcePresence.h"
-
+#if (defined(__APPLE__) && defined(TARGET_OS_IPHONE))
+#include <atomic>
+#else
 #include <bits/atomic_base.h>
 #include <bits/shared_ptr_base.h>
+#endif
 #include <time.h>
 #include <unistd.h>
 #include <cstdbool>
index f7c68ef06243756d752b5751da05bdb01069c51d..ca5354b17a7b3bbeebb6327eb6c746bc484071d3 100644 (file)
@@ -73,10 +73,13 @@ if server_builder_env.get('SECURED') == '1':
 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
index 730e964779216f706d10e8bf67a9b621480ee841..eefada790f27ee69add84798ca24f1954eecd9f0 100755 (executable)
@@ -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'])
 
index b6ca64b89fbaebcf356dac9b07989581a4cba8d8..4492fe6187119e70ab5dcd02145fe4bb070c7f3b 100644 (file)
@@ -90,7 +90,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'])