##
import os
import platform
+import commands
Import('env')
+target_arch = env.get('TARGET_ARCH')
+target_os = env.get('TARGET_OS')
+
+tc_path=commands.getoutput('xcode-select -p')
+
+
# SYS_VERSION build option
help_vars = Variables()
help_vars.Add('SYS_VERSION', 'MAC OS X version / IOS version', os.environ.get('SYS_VERSION'))
'''
Exit(1)
-target_arch = env.get('TARGET_ARCH')
-target_os = env.get('TARGET_OS')
# Set release/debug flags
if env.get('RELEASE'):
env.AppendUnique(CCFLAGS = ['-Os'])
env.AppendUnique(LINKFLAGS = ['-g'])
if target_os == 'darwin':
- sys_root = '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX' + sys_version + '.sdk/'
+ sys_root = tc_path + '/Platforms/MacOSX.platform/Developer/SDKs/MacOSX' + sys_version + '.sdk/'
else:
if target_arch in ['i386', 'x86_64']:
- sys_root = '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator' + sys_version + '.sdk/'
+ sys_root = tc_path + '/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator' + sys_version + '.sdk/'
else:
- sys_root = '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS' + sys_version + '.sdk/'
+ sys_root = tc_path + '/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS' + sys_version + '.sdk/'
# Set arch flags
env.AppendUnique(CCFLAGS = ['-arch', target_arch, '-isysroot', sys_root])
gtest_lib_dir = gtest_dir + '/lib'
gtest_dotlib_dir = gtest_lib_dir + '/.libs'
- if not os.path.exists(gtest_lib_dir):
- print 'Create a directory'
- os.mkdir(gtest_lib_dir)
+ if not os.path.exists(gtest_lib_dir):
+# print 'Create a directory'
+# os.mkdir(gtest_lib_dir)
- print 'Change to a directory'
- os.chdir(gtest_lib_dir)
print 'Invoke cmake command to generate appropriate make files'
- env.Configure(gtest_lib_dir, 'cmake -G"Unix Makefiles" ..')
+ env.Configure(gtest_dir, './configure')
# Run make on gtest
print 'Making google unit test'
- env.Configure(gtest_lib_dir, 'make')
+ env.Configure(gtest_dir, 'make')
- print 'Create a directory'
- os.mkdir(gtest_dotlib_dir)
+# print 'Create a directory'
+# os.mkdir(gtest_dotlib_dir)
print 'Change to a directory'
os.chdir(gtest_dotlib_dir)
+## print 'Change to a directory'
+# os.chdir(gtest_lib_dir)
+
print 'Create hard links pointing to gtest libraries'
- os.link('../' + 'libgtest.a', 'libgtest.a')
- os.link('../' + 'libgtest_main.a', 'libgtest_main.a')
+ os.link('libgtest.a', gtest_lib_dir + 'libgtest.a')
+ os.link('libgtest_main.a', gtest_lib_dir + 'libgtest_main.a')
print 'Create hard links pointing to gtest libraries - DONE'
# Build liboctbstack
SConscript('csdk/SConscript')
-if target_os not in ['arduino','darwin']:
+if target_os not in ['arduino','darwin','ios']:
# Build liboc_logger
SConscript('oc_logger/SConscript')
# Build liboc
SConscript('src/SConscript')
-if target_os not in ['arduino','darwin', 'android']:
+if target_os not in ['arduino','darwin','ios','android']:
# Build examples
SConscript('examples/SConscript')
SConscript('unit_tests.scons')
elif target_os == 'darwin':
- # Build linux samples for now.
+ env.Command('../../out/darwin/iotivity-csdk.framework',None,src_dir + '/tools/darwin/mkfwk_osx.sh')
+ # Build linux samples for now
SConscript('csdk/stack/samples/linux/SimpleClientServer/SConscript')
# Build C stack's unit tests.
elif target_os not in ['darwin','ios']:
liboctbstack_env.AppendUnique(CFLAGS = ['-fPIC'])
if target_os in ['darwin', 'ios']:
+ env.AppendUnique(CPPDEFINES = ['_DARWIN_C_SOURCE'])
liboctbstack_env.AppendUnique(CPPDEFINES = ['_DARWIN_C_SOURCE'])
liboctbstack_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
if target_os not in ['arduino']:
env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','NO_EDR_ADAPTER','NO_LE_ADAPTER'])
elif target_os == 'tizen':
env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','EDR_ADAPTER','LE_ADAPTER'])
- elif target_os == 'darwin':
+ elif target_os in['darwin','ios']:
env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','NO_EDR_ADAPTER','NO_LE_ADAPTER'])
else:
env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','EDR_ADAPTER','LE_ADAPTER'])
if ca_os not in ['arduino', 'windows', 'winrt']:
env.AppendUnique(CPPDEFINES = ['WITH_POSIX'])
-if ca_os in ['darwin']:
+if ca_os in ['darwin','ios']:
env.AppendUnique(CPPDEFINES = ['_DARWIN_C_SOURCE'])
#Getting common source files
env.AppendUnique(CA_SRC=[src_dir+'caipserver.c'])
#Source files to build in Linux platform
-if target_os == 'linux':
+if target_os in ['linux','darwin','ios']:
env.AppendUnique(CA_SRC=[src_dir+'linux/caipnwmonitor.c'])
if target_os == 'tizen':
target_os = env.get('TARGET_OS')
-if target_os not in ['arduino','darwin']:
+if target_os not in ['arduino','darwin','ios']:
# Build things manager project
SConscript('things-manager/SConscript')
#!/bin/bash
# change this to what version of Xcode you have installed
-SDKVER=8.2
+SDKVER=8.3
scons TARGET_OS=ios TARGET_ARCH=armv7 SYS_VERSION=$SDKVER RELEASE=false
scons TARGET_OS=ios TARGET_ARCH=armv7s SYS_VERSION=$SDKVER RELEASE=false
echo "Framework: Copying includes..."
cp -r resource/csdk/stack/include/*.h $FRAMEWORK_BUNDLE/Headers
-cp -r resource/csdk/ocsocket/include/*.h $FRAMEWORK_BUNDLE/Headers
cp -r resource/csdk/ocrandom/include/*.h $FRAMEWORK_BUNDLE/Headers
cp -r resource/csdk/ocmalloc/include/*.h $FRAMEWORK_BUNDLE/Headers