Added COAP over TCP feature for Arduino for Transport TCP
[platform/upstream/iotivity.git] / resource / csdk / connectivity / lib / libcoap-4.1.1 / SConscript
index a694c17..03713c5 100644 (file)
@@ -7,6 +7,8 @@ Import('env')
 libcoap_env = env.Clone()
 
 target_os = env.get('TARGET_OS')
+ca_transport = env.get('TARGET_TRANSPORT')
+with_tcp = env.get('WITH_TCP')
 # As in the source code(C) includes arduino Time library head file(C++)
 # It requires compile the .c with g++
 if target_os == 'arduino':
@@ -28,15 +30,21 @@ if target_os == 'arduino':
                ])
 
 if target_os not in ['arduino', 'windows', 'winrt']:
-       libcoap_env.AppendUnique(CPPDEFINES = ['WITH_POSIX'])
-       libcoap_env.AppendUnique(CFLAGS = ['-std=gnu99', '-fPIC'])
+       libcoap_env.AppendUnique(CPPDEFINES = ['WITH_POSIX', '_DEFAULT_SOURCE'])
+       libcoap_env.AppendUnique(CFLAGS = ['-std=gnu99','-fPIC'])
 
 if target_os not in ['windows', 'winrt']:
        libcoap_env.AppendUnique(CFLAGS = ['-Wall', '-ffunction-sections',
                        '-fdata-sections', '-fno-exceptions'])
 
-if target_os == 'android':
+if target_os in ['linux', 'tizen', 'android', 'ios', 'arduino']:
+       if with_tcp == True:
+               libcoap_env.AppendUnique(CPPDEFINES = ['WITH_TCP'])
+
+if target_os in ['linux', 'tizen', 'android', 'arduino']:
        libcoap_env.AppendUnique(LIBS = ['log'])
+       if (('BLE' in ca_transport) or ('BT' in ca_transport) or ('ALL' in ca_transport)):
+               libcoap_env.AppendUnique(CPPDEFINES = ['WITH_TCP'])
 
 if target_os == 'arduino':
        libcoap_env.AppendUnique(CPPDEFINES = ['NDEBUG', 'WITH_ARDUINO'])
@@ -44,7 +52,7 @@ if target_os == 'arduino':
 if target_os in ['darwin', 'ios']:
        libcoap_env.AppendUnique(CPPDEFINES = ['_DARWIN_C_SOURCE'])
 
-if not env.get('RELEASE'):
+if env.get('LOGGING'):
        libcoap_env.AppendUnique(CPPDEFINES = ['TB_LOG'])
 
 ######################################################################
@@ -68,4 +76,4 @@ libcoap_src = [
 
 libcoap = libcoap_env.StaticLibrary('libcoap', libcoap_src, OBJPREFIX='libcoap_')
 
-libcoap_env.InstallTarget(libcoap, 'libcoap')
+libcoap_env.InstallTarget([libcoap], 'libcoap')