Reorder library link order for connectivity abstraction
authorhyuna0213.jo <hyuna0213.jo@samsung.com>
Tue, 19 Apr 2016 07:28:47 +0000 (16:28 +0900)
committerJon A. Cruz <jon@joncruz.org>
Wed, 20 Apr 2016 06:25:07 +0000 (06:25 +0000)
An unresolved symbol error for connectivity abstraction occurred
during the Linux link phase. Generally, libraries that depend on
specific libraries should appear earlier in the linker command line.

Change-Id: Ic126e8e03266f4061328018c49037dc658652bfd
Signed-off-by: hyuna0213.jo <hyuna0213.jo@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/7789
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Jon A. Cruz <jon@joncruz.org>
17 files changed:
examples/OICMiddle/SConscript
resource/examples/SConscript
service/easy-setup/mediator/csdk/SConscript
service/easy-setup/mediator/richsdk/SConscript
service/easy-setup/sampleapp/mediator/linux/richsdk_sample/SConscript
service/resource-container/SConscript
service/resource-container/examples/BMISensorBundle/src/inputSensors/WeightSensorApp/SConscript
service/resource-container/examples/DiscomfortIndexSensorBundle/src/inputSensors/THSensorApp/SConscript
service/resource-container/examples/DiscomfortIndexSensorBundle/src/inputSensors/THSensorApp1/SConscript
service/resource-encapsulation/examples/linux/SConscript
service/resource-encapsulation/examples/linux/secureResourceExample/SConscript
service/resource-encapsulation/src/resourceBroker/unittest/SConscript
service/resource-encapsulation/unittests/SConscript
service/resource-hosting/SampleApp/linux/SConscript
service/scene-manager/SConscript
service/scene-manager/sampleapp/linux/SConscript
service/things-manager/sampleapp/linux/configuration/SConscript

index 8c1152d..e8ed300 100644 (file)
@@ -49,8 +49,13 @@ if target_os not in ['windows', 'winrt']:
                examples_env.AppendUnique(LIBS = ['-lpthread'])
 
 examples_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
-examples_env.PrependUnique(LIBS = ['oc', 'octbstack', 'oc_logger', 'connectivity_abstraction',
-        'coap', 'rt'])
+examples_env.PrependUnique(LIBS = ['coap'])
+examples_env.AppendUnique(LIBS = ['connectivity_abstraction'])
+examples_env.AppendUnique(LIBS = ['oc_logger'])
+examples_env.AppendUnique(LIBS = ['octbstack'])
+examples_env.AppendUnique(LIBS = ['oc'])
+examples_env.AppendUnique(LIBS = ['rt'])
+
 if env.get('SECURED') == '1':
     examples_env.AppendUnique(LIBS = ['tinydtls'])
 
index 095bb0e..e14fa05 100644 (file)
@@ -50,7 +50,12 @@ if target_os not in ['windows', 'winrt']:
 
 examples_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
 examples_env.AppendUnique(RPATH = [env.get('BUILD_DIR')])
-examples_env.PrependUnique(LIBS = ['oc', 'octbstack', 'oc_logger', 'connectivity_abstraction', 'coap'])
+examples_env.PrependUnique(LIBS = ['coap'])
+examples_env.AppendUnique(LIBS = ['connectivity_abstraction'])
+examples_env.AppendUnique(LIBS = ['oc_logger'])
+examples_env.AppendUnique(LIBS = ['octbstack'])
+examples_env.AppendUnique(LIBS = ['oc'])
+
 if env.get('SECURED') == '1':
     examples_env.AppendUnique(LIBS = ['tinydtls'])
 
index 675ab6b..fea4973 100644 (file)
@@ -75,7 +75,12 @@ if target_os == 'linux':
        easy_setup_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
        easy_setup_env.AppendUnique(RPATH = [env.get('BUILD_DIR')])
        easy_setup_env.AppendUnique(CXXFLAGS = ['-pthread'])
-       easy_setup_env.PrependUnique(LIBS = ['oc', 'octbstack', 'oc_logger', 'pthread', 'connectivity_abstraction'])
+       easy_setup_env.PrependUnique(LIBS = ['coap'])
+       easy_setup_env.AppendUnique(LIBS = ['connectivity_abstraction'])
+       easy_setup_env.AppendUnique(LIBS = ['oc_logger'])
+       easy_setup_env.AppendUnique(LIBS = ['octbstack'])
+       easy_setup_env.AppendUnique(LIBS = ['oc'])
+       easy_setup_env.AppendUnique(LIBS = ['pthread'])
 
 ######################################################################
 # Android Mediator
@@ -84,7 +89,13 @@ if target_os == 'android':
        easy_setup_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
        easy_setup_env.AppendUnique(RPATH = [env.get('BUILD_DIR')])
        easy_setup_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
-       easy_setup_env.PrependUnique(LIBS = ['oc', 'octbstack', 'oc_logger', 'connectivity_abstraction', 'gnustl_shared'])
+       easy_setup_env.PrependUnique(LIBS = ['coap'])
+       easy_setup_env.AppendUnique(LIBS = ['connectivity_abstraction'])
+       easy_setup_env.AppendUnique(LIBS = ['oc_logger'])
+       easy_setup_env.AppendUnique(LIBS = ['octbstack'])
+       easy_setup_env.AppendUnique(LIBS = ['oc'])
+       easy_setup_env.AppendUnique(LIBS = ['gnustl_shared'])
+
        if not env.get('RELEASE'):
                easy_setup_env.AppendUnique(LIBS = ['log'])
 
index f631761..54c1875 100644 (file)
@@ -71,7 +71,12 @@ if target_os in ['android']:
                easy_setup_env.AppendUnique(LIBPATH = [env.get('SRC_DIR')+'/android/android_api/base/libs/armeabi'])
        easy_setup_env.AppendUnique(RPATH = [env.get('BUILD_DIR')])
        easy_setup_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
-       easy_setup_env.PrependUnique(LIBS = ['oc', 'octbstack', 'oc_logger', 'connectivity_abstraction', 'gnustl_shared'])
+       easy_setup_env.PrependUnique(LIBS = ['coap'])
+       easy_setup_env.AppendUnique(LIBS = ['connectivity_abstraction'])
+       easy_setup_env.AppendUnique(LIBS = ['oc_logger'])
+       easy_setup_env.AppendUnique(LIBS = ['octbstack'])
+       easy_setup_env.AppendUnique(LIBS = ['oc'])
+       easy_setup_env.AppendUnique(LIBS = ['gnustl_shared'])
        if env.get('SECURED') == '1':
                easy_setup_env.AppendUnique(LIBS = ['ocpmapi','ocprovision'])
        if not env.get('RELEASE'):
@@ -81,7 +86,12 @@ if target_os in ['linux']:
        easy_setup_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
        easy_setup_env.AppendUnique(RPATH = [env.get('BUILD_DIR')])
        easy_setup_env.AppendUnique(CXXFLAGS = ['-pthread'])
-       easy_setup_env.PrependUnique(LIBS = ['oc', 'octbstack', 'oc_logger', 'pthread', 'connectivity_abstraction'])
+       easy_setup_env.PrependUnique(LIBS = ['coap'])
+       easy_setup_env.AppendUnique(LIBS = ['connectivity_abstraction'])
+       easy_setup_env.AppendUnique(LIBS = ['oc_logger'])
+       easy_setup_env.AppendUnique(LIBS = ['octbstack'])
+       easy_setup_env.AppendUnique(LIBS = ['oc'])
+       easy_setup_env.AppendUnique(LIBS = ['pthread'])
        if env.get('SECURED') == '1':
                easy_setup_env.AppendUnique(LIBS = ['ocpmapi', 'ocprovision'])
 
index ef24ed2..a792b7a 100644 (file)
@@ -58,7 +58,14 @@ mediator_env.PrependUnique(CPPPATH = [
                        env.get('SRC_DIR') + '/service/easy-setup/mediator/richsdk/src',
                        env.get('SRC_DIR') + '/service/easy-setup/inc'])
 
-mediator_env.PrependUnique(LIBS = ['oc', 'octbstack', 'oc_logger', 'pthread', 'connectivity_abstraction', 'coap', 'ESMediatorRich'])
+mediator_env.PrependUnique(LIBS = ['coap'])
+mediator_env.AppendUnique(LIBS = ['connectivity_abstraction'])
+mediator_env.AppendUnique(LIBS = ['oc_logger'])
+mediator_env.AppendUnique(LIBS = ['octbstack'])
+mediator_env.AppendUnique(LIBS = ['oc'])
+mediator_env.AppendUnique(LIBS = ['pthread'])
+mediator_env.AppendUnique(LIBS = ['ESMediatorRich'])
+
 if env.get('SECURED') == '1':
        mediator_env.PrependUnique(LIBS = ['ocpmapi', 'ocprovision'])
 
index 9a27b96..62be9f2 100644 (file)
@@ -100,9 +100,18 @@ try:
 except KeyError:
     print ''
 
-
-resource_container_env.PrependUnique(LIBS = ['rcs_client', 'rcs_server', 'rcs_common', 'oc','octbstack', 'oc_logger', 'connectivity_abstraction'])
-resource_container_env.AppendUnique(LIBS = ['dl', 'boost_system', 'boost_date_time', 'boost_thread'])
+resource_container_env.PrependUnique(LIBS = ['coap'])
+resource_container_env.AppendUnique(LIBS = ['connectivity_abstraction'])
+resource_container_env.AppendUnique(LIBS = ['oc_logger'])
+resource_container_env.AppendUnique(LIBS = ['octbstack'])
+resource_container_env.AppendUnique(LIBS = ['oc'])
+resource_container_env.AppendUnique(LIBS = ['rcs_client'])
+resource_container_env.AppendUnique(LIBS = ['rcs_server'])
+resource_container_env.AppendUnique(LIBS = ['rcs_common'])
+resource_container_env.AppendUnique(LIBS = ['dl'])
+resource_container_env.AppendUnique(LIBS = ['boost_system'])
+resource_container_env.AppendUnique(LIBS = ['boost_date_time'])
+resource_container_env.AppendUnique(LIBS = ['boost_thread'])
 
 if int(containerJavaSupport):
     try:
@@ -244,4 +253,4 @@ env.AppendTarget('containersampleclient')
 # Build Container Java SDK
 ######################################################################
 if target_os == 'android':
-    SConscript('android/SConscript')
\ No newline at end of file
+    SConscript('android/SConscript')
index 31df5ca..6b7ab83 100644 (file)
@@ -16,11 +16,11 @@ linux_sample_env.AppendUnique(CPPPATH = ['include'])
 linux_sample_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall', '-pthread'])
 linux_sample_env.AppendUnique(CPPDEFINES = ['LINUX'])
 linux_sample_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
-linux_sample_env.AppendUnique(LIBS = ['oc'])
+linux_sample_env.AppendUnique(LIBS = ['coap'])
+linux_sample_env.AppendUnique(LIBS = ['connectivity_abstraction'])
+linux_sample_env.AppendUnique(LIBS = ['oc_logger'])
 linux_sample_env.AppendUnique(LIBS = ['octbstack'])
-linux_sample_env.AppendUnique(LIBS = ['libconnectivity_abstraction'])
-linux_sample_env.AppendUnique(LIBS = ['libcoap'])
-linux_sample_env.AppendUnique(LIBS = ['liboc_logger'])
+linux_sample_env.AppendUnique(LIBS = ['oc'])
 linux_sample_env.AppendUnique(LIBS = ['pthread'])
 
 if env.get('SECURED') == '1':
@@ -36,4 +36,4 @@ if 'rt' in linux_sample_env.get('LIBS'):
 ######################################################################
 weightsensorapp = linux_sample_env.Program('WeightSensorApp', 'src/WeightSensorApp.cpp')
 Alias("weightsensorapp_sample", weightsensorapp)
-env.AppendTarget('weightsensorapp')
\ No newline at end of file
+env.AppendTarget('weightsensorapp')
index 9b065ed..ee61a9a 100644 (file)
@@ -16,11 +16,11 @@ linux_sample_env.AppendUnique(CPPPATH = ['include'])
 linux_sample_env.AppendUnique(CXXFLAGS = ['-Wall', '-pthread','-std=c++0x'])
 linux_sample_env.AppendUnique(CPPDEFINES = ['LINUX'])
 linux_sample_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
-linux_sample_env.AppendUnique(LIBS = ['oc'])
+linux_sample_env.AppendUnique(LIBS = ['coap'])
+linux_sample_env.AppendUnique(LIBS = ['connectivity_abstraction'])
+linux_sample_env.AppendUnique(LIBS = ['oc_logger'])
 linux_sample_env.AppendUnique(LIBS = ['octbstack'])
-linux_sample_env.AppendUnique(LIBS = ['libconnectivity_abstraction'])
-linux_sample_env.AppendUnique(LIBS = ['libcoap'])
-linux_sample_env.AppendUnique(LIBS = ['liboc_logger'])
+linux_sample_env.AppendUnique(LIBS = ['oc'])
 linux_sample_env.AppendUnique(LIBS = ['pthread'])
 
 if env.get('SECURED') == '1':
index 3109793..7fa770c 100644 (file)
@@ -16,11 +16,11 @@ linux_sample_env.AppendUnique(CPPPATH = ['include'])
 linux_sample_env.AppendUnique(CXXFLAGS = ['-Wall', '-pthread','-std=c++0x'])
 linux_sample_env.AppendUnique(CPPDEFINES = ['LINUX'])
 linux_sample_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
-linux_sample_env.AppendUnique(LIBS = ['oc'])
+linux_sample_env.AppendUnique(LIBS = ['coap'])
+linux_sample_env.AppendUnique(LIBS = ['connectivity_abstraction'])
+linux_sample_env.AppendUnique(LIBS = ['oc_logger'])
 linux_sample_env.AppendUnique(LIBS = ['octbstack'])
-linux_sample_env.AppendUnique(LIBS = ['libconnectivity_abstraction'])
-linux_sample_env.AppendUnique(LIBS = ['libcoap'])
-linux_sample_env.AppendUnique(LIBS = ['liboc_logger'])
+linux_sample_env.AppendUnique(LIBS = ['oc'])
 linux_sample_env.AppendUnique(LIBS = ['pthread'])
 
 if env.get('SECURED') == '1':
index b8a6828..2dc07d5 100644 (file)
@@ -31,12 +31,12 @@ sample_env = lib_env.Clone()
 
 sample_env.AppendUnique(CXXFLAGS = ['-Wall', '-std=c++0x'])
 sample_env.AppendUnique(LIBS = [
-    'rcs_common',
-    'oc',
-    'octbstack',
-    'oc_logger',
-    'connectivity_abstraction',
     'coap',
+    'connectivity_abstraction',
+    'oc_logger',
+    'octbstack',
+    'oc',
+    'rcs_common',
     'pthread'
     ])
 sample_env.AppendUnique(CPPPATH = ['../../include'])
index 3ad2106..1263096 100644 (file)
@@ -31,12 +31,12 @@ sample_env = lib_env.Clone()
 
 sample_env.AppendUnique(CXXFLAGS = ['-Wall', '-std=c++0x'])
 sample_env.AppendUnique(LIBS = [
-    'rcs_common',
-    'oc',
-    'octbstack',
-    'oc_logger',
-    'connectivity_abstraction',
     'coap',
+    'connectivity_abstraction',
+    'oc_logger',
+    'octbstack',
+    'oc',
+    'rcs_common',
     'pthread',
     'tinydtls'
     ])
index 34748b4..00012e6 100644 (file)
@@ -61,7 +61,16 @@ broker_test_env.AppendUnique(CPPPATH = ['../../common/utils/include'])
 broker_test_env.PrependUnique(CPPPATH = [env.get('SRC_DIR')+'/extlibs/hippomocks-master',
                              gtest_dir + '/include'])
 broker_test_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
-broker_test_env.PrependUnique(LIBS = ['rcs_client','rcs_common', 'oc', 'octbstack', 'oc_logger', 'connectivity_abstraction', 'coap', gtest, gtest_main])
+
+broker_test_env.PrependUnique(LIBS = ['coap'])
+broker_test_env.AppendUnique(LIBS = ['connectivity_abstraction'])
+broker_test_env.AppendUnique(LIBS = ['oc_logger'])
+broker_test_env.AppendUnique(LIBS = ['octbstack'])
+broker_test_env.AppendUnique(LIBS = ['oc'])
+broker_test_env.AppendUnique(LIBS = ['rcs_client'])
+broker_test_env.AppendUnique(LIBS = ['rcs_common'])
+broker_test_env.AppendUnique(LIBS = [gtest])
+broker_test_env.AppendUnique(LIBS = [gtest_main])
 
 if target_os not in ['windows', 'winrt']:
     broker_test_env.AppendUnique(CXXFLAGS = ['-O2', '-g', '-Wall', '-fmessage-length=0', '-std=c++0x'])
index 67855cf..7af50f7 100644 (file)
@@ -76,14 +76,14 @@ if target_os not in ['windows', 'winrt']:
                 rcs_test_env.AppendUnique(LIBS = ['pthread'])
 
 rcs_test_env.PrependUnique(LIBS = [
+    'connectivity_abstraction',
+    'oc_logger',
+    'oc_logger_core',
+    'octbstack',
+    'oc',
     'rcs_client',
     'rcs_server',
     'rcs_common',
-    'oc',
-    'octbstack',
-    'oc_logger',
-    'oc_logger_core',
-    'connectivity_abstraction',
     gtest,
     gtest_main])
 
@@ -102,4 +102,4 @@ if env.get('TEST') == '1':
     target_os = env.get('TARGET_OS')
     if target_os == 'linux':
         from tools.scons.RunTest import *
-        run_test(rcs_test_env, '', 'service/resource-encapsulation/unittests/rcs_client_test')
\ No newline at end of file
+        run_test(rcs_test_env, '', 'service/resource-encapsulation/unittests/rcs_client_test')
index 1062275..6b8f132 100644 (file)
@@ -17,23 +17,23 @@ resourcehosting_env.AppendUnique(CPPPATH = ['../../../../resource/csdk/connectiv
 resourcehosting_env.AppendUnique(CXXFLAGS = ['-O2', '-g', '-Wall', '-fmessage-length=0', '-std=c++0x'])
 resourcehosting_sample_env = resourcehosting_env.Clone()
 resourcehosting_env.AppendUnique(LIBS = [
+    'coap',
+    'connectivity_abstraction',
+    'oc_logger',
+    'octbstack',
+    'oc',
     'resource_hosting',
     'rcs_client',
     'rcs_server',
     'rcs_common',
-    'oc',
-    'octbstack',
-    'oc_logger',
-    'connectivity_abstraction',
-    'coap',
     'pthread'
     ])
 resourcehosting_sample_env.AppendUnique(LIBS = [
-    'oc',
-    'octbstack',
-    'oc_logger',
     'connectivity_abstraction',
     'coap',
+    'oc_logger',
+    'octbstack',
+    'oc',
     'pthread'
     ])
 
index 9348578..d351104 100755 (executable)
@@ -50,14 +50,14 @@ scenemanager_env.AppendUnique(CPPPATH = ['../resource-encapsulation/src/common/e
 
 
 scenemanager_env.PrependUnique(LIBS = [
+    'coap',
+    'connectivity_abstraction',
+    'oc_logger',
+    'octbstack',
+    'oc',
     'rcs_client',
     'rcs_server',
-    'rcs_common',
-    'oc',
-    'octbstack',
-    'oc_logger',
-    'connectivity_abstraction',
-    'libcoap'
+    'rcs_common'
     ])
 
 if target_os not in ['windows', 'winrt']:
index 6946510..8753303 100755 (executable)
@@ -18,15 +18,15 @@ scenemanager_sample_env.AppendUnique(CPPPATH = ['../../../../resource/csdk/conne
 scenemanager_sample_env.AppendUnique(CXXFLAGS = ['-O2', '-g', '-Wall', '-fmessage-length=0', '-std=c++0x'])
 
 scenemanager_sample_env.AppendUnique(LIBS = [
+    'oc_logger',
+    'coap',
+    'connectivity_abstraction',
     'scene_manager',
     'rcs_client',
     'rcs_server',
     'rcs_common',
-    'oc',
     'octbstack',
-    'oc_logger',
-    'connectivity_abstraction',
-    'coap',
+    'oc',
     'pthread'
     ])
 
@@ -45,4 +45,4 @@ if not env.get('RELEASE'):
 sceneserver = scenemanager_sample_env.Program('sceneserver', 'sceneserver.cpp')
 sceneclient = scenemanager_sample_env.Program('sceneclient', 'sceneclient.cpp')
 fanserver = scenemanager_sample_env.Program('fanserver', 'fanserver.cpp')
-lightserver = scenemanager_sample_env.Program('lightserver', 'lightserver.cpp')
\ No newline at end of file
+lightserver = scenemanager_sample_env.Program('lightserver', 'lightserver.cpp')
index 7285e13..f9ccdf9 100644 (file)
@@ -39,9 +39,15 @@ linux_sample_env.AppendUnique(CPPPATH = ['../../../sdk/src'])
 linux_sample_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall', '-pthread'])
 linux_sample_env.AppendUnique(CPPDEFINES = ['LINUX'])
 linux_sample_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
-linux_sample_env.AppendUnique(LIBS = ['libTGMSDKLibrary', 'oc', 'octbstack',
-                                      'connectivity_abstraction',
-                                      'libcoap', 'liboc_logger', 'dl', 'pthread'])
+linux_sample_env.PrependUnique(LIBS = ['coap'])
+linux_sample_env.AppendUnique(LIBS = ['connectivity_abstraction'])
+linux_sample_env.AppendUnique(LIBS = ['oc_logger'])
+linux_sample_env.AppendUnique(LIBS = ['octbstack'])
+linux_sample_env.AppendUnique(LIBS = ['oc'])
+linux_sample_env.AppendUnique(LIBS = ['libTGMSDKLibrary'])
+linux_sample_env.AppendUnique(LIBS = ['dl'])
+linux_sample_env.AppendUnique(LIBS = ['pthread'])
+
 if env.get('SECURED') == '1':
     linux_sample_env.AppendUnique(LIBS = ['tinydtls'])