#!/usr/bin/env bash
runcython () {
    #if [ `echo $1 | sed -n '/\.pyx\?$/p' | wc -l` == 1 ]; then
    #else
        #echo "File must be .py or .pyx"
        #exit
    #fi
    cython $1 $2
    local tmpdir=`mktemp -d`
    trap "rm -r $tmpdir" 0
    local BASE_NAME=`echo $1 | sed -e 's/\.pyx$//'`
    local SO_NAME=`echo $1 | sed -e 's/\.pyx$/.so/'`
    local C_NAME=`echo $1 | sed -e 's/\.pyx$/.c/'`
    gcc -shared -pthread -fPIC -fwrapv -O2 -Wall -fno-strict-aliasing -I/usr/include/python2.7 -o $SO_NAME $C_NAME $3 && \
    rm $C_NAME && \
    mv $SO_NAME $tmpdir && \
    PYTHONPATH=$tmpdir:$PYTHONPATH python -c "import $BASE_NAME"
}

runcython "$@"
