{"id":151,"date":"2007-03-14T12:29:37","date_gmt":"2007-03-14T20:29:37","guid":{"rendered":"http:\/\/wp.colliertech.org\/cj\/?p=151"},"modified":"2007-08-17T04:44:46","modified_gmt":"2007-08-17T12:44:46","slug":"prebuild-autotools-target","status":"publish","type":"post","link":"https:\/\/wp.c9h.org\/cj\/?p=151","title":{"rendered":"Prebuild Autotools target"},"content":{"rendered":"<p>Hello public,<\/p>\n<p>I&#8217;m putting some effort into <a href=\"http:\/\/www.mono-project.com\/GtkGLAreaSharp\">GtkGlAreaSharp<\/a> again.  The supporting bits aren&#8217;t really production-ready, though, so rather than hacking on the widget itself and its associated examples, I&#8217;m beefing up the underlying platform.<\/p>\n<p>The first step in the process is making <a href=\"http:\/\/mono-project.com\/Prebuild\">Prebuild<\/a> a viable meta-build system.  Right now it works pretty well for generating <a href=\"http:\/\/nant.sourceforge.net\/\">NAnt<\/a>, <a href=\"http:\/\/msdn2.microsoft.com\/en-us\/vstudio\/aa700867.aspx\">Visual Studio 2003<\/a>, <a href=\"http:\/\/msdn2.microsoft.com\/en-us\/library\/ms950416.aspx\">Visual Studio 2005<\/a> and <a href=\"http:\/\/www.monodevelop.com\/Main_Page\">MonoDevelop<\/a> build systems.  The <a href=\"http:\/\/en.wikipedia.org\/wiki\/Autotools\">Autotools<\/a> target is a bit lacking, however.  There is not currently support for recursive projects, ie, solutions with multiple projects.  There is also no support for versioned solutions or projects.  This makes it difficult to <a href=\"http:\/\/msdn.microsoft.com\/library\/default.asp?url=\/library\/en-us\/cpguide\/html\/cpconassigningassemblystrongname.asp\">strong-named<\/a> assemblies, without which, libraries can&#8217;t be added to the <a href=\"http:\/\/support.microsoft.com\/kb\/315682\">GAC<\/a>.  Production-quality code is usually added to the GAC, so getting the feature addressed is pretty high priority.<\/p>\n<p>The reason I&#8217;m focusing on Prebuild is that the <a href=\"http:\/\/www.taoframework.com\/\">Tao<\/a> framework, a cross-platform C# binding to the <a href=\"http:\/\/en.wikipedia.org\/wiki\/OpenGL\">OpenGL<\/a> <a href=\"http:\/\/en.wikipedia.org\/wiki\/API\">API<\/a>, uses Prebuild to generate its build systems.  I use Tao in the <a href=\"http:\/\/svn.myrealbox.com\/viewcvs\/trunk\/gtkglarea-sharp\/examples\/\">examples<\/a> distributed with GtkGLAreaSharp in order to demonstrate the widget&#8217;s usage, how one might allow one&#8217;s users to interact with objects rendered in the OpenGL widget, etc.<\/p>\n<p>My work so far on the Prebuild Autotools templates is living in my own subversion repository until I get it to a better state than the stuff at sourceforge.  If you&#8217;re interested in taking a peek, browse on over to <a href=\"https:\/\/svn.colliertech.org\/mono\/dnpbAutotools\/\">https:\/\/svn.colliertech.org\/mono\/dnpbAutotools\/<\/a><\/p>\n<p>After we convince Prebuild to generate robust Autotool build systems, I&#8217;m going to see how much effort it takes to push Prebuild into the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Ubuntu_(Linux_distribution)\">Ubuntu<\/a> core.  After there is an Ubuntu package, it will probably take much less effort to get it packaged up for <a href=\"http:\/\/en.wikipedia.org\/wiki\/Debian\">Debian<\/a>.  One day I will become a <a href=\"http:\/\/www.debian.org\/devel\/\">DD<\/a>, but that takes a lot of time, and I hear a rumor that someone has to kick the bucket before they start accepting more :)<\/p>\n<p>There are also a couple of <a href=\"http:\/\/bugzilla.gnome.org\/buglist.cgi?product=gtkglarea&#038;bug_status=NEW&#038;bug_status=REOPENED&#038;bug_status=ASSIGNED&#038;bug_status=UNCONFIRMED\">nearly-complete bugs<\/a> blocking <a href=\"http:\/\/www.mono-project.com\/GtkGLArea\">gtkglarea<\/a> from working smoothly on win32.  This seems like a good place to focus effort after Prebuild does what I want.  Plus, then, I will move the gigantic project of <a href=\"http:\/\/bugzilla.gnome.org\/show_bug.cgi?id=119189\">adding OpenGL support to GTK+ core<\/a> forward a few steps.<\/p>\n\n<div class=\"twitter-share\"><a href=\"https:\/\/twitter.com\/intent\/tweet?via=cjamescollier\" class=\"twitter-share-button\">Tweet<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hello public, I&#8217;m putting some effort into GtkGlAreaSharp again. The supporting bits aren&#8217;t really production-ready, though, so rather than hacking on the widget itself and its associated examples, I&#8217;m beefing up the underlying platform. The first step in the process is making Prebuild a viable meta-build system. Right now it works pretty well for generating [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[72,180,38,17,79,75,80,164,62,152,21,7,51,179,65],"tags":[],"class_list":["post-151","post","type-post","status-publish","format-standard","hentry","category-3d","category-autotools","category-c","category-debian","category-free-software","category-gnome","category-gnome-foundation","category-graphics","category-gtk","category-gtkglarea","category-gtkglarea-sharp","category-mono","category-opengl","category-prebuild","category-tao"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1YDIB-2r","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts\/151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=151"}],"version-history":[{"count":0,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts\/151\/revisions"}],"wp:attachment":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}