Hi Alexander,

Thanks for the detective work.  Your last suggestion of :

 extern "C" {
         #include < librsvg/rsvg.h>
+#ifndef LIBRSVG_CHECK_VERSION
+        #include < librsvg/rsvg-cairo.h>
+#endif
 }

Is what I went with, short and sweet ;-)

I've also merged into the OSG-3.2 branch the librsvg-2.0>=2.35 check
from the svn/trunk/CMakeModules/FindRSVG.cmake script.

I will make another 3.2.1 release candidate today/tomorrow that will
wrap this up.

Cheers,
Robert.


On 29 June 2014 19:46, Alexander Sinditskiy <verybigbad...@gmail.com> wrote:
> Hi,
> Hello Robert
>
>
>>
>> Thanks for the changes. Which version of the OSG are you testing
>> against? Which version of RVSG are you testing against?
>>
>
>
> I have RSVG 2.36.1
> I tested my changes in OpenSceneGraph-3.2 and master/trunk branches.
>
>
>>
>> The second #if LIBRSVG_CHECK_VERSION assumes that either rvsg.h
>> provides this, or the fallback of #include
>> < librsvg/librsvg-features.h> provide it.  Could there be a case where
>> neither provide it?
>>
>
>
> This define exists sicnce LIBRSVG_2_26_1
> https://github.com/GNOME/librsvg/commit/19b6a9616464a20a6824e255a296c708f882e55b
>
>
>
>>
>> So the whole block would look like:
>>
>> extern "C" {
>>         #include < librsvg/rsvg.h>
>>
>> #ifndef LIBRSVG_CHECK_VERSION
>>         #include < librsvg/librsvg-features.h>
>> #endif
>>
>> #if !defined(LIBRSVG_CHECK_VERSION) || !LIBRSVG_CHECK_VERSION(2, 36, 2)
>>         #include < librsvg/rsvg-cairo.h>
>> #endif
>> }
>>
>
> I like your changes, but gcc not accept it if LIBRSVG_CHECK_VERSION is not 
> defined:
>
>
> Code:
>
> # cat test.cpp
> #if !defined(TEST) || TEST(2, 36, 2)
> #pragma message("true")
> #else
> #pragma message("false")
> #endif
>
> int main()
> {
>         return 0;
> }
> # gcc test.cpp
> test.cpp:1:27: error: missing binary operator before token "("
> test.cpp:4:24: note: #pragma message: false
>
>
>
>
> I have idea, may be it is a bit hacky. Since commit:
> https://github.com/GNOME/librsvg/commit/3b8adaa7e780b85695306292dfb23107d219bb34
> you have defined LIBRSVG_CHECK_VERSION after include < librsvg/rsvg.h>
> but before you don't.
>
>
> Code:
>
>  extern "C" {
>          #include < librsvg/rsvg.h>
> +#ifndef LIBRSVG_CHECK_VERSION
> +        #include < librsvg/rsvg-cairo.h>
> +#endif
>  }
>
>
>
>
>
> Thank you for review & tests :)!
>
> Cheers,
> Alexander
>
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=60044#60044
>
>
>
>
>
> _______________________________________________
> osg-users mailing list
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to