replace : iotivity -> iotivity-sec
[platform/upstream/iotivity.git] / extlibs / boost / SConscript
index d32b8b5..cae1be1 100644 (file)
@@ -17,11 +17,11 @@ if target_os in ['android']:
     boost_version   = '1.58.0'
 
 boost_base_name  = 'boost_'+string.replace(boost_version,'.','_')
-boost_arch_name  = boost_base_name+'.zip'
+boost_arch_name  = boost_base_name+'.tar.bz2'
 boost_b2_name    = boost_base_name+os.sep+'b2'
 boost_url       = 'http://downloads.sourceforge.net/project/boost/boost/'+boost_version+'/'+boost_arch_name+'?r=&ts=1421801329&use_mirror=iweb'
 
-boost_dir = os.path.join(src_dir, 'extlibs','boost')
+boost_dir = os.path.join(src_dir,'extlibs','boost','boost')
 boost_bootstrap = os.path.join(boost_dir,'bootstrap.bat')
 
 if 'linux' == target_os :
@@ -30,19 +30,37 @@ if 'linux' == target_os :
     raise SCons.Errors.EnvironmentError('Unsupported platform')
 
 elif target_os in ['windows']:
-    if not os.path.exists(boost_bootstrap) and target_os == 'windows':
-        # TODO: Enable installation of Boost via SConscript
+    boost_zip_file   = os.path.join(src_dir,'extlibs','boost',boost_arch_name)
+
+    if not os.path.exists(boost_bootstrap):
+
+        # Download if necessary
+        if os.path.exists(boost_zip_file):
+            boost_zip = boost_zip_file
+        else:
+            print '*** Downloading Boost zip file (> 100MB). Please wait... ***'
+            boost_zip = env.Download(boost_zip_file, boost_url)
+
+        # Unzip boost
+        print '*** Unpacking boost %s zip file ... ***' % boost_version
+        env.UnpackAll(boost_dir, boost_zip)
+
+        # Rename from boost_1_60_0 -> boost
+        os.rename(boost_base_name, 'boost')
+
+    # Sanity check, in case the above method didn't work
+    if not os.path.exists(boost_bootstrap):
         print '''
 *********************************** Error: ****************************************
 * Please download boost from the following website:
 *
 *   ''' + boost_url + '''
 *
-* and extract the contents directly into:
+* and extract the contents directly into
 *
 *    ''' + boost_dir + '''
 *
-* such that you can find:
+* such that this build system can find:
 *
 * ''' + boost_bootstrap + '''
 *