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

added configuration option for xml importer #85

Closed
wants to merge 1 commit into from
Closed

added configuration option for xml importer #85

wants to merge 1 commit into from

Conversation

hemker
Copy link
Member

@hemker hemker commented Jul 12, 2016

I'm currently trying to build rock on Ubuntu 16.04 in master flavor. The default xml importer gccxml is not working with base/orogen/std. Due to a mailing list issue I added an autoproj configuration option.

#Currently castxml is working

configuration_option('TYPELIB_CXX_LOADER', 'string',
:default => 'castxml',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keyword argument syntax is key: value. :key => value only works as a backward compatibility feature.

@2maz
Copy link
Member

2maz commented Jul 15, 2016

What is wrong with using Autoproj's operating system detection for handling the default case, and conditionally activate gcc (14.04) or castxml (16.04)?

@doudou
Copy link
Member

doudou commented Jul 18, 2016

What is wrong with using Autoproj's operating system detection for handling the default case, and conditionally activate gcc (14.04) or castxml (16.04)?

Something almost equivalent, but closer to the actual problem (and therefore probably more explicit) would be to check for castxml's clang availability (it depends on a libclang-castxml osdep). It would allow to extend to other OSes easily (e.g. macosx) by making sure that libclang-castxml is available.

Unfortunately, it requires an autoproj 1/autoproj 2 specific tests, which would be on autoproj 2 (untested !)

Note: typelib setup is handled in orocos-toolchain, that's probably where this should be done.

os_resolver = 
    if Autoproj.manifest.respond_to?(:os_package_resolver) # v2
        Autoproj.manifest.os_package_resolver
    else
        Autoproj.manifest.osdeps
    end

if os_resolver.has?('libclang-castxml')
    # enable castxml
else
    # enable gccxml
end

An IMO better option would be to check whether gccxml is available from the osdeps

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

4 participants