comparison doc/Compiling @ 56:4213cf6536fa

doc/Compiling: update for the move to /opt/freecalypso
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 26 Oct 2016 07:35:42 +0000
parents aa20bdae9e53
children
comparison
equal deleted inserted replaced
55:fb95b0493eca 56:4213cf6536fa
1 Building and installing FreeCalypso host tools 1 Building and installing FreeCalypso host tools
2 ============================================== 2 ==============================================
3 3
4 In order to compile and install our host tools, just run 'make', then 4 Our FreeCalypso host tools are designed to be installed in the /opt/freecalypso
5 'make install' as root. 5 directory hierarchy on your system. The author of this software is very
6 old-fashioned and refuses to use autotools (sorry, we aren't GNU), hence
7 various hard-coded paths under /opt/freecalypso are sprinkled in bazillion
8 places - thus changing this fixed install location is deemed to be impractical.
6 9
7 The "standard" install directories are /usr/local/bin for binaries and 10 In order to compile and install our host tools, follow these steps:
8 /usr/local/share/freecalypso for helper files. If you need to change these 11
9 paths to something else, you'll need to edit a bunch of individual component 12 1: Run 'make' as a regular user (not root) to compile the software.
10 Makefiles, and possibly also some source files like loadtools/defpath.c - 13
11 sorry, FreeCalypso is not GNU and does not use autotools. 14 2: Decide if you prefer to have the /opt/freecalypso directory and everything
15 under it to be owned by root or by your non-root uid.
16
17 If you prefer /opt/freecalypso to be root-owned:
18
19 3A: Run 'make install' as root; the install rule in the
20 Makefile will do mkdir -p /opt/freecalypso as its first step.
21
22 4A: You are done!
23
24 If you prefer /opt/freecalypso to be owned by your "regular" non-root uid:
25
26 3A: Become root just to create the /opt/freecalypso directory and chown it
27 to your non-root uid.
28
29 4A: Run 'make install' as your regular uid; it should succeed because you
30 should have made yourself the owner of /opt/freecalypso with full write
31 permission in the previous step.
32
33 5A: You are done!
34
35 The host tool binaries will be installed in /opt/freecalypso/bin; you can
36 either add this directory to your PATH or make symlinks from /usr/bin or
37 /usr/local/bin or wherever.
38
39 Dependencies
40 ============
12 41
13 All FreeCalypso host tools are written in plain C, and with the exception of one 42 All FreeCalypso host tools are written in plain C, and with the exception of one
14 special hack-utility that has been excluded from the standard build set, they 43 special hack-utility that has been excluded from the standard build set, they
15 have absolutely no library dependencies beyond libc. In other words, they are 44 have absolutely no library dependencies beyond libc. In other words, they are
16 very friendly to those who like bare bones minimalist systems. The only 45 very friendly to those who like bare bones minimalist systems. The only
55 84
56 Compiling target-utils 85 Compiling target-utils
57 ====================== 86 ======================
58 87
59 Running 'make' in the target-utils tree with the ARM7 toolchain present in your 88 Running 'make' in the target-utils tree with the ARM7 toolchain present in your
60 PATH will result in compalstage and loadagent being built; these are the two 89 PATH will result in several target binaries being built, including compalstage
61 components needed in order to use FreeCalypso loadtools. Run 'make install' to 90 and loadagent which are needed in order to use FreeCalypso loadtools. Run
62 install these target binaries in /usr/local/share/freecalypso, which is where 91 'make install' to install these target binaries in /opt/freecalypso/target-bin,
63 loadtools will look for them. 92 which is where loadtools will look for them.
64 93
65 Run 'make all' in target-utils to build some other components that aren't 94 Run 'make all' in target-utils to build some additional target code pieces that
66 really needed. 95 are needed only for development and only very rarely.