All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Jaeger <christian@pflanze.mine.nu>
To: Matthieu Moy <Matthieu.Moy@imag.fr>
Cc: Gambit List <Gambit-list@iro.umontreal.ca>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: Separating generated files?
Date: Wed, 15 Oct 2008 18:45:56 +0200	[thread overview]
Message-ID: <48F61E44.3080900@pflanze.mine.nu> (raw)
In-Reply-To: <vpqiqrt3mgs.fsf@bauges.imag.fr>

Matthieu Moy wrote:
> I think the first question is: do you (and why) need to use a version
> control system for generated files?

The project in question is a self-hosting compiler which compiles to C 
as an intermediary language. Providing the generated C files to users 
makes installation easy (it avoids the bootstrapping issue). So it's 
more 'severe' of an issue than just one of for example generating 
documentation files using a 3rd-party tool.

What may make matters worse, is that there are interdependencies between 
a number of hand-written C files and the generated files, so it's not 
always possible to use an older compiler version to reproduce the 
generated C files for a newer compiler; so if you want to merge newer 
compiler sources, you may also need the generated files, at least if you 
want that without fuss. So, there is always a need to somehow transmit 
the generated files too. I guess that this is easier than code the 
system in a way to always allow backwards compatibility (I haven't 
worked on the compiler itself yet, so this is a guess and may need 
confirmation).

Apart from that, I've found it useful (in another project, writing a 
document translator) to keep generated files in a VCS (Git) as well (I 
checked them into the *same* repository as the translator source, even 
if it felt ugly (for the previously mentioned reasons)), as then when I 
changed the translator, I could easily see where it had effect on the 
generated output. It can even serve as a debugging help kind of like a 
test suite does. This may be the case here, too (again, I'm guessing here).

How are other compiler projects which are bootstrapping via C dealing 
with this?

Christian.

      parent reply	other threads:[~2008-10-15 16:47 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E6D34628-783D-4597-8B00-C10F27F63BE2@iro.umontreal.ca>
     [not found] ` <48F5D86B.6040501@pflanze.mine.nu>
2008-10-15 14:54   ` Separating generated files? (Re: Mercurial -> git) Nguyen Thai Ngoc Duy
2008-10-15 15:30     ` [gambit-list] " Matthieu Moy
2008-10-15 16:42       ` Michael J Gruber
2008-10-15 17:28         ` Christian Jaeger
2008-10-16 12:00           ` [gambit-list] Separating generated files? Christian Jaeger
2008-10-16 12:12             ` Santi Béjar
2008-10-16 12:32               ` Christian Jaeger
2008-10-16 13:29                 ` Santi Béjar
2008-10-15 16:45       ` Christian Jaeger [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48F61E44.3080900@pflanze.mine.nu \
    --to=christian@pflanze.mine.nu \
    --cc=Gambit-list@iro.umontreal.ca \
    --cc=Matthieu.Moy@imag.fr \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.