1This file is for those who want s to hask the cutting-edge Sagittarius
2sources from  the Mercurial  repository. If you  just want  to compile
3from the distribution, you don't need to read any further.
4
5# How to check out from the repository
6
7This  section  is  for  those  who are  not  fimiliar  with  Mercurial
8commands.   As  a  preconditions,   Mercurial  is  installed  on  your
9environment.
10
11## Basic commands for Mercurial
12
13### Clone
14
15    % hg clone https://code.google.com/p/sagittarius-scheme sagittarius
16
17The last `sagittarius` is destination directory name.
18
19### Update
20
21Following command switches between branches.
22
23    % hg update ${branch name}
24
25If you don't specify any branch name, then current branch will be used.
26
27Note: `default` branch is git's `master`.
28
29### Commit
30
31    % hg commit -m 'comment' -u ${user name}
32
33# How to build HEAD code
34
35To  build  HEAD code,  you  need  the  latest release  of  Sagittarius
36Scheme. So first please install it.
37
38## Provided developer tool
39
40We  provide `dist.sh`  for developer  and it  generates boot  code, VM
41instructions and generated code from stub file.
42
43## Generate code
44
45To generate code you need to execute following commands;
46
47    % ./dist.sh stub
48    % ./dist.sh precomp
49    % ./dist.sh srfi
50    % ./dist.sh tz
51    % ./dist.sh unicode
52
53Or this command does the same;
54
55    % ./dist.sh gen
56
57These  commands generate  C files  from  stub files  and Scheme  files
58respectively.  This must be run *before* CMake command otherwise CMake
59process will fail.
60
61If  you set  the path  to  Sagittarius executable  to the  environment
62variable `SASH` with, then `dist.sh` will use that executable file.
63
64    % env SASH=/opt/bin/sagittarius ./dist.sh gen
65
66To clean the generated code, you need to execute following command;
67
68    % ./dist.sh clean
69
70### Using local TZ database and Unicode files
71
72If you want  to use local TZ  database file or Unicode  files, you can
73locate   the  following   files  into   `tzdata`  and   `unicode/data`
74directories respectively. If there is  no such directory yet, then you
75can create them manually.
76
77#### For TZ database
78
79- tzdata-latest.tar.gz [Download](ftp://iana.org/tz/tzdata-latest.tar.gz)
80- windowsZones.xml [Download](http://unicode.org/repos/cldr/trunk/common/supplemental/windowsZones.xml)
81
82NOTE: all  of above files are  removed when `./dist.sh tz`  command is
83executed. If  you want to reuse  them, make sure you  copy them before
84you run the command.
85
86#### Unicode files
87
88- CaseFolding.txt
89- CompositionExclusions.txt
90- DerivedCoreProperties.txt
91- GraphemeBreakProperty.txt
92- PropList.txt
93- SpecialCasing.txt
94- UnicodeData.txt
95- WordBreakProperty.txt
96
97Above  Unicode files  can be  downloaded  from the  Unicode FTP  site:
98[ftp.unicode.org](ftp://ftp.unicode.org/Public/8.0.0/).     Currently,
99Sagittarius  uses  version  8.0.0,  if you  want  to  use  newer/older
100version,  you can  also  use  them. (May  break  some  of test  cases,
101especially if you use unicode version older than 6.3.0)
102
103<!-- end of file
104Local Variables:
105mode: markdown
106fill-column: 70
107End:
108-->
109