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