[openbeos] Re: Jam shortcuts?
- From: Ingo Weinhold <bonefish@xxxxxxxxxxxxxxx>
- To: openbeos@xxxxxxxxxxxxx
- Date: Mon, 26 Feb 2007 19:19:28 +0100
On 2007-02-26 at 18:34:51 [+0100], Jonas Sundström <jonas@xxxxxxxxxxx>
wrote:
>
> Is there a way to build Tracker, Deskbar and libtracker.so,
> (and other components) for BeOS, without blowing away
> my haiku-image build?
TARGET_PLATFORM=r5 jam -q Tracker Deskbar
If you have several components belonging to whatever you're working on, you
can define a pseudo-target in your build/jam/UserBuildConfig file ("NotFile
mytarget ; Depends mytarget : ... ;"). If you additionally want to copy
your components somewhere you can specify this there too. E.g. for testing
the UserlandFS stuff I used:
# UserlandFS installation
local userlandFSDir = [ FDirName $(HAIKU_OUTPUT_DIR) userlandfs ] ;
HaikuInstall install-userlandfs : $(userlandFSDir)
: # userlandfs
<test>userlandfs
<test>UserlandFSServer
<test>ufs_mount
# netfs
<test>AuthenticationServer
<test>netfs
<test>netfs_config
<test>NetFSServerPrefs
<test>NetFSServer
# ramfs
<test>ramfs
# reiserfs
<test>reiserfs
: installed!userlandfs!tests
;
A "TARGET_PLATFORM=r5 jam -q install-userlandfs" would then build the
listed components and copy them to generated/userlandfs/. I used symlinks
to this place for the add-ons that had to be installed somewhere in
~/config/..., but of course could simply have used separate HaikuInstall
invocations to copy them right there.
For Tracker and Deskbar you could define something like this (untested):
HaikuInstall install-tracker : /system : Tracker Deskbar
: installed!tracker ;
HaikuInstall install-tracker : /system/lib : libtracker.so
: installed!tracker ;
"TARGET_PLATFORM=r5 jam -q install-tracker" builds and install those things
accordingly. You can get rid of the "TARGET_PLATFORM=r5" by configuring
your build for this target ("./configure --target=r5"). You can later
switch back by re-running configure with the usual parameters. Or if you
don't trust this method create a separate output directory for the purpose:
mkdir generated-tracker
cd generated-tracker
../configure --target=r5
jam -q install-tracker
> How do you guys do iterative edititing and testing?
> I don't like waiting on jam. :P
If you use the StatCacheServer jam's Jamfile read and parse time shouldn't
be that bad (well about 8s on my old laptop after the first run). If you
want to build things faster use Linux. :-P
Alternatively replace the top Jamfile temporarily by one only including the
parts you're interested in (src/kits/tracker, src/apps/{deskbar,tracker}).
Maybe I should introduce a less invasive method to do this in the
UserBuildConfig file.
CU, Ingo
- References:
- [openbeos] Jam shortcuts?
- From: Jonas Sundström
Other related posts:
- » [openbeos] Jam shortcuts?
- » [openbeos] Re: Jam shortcuts?
- » [openbeos] Re: Jam shortcuts?
- [openbeos] Jam shortcuts?
- From: Jonas Sundström