diff --git a/r2-bindings/rules.mk b/r2-bindings/rules.mk index 650c830411..7ba951f08c 100644 --- a/r2-bindings/rules.mk +++ b/r2-bindings/rules.mk @@ -14,7 +14,7 @@ w32: LDFLAGS="-L${W32PY}/libs ${LDFLAGS}" \ CFLAGS="-Wl,--enable-auto-import -L../../radare2-w32-${VERSION} ${CFLAGS}" \ export CC CXX CFLAGS LDFLAGS ; \ - ${MAKE} CC=i486-mingw32-gcc CXX=i486-mingw32-g++ \ + ${MAKE} CC=${CC} CXX=${CXX} %.${SOEXT}: ../vapi/%.vapi ifeq (${LANG},cxx) diff --git a/r2-bindings/vapi/r_util.vapi b/r2-bindings/vapi/r_util.vapi index ab8bcf836d..36e0edbeff 100644 --- a/r2-bindings/vapi/r_util.vapi +++ b/r2-bindings/vapi/r_util.vapi @@ -117,7 +117,7 @@ namespace Radare { public void prepend(owned G foo); public RListIter iterator(); public RList(); - public uint length(); + public int length(); //public bool next(); public bool del_n(int n); public bool get_top(); diff --git a/sys/mingw32-python.sh b/sys/mingw32-python.sh index 81f4bfdede..3cdbff8ed5 100755 --- a/sys/mingw32-python.sh +++ b/sys/mingw32-python.sh @@ -1,10 +1,32 @@ #!/bin/sh - cd `dirname $PWD/$0` cd ../r2-bindings +if [ -x /usr/bin/i686-w64-mingw32-gcc ]; then + C=i686-w64-mingw32-gcc + H=i686-unknown-windows + G=i686-w64-mingw32-g++ +elif [ -x /usr/bin/pacman ]; then + C=i486-mingw32-gcc + H=i486-unknown-windows + G=i486-mingw32-g++ +elif [ `uname` = Darwin ]; then + C=i386-mingw32-gcc + H=i386-unknown-windows + G=i386-mingw32-g++ +elif [ -x /usr/bin/apt-get ]; then + C=i586-mingw32msvc-gcc + H=i586-unknown-windows + G=i586-mingw32msvc-g++ +else + echo "mingw32 required in some version, nothing found!" + exit 1 +fi + make clean -./configure --enable-devel --prefix=/usr || exit 1 +./configure --with-cc=$C --with-cxx=$G --enable=python --host=$H --with-ostype=windows --prefix=/usr || exit 1 + sudo make install-vapi + #make python CC=i486-mingw32-gcc CXX=i486-mingw32-g++ || exit 1 -make w32 CC=i486-mingw32-gcc CXX=i486-mingw32-g++ || exit 1 +make w32 CC=$C CXX=$G || exit 1 make w32dist