Please do. "This bug affects me too." On Thu, Jun 3, 2010 at 5:13 PM, Robert Powell <[email protected]> wrote:
> Hello, > > My understanding of the current rule for generating a C file from a vala > file is, if the contents of the C file has the same hash value, don't > rewrite the file. When dealing with larger systems using libraries, this > rule may not be sufficient. > > I've attached an example program that illustrates the problem I describe > below. To exhibit the problem: > 1. execute make > 2. execute ./main. Note the output. > 3. comment out the variable comment_and_uncomment_me in file > BaseClass.vala. Remember to save. > 4. execute make > 5. execute ./main. Note the output is different and wrong. > > What is going on here > ------------------------------- > We have a library BaseClass.vapi that is generated from BaseClass.vala. > This defines the class BaseClass. We also have Derived.vala, which defines > a class that derives from BaseClass. > > If a member variable is added to BaseClass, BaseClass.vapi will change. > The > C file that is generated from Derived.vala will be identical, but it needs > to be recompiled because the base class has changed. valac will not > regenerate Derived.c because it hasn't changed. > > I propose that if the C file (Derived.c in this instance) that is generated > has the same hash value as the existing C file BUT the corresponding vala > file (Derived.vala) imports anything from a vapi (BaseClass.vapi) that has > an earlier timestamp, the C file (Derived.c) should be touched. Does valac > have enough of this information to perform this check? > > For this simple system, it would be easy enough to update the makefile to > watch for this dependency. For larger systems, however, I could see that > this could quickly get much more complex and error-prone. I think that > with > the addition of this rule, it avoids this dependency problem. > > Is this a reasonable request? Shall I file a bug? > > Thanks > > Rob > > _______________________________________________ > vala-list mailing list > [email protected] > http://mail.gnome.org/mailman/listinfo/vala-list > >
_______________________________________________ vala-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/vala-list
