First draft version of Clang TLB-Generator

This version does not work ATM. Actually it crashes.
Revert "First draft version of Clang TLB-Generator"

This reverts commit cf7bc1950339bfec19c8a4e44d5e29dbc9557fe0.
typelib/registry: don't return possible null-reference

kudos to scan-build

Signed-off-by: Martin Zenzes <martin.zenzes@dfki.de>
various: fix "unused variable" warnings

low hanging fruits...

Signed-off-by: Martin Zenzes <martin.zenzes@dfki.de>
Merge pull request #5 from jmachowinski/fixes-through-scan-build

Fixes through scan build
typemodel: change "s_available_containers" from pointer to object

fixes the test_suite so that it does not segfault (when no plugins can
be found) in test_model.cc:142 because "createContainer" is called,
which used the pointer without checking it.

the commit changes the pointer to be a static empty std::map, instead of
beeing sometimes created with new. removes null-pointer checks.

overhead? well, most of the time std::vectors are present and thus the
std::map would be created anyways... in case someone asks: on my 64bit
machine the size of the empty map is 48 bytes, versus 8 bytes for the
pointer.

Signed-off-by: Martin Zenzes <martin.zenzes@dfki.de>
pluginmanager: add string "name" to exception "PluginNotFound"

Signed-off-by: Martin Zenzes <martin.zenzes@dfki.de>
pluginmanager: add function "loadPluginFromDirectory"

also move the code handling loading of compiled-in TYPELIB_PLUGIN_PATH
into the new function.

return true if any plugin could be loaded, false if no plugin could be
loaded (and prints a warning)

Signed-off-by: Martin Zenzes <martin.zenzes@dfki.de>
pluginmanager: fix error message

does nobody read error-messages? this will always print "0": if(!var) cout << var;

Signed-off-by: Martin Zenzes <martin.zenzes@dfki.de>
pluginmanager: change c-level define for hardcoded typelib plugin path

this is now called "TYPELIB_HARDCODED_PLUGIN_PATH"

Signed-off-by: Martin Zenzes <martin.zenzes@dfki.de>
pluginmanager: override plugin loading locations with env-var "TYPELIB_PLUGIN_PATH"

now the hard-coded plug-lookup-path can be overridden by a environment
variable

the plugins inside the build-folder live in different folders. so we
have to be able to split the env-var at colons to look up a list of
subfolders...

doing like this allows testing the plugins in the build-folder, without
installed them:

    TYPELIB_PLUGIN_PATH=`find build -name 'libtypeLang_*.so' -printf "%h:"` ./build/test/typelib_testsuite

this also works (reproducing the "old" behaviour)

    TYPELIB_PLUGIN_PATH=$ROCK_INSTALL_DIR/lib/typelib ./build/test/typelib_testsuite

Signed-off-by: Martin Zenzes <martin.zenzes@dfki.de>
CMakeLists: add "TYPELIB_PLUGIN_PATH" env-properties to test-suites

three hardcoded path inside the build-folder where the plugins are located

Signed-off-by: Martin Zenzes <martin.zenzes@dfki.de>
pluginmanager: add warning on unset env-var

Signed-off-by: Martin Zenzes <martin.zenzes@dfki.de>
Merge pull request #6 from jmachowinski/try-to-fix-testsuite

Allow running the test suite(s) without installing typelib first.
registry.cc: don't make so much local copys, reuse container datastructure

should safe us some instrutions

Signed-off-by: Martin Zenzes <martin.zenzes@dfki.de>
typedisplay: fix dumping of enum-values to std::ostream

like "builder.getRegistry().dump(std::cout)"

Signed-off-by: Martin Zenzes <martin.zenzes@dfki.de>
export.cc: add missing newlines to xml-exporter

cosmetic...

Signed-off-by: Martin Zenzes <martin.zenzes@dfki.de>
pluginmanager: fix parsing of TYPELIB_PLUGIN_PATH

the last list-entry was skipped... not detected because the ruby-testsuite
does not test the plugin in the build-folder, but the one installed...

Signed-off-by: Martin Zenzes <martin.zenzes@dfki.de>
test/ruby/CMakeLists: make the environment proper for testing

now the testsuite will not test installed "RUBY_PLUGINS"... maybe add a
second test-invocation?

Signed-off-by: Martin Zenzes <martin.zenzes@dfki.de>
test-suites: add a second suite for ruby and cxx running against the installed plugins

which is the same test as before this odyssey began

Signed-off-by: Martin Zenzes <martin.zenzes@dfki.de>