From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Mon, 4 Feb 2008 02:19:21 +0100 From: Enrico Weigelt To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] A newbie question... Message-ID: <20080204011921.GD15093@nibiru.local> References: <46721ee70801311622y709a0d6cme651c10d7b749184@mail.gmail.com> <20080201085043.A5A898663@okapi.maths.tcd.ie> <46721ee70802010915o3309a4d2u3acb9d64eeb56611@mail.gmail.com> <46721ee70802012043h312ec790qa2dc2092169c8b1a@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.1i Topicbox-Message-UUID: 424fe3d6-ead3-11e9-9d60-3106f5b1d025 * Filipp Andronov wrote: Hi, > And the first one looks like this: does GNU build system (autoconf, > automake, e.t.c) has been ported in Plan9? Or maybe there is some > alternative? :) If you got Java running, you might risk a look at unitool and treebuild: * http://unitool.metux.de/ * http://treebuild.metux.de/ One of the major problem of autoconf is that It tries to guess around lots of things, and this often fails or is very unclean (it requires *really great* care to produce good code with it). In fact this has nothing to do with portable programming, but working around uncountable of target specifics. Unitool goes an different approach: real abstraction with clear and *strict* interfaces. The individual target configuration is now the job of unitool and the one who sets it up - not the job of an individual application. For example it provides an target/platform agnostic toolchain interface - there is now only ONE way to call the toolchain, no matter what target you're building for and which toolchain you're actually using. Another big problem of most buildsystems (including all make-based) is they're modeling rules for building instead of the software's structure. Treebuild goes an different approach: modeling just the structure of certain package, leaving the build process itself out of scope of the package. > I want port some software from linux to Plan9, but couldn't find any > documentation about how i should do this in "plan9 style" ) hmm, "plan9 style" ? Maybe a few hints: * keep the code simple * common things belong to their own libs * autonomous things belong to their own fileserver What packages are you going to port ? cu -- --------------------------------------------------------------------- Enrico Weigelt == metux IT service - http://www.metux.de/ --------------------------------------------------------------------- Please visit the OpenSource QM Taskforce: http://wiki.metux.de/public/OpenSource_QM_Taskforce Patches / Fixes for a lot dozens of packages in dozens of versions: http://patches.metux.de/ ---------------------------------------------------------------------