From: Andreas L. <no...@sb...> - 2001-05-28 17:24:22
|
On 28 May 2001 20:06:42 +0400, Alexander Kogtenkov wrote: > Andreas Leitner wrote: > We were planning to introduce the similar XML scheme in VE when "cluster.es" > was developed. Unfortunately at that time there were no descent XML parser > and Windows INI files did the job. At the moment "cluster.es" in its INI format > is still used, but we would like to switch to XML format sometime. > > It seems that current "cluster.es" works pretty nice for VE, so the future XML > need to be functionally as rich as "cluster.es" is. It also would be great if > some common format like the proposed XACE will be used. > > The comparison with "cluster.es" shows that XACE misses the following > in its current incarnation: > 1. The possibility to specify the source files > a) in several paths see updated specs > b) with different file masks (AFAIK this is only supported by VE - all other > compilers read only *.e files) hmmm, dificult. because all other compilers look only for ".e" files. The most I could do is add an extension, that will only be accepted if the "--ve" flag is given. not sure if this is a good idea though. > c) depending on some additional settings (like the current OS) > d) recursively > 2. The possibility to specify cluster dependencies taking some settings into > account (e.g., OS platform again) Well, that can be handled using condition variables. a native ve implementation of XACE for example could always define "PLATFORM" to the current target platform. Or am I missing something. > 3. The possibility to specify external dependencies (again taking some settings > into account). It's on the todo list and a must have, since I want eXML to work with it (; > 1c, 2 and 3 all require some general mechanism to make XACE conditional. > Using compiler-name variable is OK, but it does not cover all the needs (at least > not for VE). Some extension mechanism is also required to allow compiler-specific > options to be specified. i will look into compiler options later. can you give me examples where condition variables are not sufficient? btw, I was thinking about a mechanism to select only subclusters in a library. alla "GOBO.KERNEL". We could then also allow "GOBO.KERNEL.SPEC.${EIFFEL_COMPILER}", I think that fits the VE system more closely, right? > As to the system settings, usually there are at least two versions of the system - > debug and finalized. And it would be rather attractive to switch between different > sets of the settings just by specifying a different command-line parameter or > by selecting a system type in the GUI environment without the need to modify XACE > every time. The same applies to libraries (precompiled clusters). That's where condition variables are totaly sufficient. Just make two "option" blocks with condtions: <options condtion="RELEASE_BUILD"> ... </options> <options condition="DEBUG_BUILD"> ... </options> > As to two top-level elements ("system" and "library"), there is a possibility that the > system/library and cluster reside in the same folder, so the description file can list > properties of both of them. In fact nothing prevents one XACE file to specify several > related clusters. Don't understand. Of course you can specify more clusters in once XACE file. regards, Andreas |