FreeCalypso > hg > gsm-codec-lib
comparison INSTALL @ 208:13d27ff5b5df
add documents for release
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 18 Feb 2023 23:24:54 +0000 |
parents | |
children | 34f8549ff0b1 |
comparison
equal
deleted
inserted
replaced
207:10f11a2d4042 | 208:13d27ff5b5df |
---|---|
1 Dependency graph | |
2 ================ | |
3 | |
4 The complete Themyscira GSM codec libraries & utilities package as presented | |
5 here consists of two principal parts: | |
6 | |
7 Division 1: libgsmefr and libgsmfrp, the two C code libraries intended to be | |
8 usable by other software; | |
9 | |
10 Division 2: various command line utilities that were developed under the | |
11 umbrella of this project and are being released accordingly. | |
12 | |
13 Division 2 components have a compile-time dependency on Division 1 (some of | |
14 these Division 2 command line utilities link with libgsmefr or libgsmfrp), but | |
15 not the other way around: neither libgsmefr nor libgsmfrp has any dependency on | |
16 any other part of this package. | |
17 | |
18 However, the original GSM 06.10 library (libgsm) from 1990s is a required | |
19 dependency for several components of the present Themyscira package: libgsmfrp | |
20 and several Division 2 command line utilities have a compile-time dependency on | |
21 <gsm.h> header file provided by libgsm, and several Division 2 utilities also | |
22 have a link dependency on libgsm itself. Therefore, libgsm should be considered | |
23 a hard dependency for the present GSM codec libraries & utilities package as a | |
24 whole, and it needs to be installed system-wide prior to compiling the present | |
25 software. | |
26 | |
27 Compiling and installing Themyscira libraries and utilities | |
28 =========================================================== | |
29 | |
30 Running 'make' at the top level of the present gsm-codec-lib package will | |
31 compile both Division 1 and Division 2 software components (both libraries and | |
32 utilities), with the top level Makefile codifying the dependency graph among | |
33 them. Installation, however, is a little more complicated in that there is no | |
34 single 'make install' target at the top level - instead of a single install | |
35 target, the top Makefile provides two separate installation targets: | |
36 | |
37 make install-lib Install libgsmefr and libgsmfrp system-wide: | |
38 gsm_efr.h and gsm_fr_preproc.h are installed in | |
39 /usr/local/include; libgsmefr.a and libgsmfrp.a are | |
40 installed in /usr/local/lib. Superuser privileges | |
41 are usually required to write to these directories. | |
42 | |
43 make install-utils Install Division 2 command line utilities into | |
44 /opt/freecalypso/bin directory, which is non-standard | |
45 in the muggle world but has been established in our | |
46 Themyscira community as the location for Themyscira- | |
47 developed command line utilities working with GSM. | |
48 | |
49 The just-described separation between install-lib and install-utils targets has | |
50 been created because of the difference in install paths: libraries and their | |
51 header files that need to be easily findable and usable by other people's | |
52 unrelated software need to be installed under /usr/local, requiring su to root | |
53 before each install cycle, whereas /opt/freecalypso/bin (writable without root | |
54 privileges on the Mother's development machine) is much more convenient for | |
55 Division 2 command line utilities. | |
56 | |
57 However, the present gsm-codec-lib package differs from FreeCalypso host tools | |
58 and SIM tools packages in that in the present package, you ARE allowed to freely | |
59 change these installation directories to fit your own preferences. FC host | |
60 tools and FC SIM tools packages carry very strong admonitions in their INSTALL | |
61 documents to the effect that they MUST be installed under /opt/freecalypso and | |
62 that this path cannot be changed; this strict imposition is made because of | |
63 strong intercomponent dependencies within those software suites, with different | |
64 components invoking each other or looking for their support files using hard- | |
65 coded absolute pathnames. But the present gsm-codec-lib package is different: | |
66 you are free to move our Division 2 command line utilities from | |
67 /opt/freecalypso/bin to /usr/local/bin or anywhere else you like, and you are | |
68 likewise free to move our Division 1 libraries from /usr/local/{include,lib} to | |
69 whatever location would be most appropriate in your environment. | |
70 | |
71 To change installation directories, you will need to edit subdirectory Makefiles | |
72 as follows: | |
73 | |
74 Division 1: | |
75 | |
76 libgsmefr/Makefile | |
77 libgsmfrp/Makefile | |
78 | |
79 Division 2: | |
80 | |
81 amrconv/Makefile | |
82 efrtest/Makefile | |
83 frtest/Makefile | |
84 miscutil/Makefile | |
85 pcap/Makefile | |
86 | |
87 pcap subdirectory and libpcap dependency | |
88 ======================================== | |
89 | |
90 The present package includes (as part of Division 2) a set of command line | |
91 utilities for analyzing RTP streams that have been captured with tcpdump or | |
92 equivalent tools in pcap format. These utilities, described in the | |
93 doc/RTP-analysis article, are built in the pcap subdirectory and naturally | |
94 depend on libpcap. If your system lacks libpcap and you don't need these RTP | |
95 analysis utilities, you can edit the top level Makefile and remove pcap from | |
96 the list in SUBDIR_UTILS. |