[pedevel] Jam-build part 2

  • From: Oliver Tappe <pedevel@xxxxxxxxxxxxxxx>
  • To: pedevel@xxxxxxxxxxxxx
  • Date: Thu, 18 Mar 2004 13:14:03 +0100

I seem to have failed to send this mail properly yesterday, please ignore 
this if it has come through twice...

-------------------------------------

Hi there,

I think I am done with completely switching over the build-process to jam.
I have just checked in the results. No more Makefiles exist, but if you 
need to access the prior version (the one with the Makefiles) you can do so 
by specifying a before_jam_build_part_2 tag to the cvs-checkout:

        cvs -d[...] checkout -r before_jam_build_part_2 pe_x86

The design of the jam-build has changed a lot, as I have (more or less) 
copied the layout that Ingo Weinhold has come up with for the OpenTracker's 
liblocale-subpart. Most of the nitty-gritty can be found in the new 
build-folder which contains the rules required to make things work.
These is what I hope to have managed to implement:

        1.) jam can be called from anywhere in the source-tree and it will build
        just the local files (and the parts these depend upon).
        2.) everything jam generates is put somewhere below the 'generated'- 
        folder, which lives in Pe's homedir.
        3.) In the 'generated'-folder, a folder named 'distro' contains all apps
        and add-ons that are required for Pe to run. This folder could be 
        zipped and send off to BeBits...
        4.) all warnings have been fixed, i.e. if you see a warning crop up 
when 
        you compile, it either means that I have missed one, or that you 
        have been fiddling with the code >;o)
        5.) you can specify your local requirements for building-vars in the 
        file build/UserBuildConfig. Here you can specify that you want debug
        -mode on or off and/or that you like the generated apps to be 
        stripped (and several more things). UserBuildConfig will not 
        influence the CVS at all.
        Please have a look at build/UserBuildConfig.sample which contains a
        little bit of documentation and some examples.

While I am quite content with the results, there are still some drawbacks, 
especially the one that this build-system requires jam v2.5rc3. If you use 
it with jam 2.4, everything may build, but it won't be created in the right 
places (i.e. not in the 'distro'-folder). I will try to find a way around 
this problem later.

Please check things out and tell me what you think.

If you like the new jam-build-layout, praise Ingo Weinhold, 
if you believe it is a bummer, please shout at me! >;o)

cheers,
        Oliver

Other related posts: