[openbeos] Re: using jam -- where's Jambase?

>>[snip]
>> There's no rule like "AddResources" in either this Jambase file or in
>> the reference one at http://public.perforce.com/public/jam/src/Jambase
>
>Of course there isn't, for it is BeOS specific. And the version on BeBits
>is basically a straight build with only minor changes in order to make the

>variable settings for BeOS reasonable (and make it work on PPC at all).

I figured that, since, in the reference Jambase file
there's a BEOS section:

else if $(OS) = BEOS 
{
        BINDIR          ?= /boot/apps ;
        CC              ?= gcc ;
        C++             ?= $(CC) ;
        FORTRAN         ?= "" ;
        LIBDIR          ?= /boot/develop/libraries ;
        LINK            ?= gcc ;
        LINKLIBS        ?= -lnet ;
        NOARSCAN        ?= true ;
        STDHDRS         ?= /boot/develop/headers/posix ;
}

then the person who wrote that section would also know
that BeOS uses rsrc files to build GUI programs, and
may have even added a rule for it later in the Jambase
file.

Since the rule is not there, and it's also not there in
the bebits beos jam version, is it an oversight? 

I'm sorry, but I just realized that I misread your
original reply -- I read Jambase where you wrote Jamrules.
Now I'm a bit more confused.

>> If I get good enough at this to send ELQ an update (she put jam up on
>> bebits) I'll post here about it. :)
>
>Huh? What are planning to do?

I was thinking of adding the resources rule to the bebits
Jambase, rebuilding this beos version of jam, and (if I
did it correctly so it would work) send the diff of the
two Jambase files in. Is that a good idea? (...hmmm, I
wonder why this hasn't already been done? I must be missing
something). 

> At least the OBOS build team (and others)
>agreed, that we want to go with the vanilla Jam version from Perforce
>rather than requiring our own special one. And I doubt that you can
>convince the Perforce people to incorporate those changes into their
>version. Please remember, that we are talking about a cross-platform build

>tool.

Heh. Of course Ingo. I'd never presume to mess with the
actual jam source. :)

The patched version you sent ELQ for inclusion; did that
exclusively consist of changes to the Jambase file?

>However, as written in my previous mail, the rules needed can be found in
>current/Jamrules. You can just include them in your project's Jamrules
>file.

??? (This is the part I misread. :/ See below.)

> Or modify Jambase accoringly and compile your own executable, or use
>jam's `-f' option to read your Jambase with the unmodified executable 
>(create an alias and you don't even need to type more).
>
>CU, Ingo

Right. Ok, I think I've got that part. Thanks.

Ingo, tell me,.. is there usually one master Jambase file
(like BeOS's makefile-engine) that gets used for all the
different Jamfiles for all the projects on a given system?
You've already noted that the Jambase is baked right in to
the jam executable, so, why does building OBOS require using
an alternate Jambase (current/Jambase)?

Do projects on a given system occasionally need their own
Jamrules files? (or is there one for the whole system?) I
haven't gotten to this part of the manual, so I don't yet
understand the purpose of a Jamrules file. Just peeking at
current/Jamrules, it looks as if the purpose of Jamrules
is to put OS-specific rules that wouldn't go in the system-
wide Jambase (?).

Thanks,
---j

Other related posts: