X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=extlibs%2Farduino%2FSConscript;h=ede704ff69bff1514a968ecd64dcfc23cbb669aa;hb=8c01dff2c5bc5496f7dc1632c498943ec6ecb015;hp=268c06119065231619a3c3d2cbdbcefc55f25323;hpb=935fdb9b67b6c10d007e652e9e2e028fd6ccfe09;p=platform%2Fupstream%2Fiotivity.git diff --git a/extlibs/arduino/SConscript b/extlibs/arduino/SConscript index 268c061..ede704f 100644 --- a/extlibs/arduino/SConscript +++ b/extlibs/arduino/SConscript @@ -69,85 +69,112 @@ if target_os == 'arduino': timelib_dir = arduinolib_dir + '/libraries/Time' if not os.path.exists(timelib_dir): - timelib_zip_file = src_dir + '/extlibs/arduino/Time.zip' - timelib_url = 'http://playground.arduino.cc/uploads/Code/Time.zip' - # Install Arduino Time library - # If the zip file is not already present, download it - os.mkdir(timelib_dir) - os.chdir(timelib_dir) - if not os.path.exists(timelib_zip_file): - timelib_zip = env.Download(timelib_zip_file, timelib_url) - else: - timelib_zip = timelib_zip_file + if WhereIs('dos2unix') is not None: + timelib_zip_file = src_dir + '/extlibs/arduino/Time.zip' + timelib_url = 'http://playground.arduino.cc/uploads/Code/Time.zip' + # Install Arduino Time library + # If the zip file is not already present, download it + os.mkdir(timelib_dir) + os.chdir(timelib_dir) + if not os.path.exists(timelib_zip_file): + timelib_zip = env.Download(timelib_zip_file, timelib_url) + else: + timelib_zip = timelib_zip_file - # Unzip the lib - print 'Unzipping Arduino Time lib...' - env.UnpackAll(timelib_dir + '/Time', timelib_zip) + # Unzip the lib + print 'Unzipping Arduino Time lib...' + env.UnpackAll(timelib_dir + '/Time', timelib_zip) - # Apply patches to ARDUINO_HOME directory. - os.chdir(arduinolib_dir) - print 'Patching Arduino libraries...' - os.system("find ./libraries/Time/Time/DateStrings.cpp -type f -exec dos2unix {} \;") - os.system("patch -p1 < " + src_dir + "/resource/csdk/connectivity/lib/arduino/arduino_libraries.patch --directory=" + arduinolib_dir) + # Apply patches to ARDUINO_HOME directory. + os.chdir(arduinolib_dir) + print 'Patching Arduino libraries...' - # Remove downloaded file - os.remove(timelib_zip_file) + os.system("find ./libraries/Time/Time/DateStrings.cpp -type f -exec dos2unix {} \;") + os.system("patch -p1 < " + src_dir + "/resource/csdk/connectivity/lib/arduino/arduino_libraries.patch --directory=" + arduinolib_dir) + + # Remove downloaded file + os.remove(timelib_zip_file) + else: + print 'Please manually install package dos2unix. The build process will end now. Your Action Required: Install package manually, then restart build process.' + print 'You may likely retrieve this package as follows:' + print ' sudo apt-get install dos2unix' + print ' or' + print ' sudo yum install dos2unix' + exit(1) redbearlib_dir = arduinolib_dir + '/libraries/RBL_nRF8001' if not os.path.exists(redbearlib_dir): - redbearlib_zip_file = src_dir + '/extlibs/arduino/25643e7b1b7da3740406325a471e3faa4b948747.zip' - redbearlib_url = 'https://github.com/RedBearLab/nRF8001/archive/25643e7b1b7da3740406325a471e3faa4b948747.zip' - if not os.path.exists(redbearlib_zip_file): - redbearlib_zip = env.Download(redbearlib_zip_file, redbearlib_url) - else: - redbearlib_zip = redbearlib_zip_file + if WhereIs('dos2unix') is not None: + redbearlib_zip_file = src_dir + '/extlibs/arduino/25643e7b1b7da3740406325a471e3faa4b948747.zip' + redbearlib_url = 'https://github.com/RedBearLab/nRF8001/archive/25643e7b1b7da3740406325a471e3faa4b948747.zip' + if not os.path.exists(redbearlib_zip_file): + redbearlib_zip = env.Download(redbearlib_zip_file, redbearlib_url) + else: + redbearlib_zip = redbearlib_zip_file + + # Unzip the lib + print 'Unzipping Red Bear lib...' + os.chdir(arduinolib_dir + '/libraries') + env.UnpackAll(redbearlib_dir, redbearlib_zip) - # Unzip the lib - print 'Unzipping Red Bear lib...' - os.chdir(arduinolib_dir + '/libraries') - env.UnpackAll(redbearlib_dir, redbearlib_zip) + # Because the way Red Bear lib is distributed... All Red Bear source files must be moved up a few directories. + shutil.move('nRF8001-25643e7b1b7da3740406325a471e3faa4b948747/Arduino/libraries/RBL_nRF8001/', '.') + shutil.rmtree('nRF8001-25643e7b1b7da3740406325a471e3faa4b948747') - # Because the way Red Bear lib is distributed... All Red Bear source files must be moved up a few directories. - shutil.move('nRF8001-25643e7b1b7da3740406325a471e3faa4b948747/Arduino/libraries/RBL_nRF8001/', '.') - shutil.rmtree('nRF8001-25643e7b1b7da3740406325a471e3faa4b948747') + # Apply Red Bear patches + print 'Patching Red Bear library...' + os.chdir(arduinolib_dir + '/libraries/RBL_nRF8001/') - # Apply Red Bear patches - print 'Patching Red Bear library...' - os.chdir(arduinolib_dir + '/libraries/RBL_nRF8001/') - os.system("find . -type f -exec dos2unix {} \;") - os.system("patch -p1 < " + src_dir + "/resource/csdk/connectivity/lib/arduino/RBL_nRF8001.patch") + os.system("find . -type f -exec dos2unix {} \;") + os.system("patch -p1 < " + src_dir + "/resource/csdk/connectivity/lib/arduino/RBL_nRF8001.patch") - # Remove downloaded file - os.remove(redbearlib_zip_file) + # Remove downloaded file + os.remove(redbearlib_zip_file) + else: + print 'Please manually install package dos2unix. The build process will end now. Your Action Required: Install package manually, then restart build process.' + print 'You may likely retrieve this package as follows:' + print ' sudo apt-get install dos2unix' + print ' or' + print ' sudo yum install dos2unix' + exit(1) nordiclib_dir = arduinolib_dir + '/libraries/BLE' if not os.path.exists(nordiclib_dir): - nordiclib_zip_file = src_dir + '/extlibs/arduino/ble-sdk-arduino-0.9.5.beta.zip' - nordiclib_url = 'https://github.com/NordicSemiconductor/ble-sdk-arduino/archive/0.9.5.beta.zip' - if not os.path.exists(nordiclib_zip_file): - nordiclib_zip = env.Download(nordiclib_zip_file, nordiclib_url) - else: - nordiclib_zip = nordiclib_zip_file - - # Unzip the lib - print 'Unzipping Nordic lib...' - os.chdir(arduinolib_dir + '/libraries') - env.UnpackAll(nordiclib_dir, nordiclib_zip) - - # Because the way Nordic lib is distributed... All Nordic source files must be moved up a few directories. - shutil.move('ble-sdk-arduino-0.9.5.beta/libraries/BLE/', '.') - shutil.rmtree('ble-sdk-arduino-0.9.5.beta') - - # Apply Nordic lib patches - print 'Patching Nordic library...' - os.chdir(arduinolib_dir + '/libraries/BLE/') - os.system("find . -type f -exec dos2unix {} \;") - os.system("patch -p1 < " + src_dir + "/resource/csdk/connectivity/lib/arduino/arduino_due_ble.patch") + if WhereIs('dos2unix') is not None: + nordiclib_zip_file = src_dir + '/extlibs/arduino/ble-sdk-arduino-0.9.5.beta.zip' + nordiclib_url = 'https://github.com/NordicSemiconductor/ble-sdk-arduino/archive/0.9.5.beta.zip' + if not os.path.exists(nordiclib_zip_file): + nordiclib_zip = env.Download(nordiclib_zip_file, nordiclib_url) + else: + nordiclib_zip = nordiclib_zip_file + + # Unzip the lib + print 'Unzipping Nordic lib...' + os.chdir(arduinolib_dir + '/libraries') + env.UnpackAll(nordiclib_dir, nordiclib_zip) + + # Because the way Nordic lib is distributed... All Nordic source files must be moved up a few directories. + shutil.move('ble-sdk-arduino-0.9.5.beta/libraries/BLE/', '.') + shutil.rmtree('ble-sdk-arduino-0.9.5.beta') + + # Apply Nordic lib patches + print 'Patching Nordic library...' + os.chdir(arduinolib_dir + '/libraries/BLE/') + + os.system("find . -type f -exec dos2unix {} \;") + os.system("patch -p1 < " + src_dir + "/resource/csdk/connectivity/lib/arduino/arduino_due_ble.patch") - # Remove downloaded file - os.remove(nordiclib_zip_file) + # Remove downloaded file + os.remove(nordiclib_zip_file) + else: + print 'Please manually install package dos2unix. The build process will end now. Your Action Required: Install package manually, then restart build process.' + print 'You may likely retrieve this package as follows:' + print ' sudo apt-get install dos2unix' + print ' or' + print ' sudo yum install dos2unix' + exit(1) # Set the ARDUINO_HOME env.Replace(ARDUINO_HOME = arduinolib_dir)