9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Jason Catena <jason.catena@gmail.com>
To: 9fans@9fans.net,
	"inferno-list@vitanuova.com" <inferno-list@vitanuova.com>
Subject: [9fans] Credo: Inferno build tool
Date: Mon, 25 Mar 2013 08:30:58 -0500	[thread overview]
Message-ID: <CAC0DbM7d4D5-LT__JxSgF5v05jpCvH3TyYqaCK5MprZg_84WfQ@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1432 bytes --]

> [Mk] only knows about the rules you give it. It does not
> understand the real dependencies in your software.
> Also, because of this you tend to give it general rules
> which are not always right.

I thirk this might be a good place to mention that I'm
working on a build tool which, in effect, extends and
modernizes the set of pre-written rules the build tool
knows about.  A user can add to the library by writing
a small shell script, which processes a given file.
The type of files which the system generates from
these shell scripts includes the list of dependencies
for a particular file, customized to that file.

This gives an opportunity to automate very fine-
grained dependency detection, written in a general
way and applied to find the dependencies for a
single file.

Of course, the same command (adddep) used to
add dependencies as above can also add them
manually, or add many dependencies found at
once for many files.

Of interest to this group, I wrote the tool in
Inferno's shell sh, and it uses /env to track
dependencies on shell variables, and <{} to
parallelize building dependencies.  I would
appreciate recommendations for a better
way to temporarily lock, or a lock-free solution
to multiple attempts to build the same target.

Finally, if someone wants to actually use it,
I can offer handholding and fast updates of
brokenness.

http://github.com/catenate/credo

[-- Attachment #2: Type: text/html, Size: 1644 bytes --]

                 reply	other threads:[~2013-03-25 13:30 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=CAC0DbM7d4D5-LT__JxSgF5v05jpCvH3TyYqaCK5MprZg_84WfQ@mail.gmail.com \
    --to=jason.catena@gmail.com \
    --cc=9fans@9fans.net \
    --cc=inferno-list@vitanuova.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).