Rev 487 | Go to most recent revision | Blame | Last modification | View Log | RSS feed
#!/usr/bin/env python
# ============================================================================
# Script for downloading the various GEL dependencies on Windows
#
# Downloads the following libraries:
#
# clapack
# glut
# glew
# (glconsole)
# Anders Wang Kristensen / awk@imm.dtu.dk 2009
# ============================================================================
def download(url, fn=None):
import urllib
web = urllib.urlopen(url)
if not fn:
fn = url.split('/')[-1]
print fn
local = open(fn, 'wb')
local.write(web.read())
web.close()
local.close()
return fn
def banner(str):
print '\n'
print '---------------------------------------------------'
print '=> Downloading %s..' % str
print '---------------------------------------------------'
if __name__ == '__main__':
import os, sys, shutil, zipfile
sf = 'http://downloads.sourceforge.net/project/'
if not os.path.exists('lib/win32'):
os.makedirs('lib/win32')
#lapack stuff
banner('clapack')
shutil.rmtree('lib/win32/lapack', ignore_errors=True)
os.makedirs('lib/win32/lapack')
urls = ['http://www.netlib.org/clapack/LIB_WINDOWS/Win32/libf2c.lib',
'http://www.netlib.org/clapack/LIB_WINDOWS/Win32/BLAS.lib',
'http://www.netlib.org/clapack/LIB_WINDOWS/Win32/clapack.lib']
for u in urls:
fn = download(u)
shutil.move(fn, 'lib/win32/lapack')
#glut
banner('glut')
if not os.path.exists('lib/win32/gl'):
os.makedirs('lib/win32/gl')
download('http://www.xmission.com/~nate/glut/glut-3.7.6-bin.zip')
zf = zipfile.ZipFile(open('glut-3.7.6-bin.zip', 'rb'))
folder = 'lib/win32/gl/'
file(folder+'glut.h','wb').write(zf.read('glut-3.7.6-bin/glut.h'))
file(folder+'glut32.lib','wb').write(zf.read('glut-3.7.6-bin/glut32.lib'))
file('bin/glut32.dll','wb').write(zf.read('glut-3.7.6-bin/glut32.dll'))
zf.close()
os.remove('glut-3.7.6-bin.zip')
#glew
banner('glew')
folder1 = 'lib/win32/glew/include/gl/'
folder2 = 'lib/win32/glew/lib/'
for d in [folder1, folder2]:
if not os.path.exists(d):
os.makedirs(d)
if not os.path.exists('lib/win32/glew/lib'):
os.makedirs('lib/win32/glew/lib')
download(sf + 'glew/glew/1.5.1/glew-1.5.1-win32.zip?use_mirror=mesh',
'glew-1.5.1-win32.zip')
zf = zipfile.ZipFile(open('glew-1.5.1-win32.zip', 'rb'))
file(folder1+'glew.h','wb').write(zf.read('glew/include/GL/glew.h'))
file(folder1+'wglew.h','wb').write(zf.read('glew/include/GL/wglew.h'))
file(folder2+'glew32.lib','wb').write(zf.read('glew/lib/glew32.lib'))
file(folder2+'glew32s.lib','wb').write(zf.read('glew/lib/glew32s.lib'))
file('bin/glew32.dll','wb').write(zf.read('glew/bin/glew32.dll'))
zf.close()
os.remove('glew-1.5.1-win32.zip')
#glconsole
banner('glconsole')
download('http://mmandel.com/demos/GLConsole_mmandel_version_05.zip')
zf = zipfile.ZipFile(open('GLConsole_mmandel_version_05.zip', 'rb'))
zf.close()
os.remove('GLConsole_mmandel_version_05.zip')
print ' '
print '---------------------------------------------------'
print '=> Done!'
print '---------------------------------------------------'