{"id":13,"date":"2009-08-10T00:10:29","date_gmt":"2009-08-09T22:10:29","guid":{"rendered":"http:\/\/arnorehn.de\/cgi-bin\/weblog_basic\/index.php?p=13"},"modified":"2009-08-10T00:10:29","modified_gmt":"2009-08-09T22:10:29","slug":"gsoc-week-11-generating-smokekde","status":"publish","type":"post","link":"https:\/\/www.arnorehn.de\/blog\/2009\/08\/10\/gsoc-week-11-generating-smokekde\/","title":{"rendered":"gsoc, week 11 &#8211; generating smokekde :)"},"content":{"rendered":"<p>Now that the Qt classes generate and compile fine (<a href=\"http:\/\/kdedevelopers.org\/node\/4019\">as Richard already wrote<\/a>) I tried to generate the smokekde sources with the new generator last week.<\/p>\n<p>After fixing quite a bunch of bugs that didn&#8221;t surface when generating smokeqt, it works now really well.<br \/>\nThere isn&#8221;t much difference between the config files for qt and kde, too &#8211; it&#8221;s mainly the lists of stuff to include and very little stuff to be excluded (d pointers, q pointers, other private stuff&#8230;).<br \/>\nThis really shows that the new parser is superior to kalyptus, which had dozens of hacks in it for the code to generate nicely.<\/p>\n<p>In case you want to test it, get the source from \/trunk\/playground\/bindings\/smokegenerator. To make testing easier, I wrapped the generation in cmake, so a normal cmake; make; make install should build and install smokeqt and smokekde for you.<\/p>\n<p>The new generator still generates a lot of code for deprecated methods, which isn&#8221;t really nice &#8211; but maybe the parser can be modified so it recognizes __attribute__((deprecated)) flags.<br \/>\nThere are also still issues with fixed-width array types, which luckily don&#8221;t occur too often in KDE sources. This only affects KMD5 for the moment. I&#8221;ll fix this next week, so then should smokekde with smokegenerator be equal to smokekde with kalyptus \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Now that the Qt classes generate and compile fine (as Richard already wrote) I tried to generate the smokekde sources with the new generator last week. After fixing quite a bunch of bugs that didn&#8221;t surface when generating smokeqt, it works now really well. There isn&#8221;t much difference between the config files for qt and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,4],"tags":[9,11,29,27,14,15],"class_list":["post-13","post","type-post","status-publish","format-standard","hentry","category-gsoc","category-kde","tag-bindings","tag-c-parser","tag-gsoc","tag-kde","tag-smoke","tag-smokegenerator"],"_links":{"self":[{"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/posts\/13","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/comments?post=13"}],"version-history":[{"count":0,"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/posts\/13\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/media?parent=13"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/categories?post=13"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/tags?post=13"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}