* Some minor work on r2-swig

This commit is contained in:
pancake 2011-02-10 14:19:58 +01:00
parent e4e77b2c75
commit dc34c9f41a
7 changed files with 24 additions and 21 deletions

17
TODO
View File

@ -3,12 +3,11 @@
| < V . | . V . < _/ .-' _/| () |
|__\__|_|__|___/__|__|_\__\___/ |____(_)____/
Autocomplete
------------
- autocomplete flags for +- and @ chars
- if console width > X place comments there (ash)
* Fix all that shitty r_io maps bugs
UNDER DEVELOPMENT
=================
* r2-swig : Distribute generated .i files and cxx files.. so build is faster
- ./configure --without-valaswig # compile without generating cxx files
- build with swig/
Visual mode
-----------
@ -27,7 +26,6 @@ Visual mode
// NOP args: NOP with arguments are typical antiemulation tricks.
SYSENTER: Direct system calls. Commonly, used as antiemulation tricks.
* RAsmOp RAnalOp // Aop->Op
* implement aoe = anal op exec
- sync regs or what?
/a ??? deprecated analyze code? srsly?
@ -35,10 +33,9 @@ Visual mode
pancake
-------
* if console width > X place comments there (ash)
* Fix all that shitty r_io maps bugs
* Implement BLOCK in r_core_sysenv_begin|end ()
* r2-swig : Distribute generated .i files and cxx files.. so build is faster
- ./configure --without-valaswig # compile without generating cxx files
- build with swig/
* comparisions doesnt works (RAnalCond)
* Fix iterators for r_macro (test only?)

View File

@ -163,4 +163,4 @@ mrproper:
cd $$a ; ${MAKE} mrproper; cd .. ; \
done
.PHONY: $(LANGS) clean oldtest test all vdoc w32 w32dist check-w32
.PHONY: $(LANGS) clean mrproper oldtest test all vdoc w32 w32dist check check-w32 deinstall uninstall install

View File

@ -1,8 +1,10 @@
PREFIX=@PREFIX@
VERSION=@VERSION@
RELEASE=1
CC=@USERCC@
CXX=@USERCXX@
OSTYPE=@USEROSTYPE@
PREFIX=@PREFIX@
ifeq ($(OSTYPE),windows)
SOEXT=dll
@ -19,3 +21,4 @@ INSTALL_DIR=@INSTALL_DIR@
INSTALL_DATA=@INSTALL_DATA@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
INSTALL_MAN=@INSTALL_MAN@

View File

@ -1,8 +1,11 @@
#!/bin/sh
#
# Copyleft 2011
# Author: pancake(at)nopcode.org
# Wrapper for valaswig-cc
LNG=$1
MOD=$2
VALASWIGFLAGS="" ; [ 1 = "${DIST}" ] && VALASWIGFLAGS="-C"
if [ -z "${MOD}" ]; then
echo "Usage: ./libr-swig.sh [python] [r_foo]"
exit 1
@ -13,8 +16,8 @@ cd ${LNG}
#valaswig-cc ${LNG} ${MOD} -I../../libr/include ../../libr/vapi/${MOD}.vapi -l${MOD} -L../../libr/$(echo ${MOD} | sed -e s,r_,,)
echo "CFLAGS = $CFLAGS"
echo LIBS = `pkg-config --libs ${MOD}`
echo "LIBS = `pkg-config --libs ${MOD}`"
valaswig-cc ${LNG} ${MOD} \
valaswig-cc ${LNG} ${MOD} ${VALASWIGFLAGS} \
-x --vapidir=../vapi ../vapi/${MOD} \
`pkg-config --cflags --libs ${MOD}`

View File

@ -8,7 +8,7 @@ include ../rules.mk
tri:
valaswig -o r_debug.i -m r_debug --vapidir ../../libr/vapi/ r_debug
swig -python -I/usr/include/libr r_debug.i
gcc r_debug_wrap.c -shared -fPIC -I /usr/include/libr -I /usr/include/python2.6/ -o _r_debug.so -lr_debug -lr_bp -lr_reg -lr_util
$(CC) r_debug_wrap.c -shared -fPIC -I /usr/include/libr -I /usr/include/python2.6/ -o _r_debug.so -lr_debug -lr_bp -lr_reg -lr_util
bis:
valaswig-cc python r_io -I../../libr/include r_io `pkg-config --libs r_io`

View File

@ -6,7 +6,7 @@ LIBS+=r_debug.${SOEXT} r_config.${SOEXT} r_io.${SOEXT} r_syscall.${SOEXT}
LIBS+=r_search.${SOEXT} r_lib.${SOEXT} libr.${SOEXT} r_flags.${SOEXT}
LIBS+=r_parse.${SOEXT} r_lang.${SOEXT} r_core.${SOEXT}
.SUFFIXES: .so .dylib .dll
.SUFFIXES: .$(SOEXT)
all: ${LIBS}
@ -28,9 +28,9 @@ w32:
false ; \
fi ; \
fi ; \
if [ $$? = 0 ]; then \
(cd .. && sh do-swig.sh ${LANG} `echo $@ | sed -e s,.${SOEXT},,`) ; \
fi
[ $$? = 0 ] && \
(cd .. && sh RELEASE=$(RELEASE) ; \
do-swig.sh ${LANG} `echo $@ | sed -e s,.${SOEXT},,`)
test:
-${LANG} test-r_bp.${LANG_EXT}

View File

@ -63,7 +63,7 @@ public class Radare.RDebug {
//public bool reg_set(string name, uint64 num);
//public uint64 reg_get(string name);
//public RList<RDebug.Pid> pids (int pid);
public RList<RDebug.Pid> pids (int pid);
// must deprecate //
public int pid_list (int pid);
public int thread_list (int pid);