Raw File
build_swig_scilab.py
import subprocess, wget, os, shutil, sys, glob

if not os.path.exists('swig-scilab'):
	subprocess.call('git clone https://github.com/swig/swig.git -b gsoc2012-scilab swig-scilab', shell = True, stdout = sys.stdout, stderr = sys.stderr)
else:
	subprocess.call('git pull', shell = True, cwd = 'swig-scilab', stdout = sys.stdout, stderr = sys.stderr)
os.chdir('swig-scilab')
if not glob.glob('pcre-*.tar.gz'):
    for rev in ['8.34','8.35','8.36']:
        try:
            wget.download('ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-'+rev+'.tar.gz'); break
        except:
            pass

prefix = '--prefix=${PWD}/swig-scilab-bin'
if '--windows' in sys.argv:
    compilers = " CXX=i686-w64-mingw32-g++ CC=i686-w64-mingw32-gcc "
    host = " --host=x86_64-unknown-linux-gnu "
    prefix += ' LDFLAGS="-static-libgcc -static-libstdc++ -static"'
else:
    compilers = ''
    host = ''
commons = dict(shell = True, stdout = sys.stdout, stderr = sys.stderr)

subprocess.check_call('Tools/pcre-build.sh'+compilers+host, **commons)
subprocess.check_call(compilers+'./autogen.sh', **commons)
subprocess.check_call('./configure --disable-ccache --with-scilab-inc=${SCILAB_HOME}/include --with-scilab=${SCILAB_HOME}/bin/scilab-cli'+' '+prefix+compilers+host, **commons)
subprocess.check_call(compilers+'make', **commons)
subprocess.check_call(compilers+'make install', **commons)

if '--windows' in sys.argv:
    subprocess.check_call('cp swig.exe swig3.0.exe', cwd='swig-scilab-bin/bin', **commons)
    subprocess.check_call('cp swig.exe swig2.0.exe', cwd='swig-scilab-bin/bin', **commons)
else:
    subprocess.check_call('cp swig swig3.0', cwd='swig-scilab-bin/bin', **commons)
    subprocess.check_call('cp swig swig2.0', cwd='swig-scilab-bin/bin', **commons)
back to top