comparison INSTALL @ 52:0fec41a10131

INSTALL article written
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 21 Mar 2021 19:38:27 +0000
parents
children
comparison
equal deleted inserted replaced
51:0299c16f2ab1 52:0fec41a10131
1 Installation location
2 =====================
3
4 The present FC SIM tools package is part of the greater FreeCalypso software
5 family, therefore, these tools are designed to be installed in the
6 /opt/freecalypso directory hierarchy on your system. Changing this install
7 location is NOT ALLOWED: if you try to change it, you will break things, and I,
8 the author of this software, will not provide any help or support whatsoever to
9 anyone who seeks to change our fixed installation location.
10
11 Building and installing FC SIM tools
12 ====================================
13
14 In order to compile and install our tools, follow these steps:
15
16 1: Run 'make' as a regular user (not root) to compile the software.
17
18 2: Decide if you prefer to have the /opt/freecalypso directory and everything
19 under it to be owned by root or by your non-root uid.
20
21 If you prefer /opt/freecalypso to be root-owned:
22
23 3A: Run 'make install' as root; the install rule in the
24 Makefile will do mkdir -p /opt/freecalypso as its first step.
25
26 4A: You are done!
27
28 If you prefer /opt/freecalypso to be owned by your "regular" non-root uid:
29
30 3B: Become root just to create the /opt/freecalypso directory and chown it
31 to your non-root uid.
32
33 4B: Run 'make install' as your regular uid; it should succeed because you
34 should have made yourself the owner of /opt/freecalypso with full write
35 permission in the previous step.
36
37 5B: You are done!
38
39 fc-simtool and other binaries will be installed in /opt/freecalypso/bin; you
40 can either add this directory to your PATH or make symlinks from /usr/bin or
41 /usr/local/bin or wherever.
42
43 Including or excluding pcsc back end
44 ====================================
45
46 The main body of software in the present package (fc-simtool, fc-uicc-tool and
47 all accessory programs except pcsc-specific ones) has zero compile-time
48 dependencies, needing only a working C compiler, standard system header files
49 under /usr/include, and libc. However, one of the 3 card access back ends
50 supported by our tools is pcsc, and that back end requires libpcsclite and its
51 header files in order to compile.
52
53 You can include or exclude this pcsc back end depending on your needs. If you
54 wish to use a professional card reading/programming station like HID Omnikey
55 3121 or its pocket sibling Omnikey 6121 (both of which are USB CCIDs), then you
56 will need to go through the pain of getting pcsc-lite up and running on your
57 system, including a working installation of libpcsclite and its header files -
58 going through this pcsc-lite software stack is the only way to operate these
59 USB CCIDs. OTOH, if you are going to be a more casual (not professional) user
60 of FC SIM tools, only needing to occasionally poke at a SIM card inside your
61 Calypso phone or perhaps in a serial SIM reader, without ever using professional
62 card readers of the type that require pcsc-lite, then you can simply exclude the
63 part of our software suite that needs pcsc-lite (the pcsc back end), and enjoy
64 traditional FreeCalypso software with zero compile-time dependencies.
65
66 To exclude pcsc from your build, change the standard 'make' and 'make install'
67 commands as follows:
68
69 make PCSC=
70 make PCSC= install
71
72 CC= and CFLAGS= selection
73 =========================
74
75 Our Makefile hierarchy is set up to build with CC=gcc and CFLAGS=-O2 by default.
76 If you need to change either or both of these selections, you can do it by
77 adding CC= and/or CFLAGS= on the make invokation line, for example:
78
79 make CC=mygcc CFLAGS="-g -O2 -whatever-options"
80
81 Porting to systems other than Linux
82 ===================================
83
84 Most of the present software is written to be generic to any Unix, but the
85 Mother currently uses only Linux, thus no other systems have been tested. One
86 component that is known to be Linux-specific is the serial SIM reader back end,
87 which is written to work with arbitrary UART baud rates and not just RS-232
88 standard ones like 9600 bps - see doc/Serial-SIM-readers for the details.
89
90 Staged installs
91 ===============
92
93 As already explained above, our FC SIM tools need to be installed under
94 /opt/freecalypso on your system in order to function correctly, and this runtime
95 location is not changeable. However, some users have requested an ability to
96 do a staged install: have the 'make install' operation install the finished
97 tree of files in some staging location, with the expectation that it will be
98 subsequently moved to /opt/freecalypso by some other mechanism. One use case
99 that has been presented to us was automated building of binary distribution
100 packages on a build host where writing to /opt/freecalypso is not allowed.
101
102 If you need to make a staged install of this sort, you can do it like this:
103
104 make install INSTALL_PREFIX=/home/me/my-fc-staging-area
105
106 Please note that this INSTALL_PREFIX= scheme changes *only* the location where
107 'make install' will deposit the installable files; it does NOT change the
108 location where our programs will look for other programs and helper files: the
109 latter location is hard-coded as /opt/freecalypso is bazillion places throughout
110 our code base.