Note for packagers whose packages need swig

Adam Tkac atkac at redhat.com
Mon Nov 10 13:09:23 UTC 2008


Hi all,

there is long standing problem with SWIG when you are wrapping around
C code and use system headers. SWIG doesn't define "standard" C
preprocessor macros. Due this it might happen that wrapped code uses
wrong data types, wrong function prototypes etc. There is bug about
this problem in upsteam bugzilla
(http://sourceforge.net/tracker/?func=detail&atid=101645&aid=1604332&group_id=1645)
but upsteam is not going to fix it.

List of packages whose use SWIG and their maintainers is on
http://atkac.fedorapeople.org/packages_needs_swig. I think every
maintainer should check his package and if it uses system C headers he
should add this to .i file (SWIG template)

$ cpp -dM /dev/null | grep -v __STDC__ > cpp_macros.h # SWIG defines __STDC__ macro

and then add '%include "cpp_macros.h" to top of .i file

After that you can be sure that wrapped code uses correct data sizes.
Feel free to ask me if you have any question.

Regards, Adam

-- 
Adam Tkac, Red Hat, Inc.




More information about the fedora-devel-list mailing list