Fix build error with scons-4.4.0 version which is based on python3
[platform/upstream/iotivity.git] / extlibs / wksxmppxep / SConscript
index 9dc9833..b33143a 100644 (file)
@@ -3,7 +3,7 @@
 #
 ######################################################################
 import os
-import commands
+import subprocess
 
 Import('env')
 
@@ -20,36 +20,55 @@ EXT_PATH = EXT_BASE + '/' + SRC_NAME
 SRC_PATH = base_dir + '/' + EXT_PATH
 INC_PATH = SRC_PATH + '/include'
 LIB_PATH = SRC_PATH
+WJSXMPPXEP_LIBS = ['wksxmppxep', 'm', 'crypto']
 
 if with_ra_ibb:
        env.SConscript(base_dir + '/extlibs/libstrophe/SConscript')
        if not os.path.exists(SRC_NAME):
                raxmpp_env = Environment(ENV = os.environ)
                c = raxmpp_env.Action(['git clone https://github.com/WorksSystems/wks_xep0047.git ' + SRC_NAME,
-                       'cd ' + SRC_NAME + ' && git checkout b95f22064241d1319c4dc967878706b4a446d186'
+                       'cd ' + SRC_NAME + ' && git checkout 8e9f42d02a0f416001065d1cddc1ab07974cef14'
         ])
 
-               print 'Downloading', SRC_NAME ,'library ...'
+               print('Downloading', SRC_NAME ,'library ...')
                if raxmpp_env.Execute(c):
-                       print '''
+                       print('''
        *********************************** Error: ***********************************************
        * Please download ra_xmpp as following:
        *     $ git clone https://github.com/WorksSystems/wksxmpp_chat.git extlibs/wksxmppxep/wksxmpp_chat
        *     $ cd extlibs/wksxmppxep/wksxmpp_chat
-       *     $ git checkout 9f5d726df9779bec5d3036acfbca70c97958921d
+       *     $ git checkout 8e9f42d02a0f416001065d1cddc1ab07974cef14
        ******************************************************************************************
-       '''
+       ''')
                        Exit(1)
                else:
-                       print 'Download', SRC_NAME, 'library complete'
+                       print('Download', SRC_NAME, 'library complete')
 
-       os.chdir(SRC_NAME)
-       if not os.path.exists(SRC_NAME + '/libwksxmppxep.so') :
-               LIBSTROPHE_BASE=base_dir + '/extlibs/libstrophe/libstrophe'
-               foo=commands.getoutput('make LIBSTROPHE_BASE=' + LIBSTROPHE_BASE + ' libraries')
-               #print foo
-       env.PrependUnique(CPPPATH = [INC_PATH], RALIBS = ['wksxmppxep', 'm', 'crypto'], RALIBPATH = [LIB_PATH], RARPATH = [LIB_PATH])
+       if not env.GetOption('clean'):
+               print('Building with ' + SRC_NAME)
+               os.chdir(SRC_NAME)
+               if not os.path.exists('libwksxmppxep.so') :
+                       LIBSTROPHE_BASE=base_dir + '/extlibs/libstrophe/libstrophe'
+                       foo=subprocess.getoutput('make LIBSTROPHE_BASE=' + LIBSTROPHE_BASE + ' libraries')
+                       print(foo)
+               if not os.path.exists('libwksxmppxep.so') :
+                       print('Building with ' + SRC_NAME + ' failed.')
+                       Exit(2)
+               else:
+                       foo = subprocess.getoutput('cp libwksxmppxep.so ' + env.get('BUILD_DIR'))
+                       print(foo)
+                       foo = subprocess.getoutput('cp libwksxmppxep.a ' + env.get('BUILD_DIR'))
+                       print(foo)
+       
+               print('Building with ' + SRC_NAME + ' Completely.')
+
+       env.PrependUnique(CPPPATH = [INC_PATH], RALIBS = WJSXMPPXEP_LIBS, RALIBPATH = [LIB_PATH], RARPATH = [LIB_PATH])
+       env.AppendUnique(LIBS = WJSXMPPXEP_LIBS, LIBPATH = [LIB_PATH])
+       env.AppendUnique(LIBS = ['boost_system', 'boost_thread'])
 
 if env.GetOption('clean') :
        act = env.Action(['cd ' + SRC_PATH, 'make clean'])
        env.Execute(act)
+       if os.path.isfile(env.get('BUILD_DIR') + '/libwksxmppxep.so'):
+               act2 = env.Action(['rm ' + env.get('BUILD_DIR') + '/libwksxmppxep.*'])
+               env.Execute(act2)
\ No newline at end of file