From: Grzegorz J. <ja...@ac...> - 2004-09-01 13:47:23
|
Hi, Stefan very reasonably wrote about first agreeing on goals. So my goal is: =============================================== To have open-source refactoring tool for C++. =============================================== And my vision on how to get there is: ================================== First focus on OpenC++ Core Lib. ================================== OpenC++ includes several modules having different complexity and different reuse potential. For example driver calling compilers and linkers is quite complex but its reuse potential is low. IMO the most important modules of OpenC++ are lexer, parser, program object model and static analyzer, and we should focus on them. I suggest to (1) Take these modules out and call them "OpenC++ Core Lib", (2) Focus on Core Lib only, forgetting about compatibility with the rest of OpenC++ for some time, (3) Implement templates and overloading in Core Lib, along with appropriate unit tests, document it honestly, (4) Go back to the rest of OpenC++ and reimplement it using Core Lib API; this will be the proof of concept that the API is complete How to do this: (1) Have one repository. Let's put the code base of OpenC++ Core Lib in one repo and work in it. Let it be hosted on SF or on fresco or wherever, but let's have ONE repo for OpenC++ Core Lib. Present situation with Gilles here and Stefan there only brings confusion and problems with merging. (2) Minimize impact of trouble-makers. Majority of my time invested in 2.8 release went into solving problems related to libgc, libltdl, libtool, autoconf/automake (in this order). I suggest to minimize impact of these technologies on OpenC++ Core Lib, so that we can focus on templates and overloading, and not on dynamic linking. (3) Keep OpenC++ Core Lib easy to compile and test. Several potential volunteers approached OpenC++ in during the last year, but were distracted by problems with compiling on WinXP. This shrinks the pool of potential volunteers. Please let me know what you think. If you guys find this agenda in common with your goals, then let's try to get down to more technical terms and maybe some timelines or schedule. BR Grzegorz |
From: Stefan S. <se...@sy...> - 2004-09-02 02:43:56
|
Grzegorz Jakacki wrote: > Majority of my time invested in 2.8 release went into > solving problems related to libgc, libltdl, libtool, > autoconf/automake (in this order). > > I suggest to minimize impact of these technologies > on OpenC++ Core Lib, so that we can focus on templates > and overloading, and not on dynamic linking. I totally agree. I may be missing something but I don't understand the usefulness of running occ to build a plugin in one run, loading and using it in a second run. Is anybody actually using such a procedure ? What is its purpose ? Once we get of dynamic loading we can elimiate libltdl. In synopsis I use a stripped-down build system using make and autoconf (i.e. no automake and no libtool !). The windows version is compiled using 'gcc --mno-cygwin', which is equivalent to mingw. I anticipate to move to scons (http://www.scons.org) in the not-so-distant future. That will simplify matters even further, especially concerning portability. As far as libgc is concerned, I'm eliminating GC from all but the ptree types, as in all other cases ownership is well defined and can be dealt with by other means (pass-by-value, for example, for Encodings). We may consider ref counting in some cases, too. Just some ideas... Regards, Stefan |
From: Yann D. <yd...@al...> - 2004-09-13 19:41:28
|
On Wed, Sep 01, 2004 at 10:40:46PM -0400, Stefan Seefeld wrote: > I anticipate to move to scons (http://www.scons.org) in the not-so-distant > future. That will simplify matters even further, especially concerning > portability. I don't know what scons is up to, but it seems to require python. That would add a quite big build-dependency. OTOH, Jam (http://www.perforce.com/jam/jam.html) is a very powerful portable replacement for make+automake as well, and does not have any large dependencies. You may want to have a look at it (if you don't already know about it, that is ;) Best regards, -- Yann Dirson <yd...@al...> | Debian-related: <di...@de...> | Support Debian GNU/Linux: | Freedom, Power, Stability, Gratis http://ydirson.free.fr/ | Check <http://www.debian.org/> |
From: Stefan S. <se...@sy...> - 2004-09-14 00:15:43
|
Yann Dirson wrote: > On Wed, Sep 01, 2004 at 10:40:46PM -0400, Stefan Seefeld wrote: > >>I anticipate to move to scons (http://www.scons.org) in the not-so-distant >>future. That will simplify matters even further, especially concerning >>portability. > > > I don't know what scons is up to, but it seems to require python. indeed. Is that practically a problem for you ? > That would add a quite big build-dependency. OTOH, Jam Well, I was talking for Synopsis. As Synopsis provides scripting access to OpenC++ I'm already depending on python. I don't think this is an issue for anybody wanting to use Synopsis / OpenC++. Please convince me from the contrary. > (http://www.perforce.com/jam/jam.html) is a very powerful portable > replacement for make+automake as well, and does not have any large > dependencies. You may want to have a look at it (if you don't already > know about it, that is ;) Yes, I know about it. In fact, I'm watching the boost build system which is based on a modified version of jam ('bjam'). The boost developers, and notably David Abrahams, are considering to switch to scons these days... Regards, Stefan |