Hello.
I would like to announce a new code generator for ctypes package. The new code generator is integrated with Py++ package and reuse most of its infrastructure: * GCC-XML - generates an XML description of a C++ program from GCC's internal representation * pygccxml - powerful and simple Python package to work GCCXML generated file. * Py++ design, code and utilities * It was build with future ( ctypes-cpp ) functionality in mind. * It has cross-platform ( Windows XP and Linux Ubuntu 8.10 ) unit tests How it works: 1. Using pygccxml, the source files are parsed ( using pygccxml ) and in-memory description of the code is created 2. .dll, .map or .so file is parsed ( pygccxml ) and exported symbols list is created 3. Using decorated and undecorated names, mapping between declarations and exported symbols is created. 4. The exported symbols and the mapping are used to: * define for what declarations the code should be generated * find out function calling convention 5. The last step - the code is generated Supported functionality: * shared libraries, that were compiled using C or C++ compiler * free functions, including variable number of arguments * [global|member] [named|anonymous] variables * [named|anonymous|opaque|nested] structures * enumerations * typedefs Examples: Is it useful? - Yes. I created example, which generates code for GMP( http://gmplib.org/ ) library. The following link (http://pygccxml.svn.sourceforge.net/viewvc/pygccxml/pyplusplus_dev/examples/gmplib_dev/) will take you to the example. * dev - directory, which contains code generator source code * pygmplib - directory, which contains generated code - Python package, which provides access to GMP lib functionality * test.py - Python script - tester. Want to try? Windows users: http://sourceforge.net/project/showfiles.php?group_id=118209 contains few packages * ctypes code generator - stand alone executable, which generates code for a .dll file * gccxml-setup - gccxml setup file Linux users: Sorry, no binaries :-( * you need to check-out( http://gccxml.org/HTML/Download.html) and build gccxml ( http://gccxml.org/HTML/Install.html ) * you need to check-out Py++ and pygccxml (http://sourceforge.net/svn/?group_id=118209 ) * wrap_library.py (http://pygccxml.svn.sourceforge.net/viewvc/pygccxml/pyplusplus_dev/scripts/) is the script, which generates code for .so file. Your feedback is welcome. -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig