Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Add CastXML infrastructure. #275

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

thewtex
Copy link
Member

@thewtex thewtex commented May 15, 2015

Infrastructure to add CastXML [1] support as a parser. It is based of
the GCC-XML parser infrastructure. CastXML is a Clang-based replacement for
GCC-XML.

More changes are required to make the test suite pass.

[1] https://github.com/CastXML/CastXML

Infrastructure to add CastXML [1] support as a parser. It is based of
the GCC-XML parser infrastructure. CastXML is a Clang-based replacement for
GCC-XML.

More changes are required to make the test suite pass.

[1] https://github.com/CastXML/CastXML
@scopatz
Copy link
Member

scopatz commented May 15, 2015

Thanks @thewtex! I'll try playing around with this to make it pass the test suite.

@scopatz
Copy link
Member

scopatz commented May 15, 2015

But also, if anyone else wants to pick this up that'd be awesome!

@empyrical
Copy link
Contributor

Gonna take a stab and see if I can help!

Also, here's a handy link with prebuilt binaries of CastXML for Mac, Linux and Windows so you don't need to go through the effort of compiling it yourself:

http://midas3.kitware.com/midas/folder/13152

@empyrical
Copy link
Contributor

Created a pull request to your pull request! thewtex#1

Adds another commandline option to castxml.

@empyrical
Copy link
Contributor

Also @scopatz I don't understand the internals of XDress enough yet to say, but would it be acceptable if PyGCCXML was used for parsing instead of the hand rolled parser? Would be handy, as it supports castxml now.

@scopatz
Copy link
Member

scopatz commented Dec 22, 2015

Hi @empyrical! Thanks for taking a stab at this! Sorry for my delayed reply. And yes, it is acceptable to move to PyGCCXML. That project did not exist (If I remember my dates correctly) when the bulk of xdress was written.

@scopatz
Copy link
Member

scopatz commented Dec 22, 2015

Anything that improves this project, I am all for and happy to help support.

@empyrical
Copy link
Contributor

Awesome! BTW, do you know which version of Linux or Mac OS you were using when the gccxml tests in the current unmodified XDress passed? I haven't been able to get that working properly yet and they fail mid compilation

@scopatz
Copy link
Member

scopatz commented Dec 22, 2015

I don't remember exactly. It is probably Ubuntu 12.04 - 13.04, and I think that it was gcc 4.6, 4.7, 4.8. I never worked on mac, personally.

@empyrical
Copy link
Contributor

Thanks! Gave that a go (had vms of both 12 and 13) and all had the same error when compiling the discovery example:

[ 28%] Built target basics
[ 35%] Compiling Cython CXX source for cppproj_extra_types...
Scanning dependencies of target cppproj_extra_types
[ 42%] Building CXX object cppproj/CMakeFiles/cppproj_extra_types.dir/cppproj_extra_types.cxx.o
Linking CXX shared module cppproj_extra_types.cpython-35m-x86_64-linux-gnu.so
[ 42%] Built target cppproj_extra_types
[ 50%] Compiling Cython CXX source for discovery...
Scanning dependencies of target discovery
[ 57%] Building CXX object cppproj/CMakeFiles/discovery.dir/discovery.cxx.o
/home/ubuntu/dev/xdress/tests/cppproj/build/cppproj/discovery.cxx:569:97: error: ‘digital_love’ in namespace ‘cppproj’ does not name a type
/home/ubuntu/dev/xdress/tests/cppproj/build/cppproj/discovery.cxx:1635:97: error: ‘digital_love’ in namespace ‘cppproj’ does not name a type

(got the same err with 2.7)

Will have to check out what's going on later when I have more time. Merry xmas!

@empyrical
Copy link
Contributor

Hmm, do you know which version of Cython the tests last passed with? Maybe something changed in Cython

@scopatz
Copy link
Member

scopatz commented Jan 18, 2016

I do not, sadly. Probably around 0.19 or so.

@empyrical
Copy link
Contributor

Gave it a go with Cython 0.20 and it works great! My suspicion is that the PEP8 Names feature works in some way that works differently in later Cython versions. I'll take a crack at getting pygccxml ported over first, then I'll see what on Earth is goin' on there after that 😄

@scopatz
Copy link
Member

scopatz commented Jan 26, 2016

Haha OK great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants