Re: [Inkscape-devel] C++ification of the SPObject tree
Well, no, on linux, sorry. But I don't quite get the problem. There are lots of people who seem to have managed to make a recent version of gcc work on mac os. Of course you'd have to recompile all the necessary libraries from scratch when switching to a compiler with a different abi. As far as I understood that, Apple switched from gcc to clang because newer version of gcc are gplv3? Is Inkscape compilable with clang?
-----Ursprüngliche Nachricht----- Von: suv@...2204... [mailto:suv@...2204...] Im Auftrag von ~suv Gesendet: Donnerstag, 11. April 2013 19:33 An: Markus Engel Cc: inkscape-devel@lists.sourceforge.net Betreff: Re: [Inkscape-devel] C++ification of the SPObject tree
On 2013-04-11 19:25 +0100, Markus Engel wrote:
Yes, I just used this "polymorphic function pointer" std::function<SPObject* ()> for the factory, this can be replaced by a normal function pointer. Then there's one nested exception and some nullptrs. Btw: http://stackoverflow.com/questions/14153725/installing-gcc-4-7-1-on-os -x I'm using gcc 4.7 for compiling Inkscape and it just works fine.
On OS X?
(Note: one main issue is with g++ and different versions of libstdc++, and incompatibilties with shared libraries/frameworks compiled with the system compiler. Ask the darktable team about details - myself I'm not an expert on this area)
-----Ursprüngliche Nachricht----- Von: Alex Valavanis [mailto:valavanisalex@...400...] Gesendet: Donnerstag, 11. April 2013 18:30 An: Markus Engel Cc: Inkscape Devel List Betreff: Re: [Inkscape-devel] C++ification of the SPObject tree
Sounds great! Is there any way to avoid C++11 for the moment though? As I understand it, there isn't a suitable version of GCC available on OS X yet.
On 11 April 2013 16:57, Markus Engel <p637777@...1081...> wrote:
Hi there, now I finally managed to get rid of the GObject type system and merged all the virtual pads with their classes. It should work quite well, although I still have to figure out what to do with those "rdf:RDF" and
"inkscape:grid"
nodes. If you want to try it, please add a CXXFLAGS="-std=c++11" to your configure line ;). Who of you is currently working on the guides-improvement? Is there any special reason why you use "g_object_class_install_property" instead of "normal" properties?
Markus
-------- Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
-------- Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
On Apr 11, 2013, at 11:02 AM, Markus Engel wrote:
Well, no, on linux, sorry. But I don't quite get the problem. There are lots of people who seem to have managed to make a recent version of gcc work on mac os. Of course you'd have to recompile all the necessary libraries from scratch when switching to a compiler with a different abi. As far as I understood that, Apple switched from gcc to clang because newer version of gcc are gplv3? Is Inkscape compilable with clang?
Just for compatibility reasons in general, it's good to avoid requirements on c++11.
Keeping Inkscape source compatible with g++ and clang is good, since there are people using other compilers, including some proprietary/expensive ones that give some good performance boosts. Occasionally people with such will raise a compatibility issue.
Also with c++11 in general we have to be careful of not treating it as a monolithic switch. There are different subsets of features implemented in different versions of compilers. I'd done some checking recently, and even the more recent g++ versions had covered only perhaps a third of c++11 features.
Oh, and I've been burned by past attempts to use non-standard compiler versions on OS X. I'd given it some earnest tries at the behest of some other devs, but things got so bad I had to manually wipe all traces of dev tools off my system and start over clean. So it's definitely not something we want to push as a hard requirement for average users or potential contributors.
participants (2)
-
Jon Cruz
-
Markus Engel