FreeCalypso > hg > gsm-codec-lib
annotate INSTALL @ 541:23656d874524
libgsmefr: add const words with struct sizes
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sat, 28 Sep 2024 06:00:34 +0000 | 
| parents | a53225b44ea5 | 
| children | 
| rev | line source | 
|---|---|
| 
208
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 Dependency graph | 
| 
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 ================ | 
| 
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 | 
| 
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 The complete Themyscira GSM codec libraries & utilities package as presented | 
| 
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 here consists of two principal parts: | 
| 
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 | 
| 
454
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
7 Division 1: libgsmefr, libgsmfr2 and libtwamr, the set of C code libraries | 
| 
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
8 intended to be usable by other software; | 
| 
208
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 | 
| 
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 Division 2: various command line utilities that were developed under the | 
| 
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 umbrella of this project and are being released accordingly. | 
| 
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 | 
| 
454
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
13 Division 2 components have a compile-time dependency on Division 1 (most of | 
| 
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
14 these Division 2 command line utilities link with the libraries), but not the | 
| 
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
15 other way around: none of the core libraries have any dependency on any other | 
| 
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
16 part of this package, not even on each other. | 
| 
208
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 | 
| 
454
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
18 Previous versions of gsm-codec-lib suite had a dependency on libgsm, the | 
| 
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
19 original GSM 06.10 implementation library from 1990s, and our suite was | 
| 
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
20 originally architectured as extending and building on top of libgsm. However, | 
| 
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
21 this dependency has now been eliminated, and our new GSM codec libraries and | 
| 
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
22 utilities suite is now completely independent from historical libgsm. | 
| 
208
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 | 
| 
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 Compiling and installing Themyscira libraries and utilities | 
| 
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 =========================================================== | 
| 
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 | 
| 
454
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
27 The configuration and build process has been fully revamped since previous | 
| 
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
28 versions: | 
| 
208
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 | 
| 
454
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
30 * You now need to run ./configure before running 'make' - however, please note | 
| 
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
31 that our ./configure script is hand-coded, not Autotools/autohell, hence | 
| 
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
32 there is no autoreconf nonsense involved. | 
| 
208
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 | 
| 
454
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
34 * When you run ./configure, you get the opportunity to either leave CC=, CFLAGS= | 
| 
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
35 and the install prefix at their default values, or change them to your own | 
| 
 
4b6fa53a8240
INSTALL: document the new way
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
209 
diff
changeset
 | 
36 preferences. | 
| 
208
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 | 
| 
461
 
a53225b44ea5
further refinement of build system:
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
454 
diff
changeset
 | 
38 * There are no more mandatory install-lib and install-utils targets, instead | 
| 
 
a53225b44ea5
further refinement of build system:
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
454 
diff
changeset
 | 
39 you get standard 'make install' that installs everything into whichever | 
| 
 
a53225b44ea5
further refinement of build system:
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
454 
diff
changeset
 | 
40 prefix you chose at configure time. (The ability to install only Division 1 | 
| 
 
a53225b44ea5
further refinement of build system:
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
454 
diff
changeset
 | 
41 components with 'make install-lib' or only Division 2 components with | 
| 
 
a53225b44ea5
further refinement of build system:
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
454 
diff
changeset
 | 
42 'make install-utils' is still available, but it is now an experts-only | 
| 
 
a53225b44ea5
further refinement of build system:
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
454 
diff
changeset
 | 
43 option: if you don't see yourself needing this type of split install, then | 
| 
 
a53225b44ea5
further refinement of build system:
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
454 
diff
changeset
 | 
44 you don't need it.) | 
| 
208
 
13d27ff5b5df
add documents for release
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 | 
| 
461
 
a53225b44ea5
further refinement of build system:
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
454 
diff
changeset
 | 
46 The default install prefix is /usr/local, following the general standard for | 
| 
 
a53225b44ea5
further refinement of build system:
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
454 
diff
changeset
 | 
47 software packages and configure scripts. To change this install location, pass | 
| 
 
a53225b44ea5
further refinement of build system:
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
454 
diff
changeset
 | 
48 the standard --prefix=/wherever option to ./configure script. In addition to | 
| 
 
a53225b44ea5
further refinement of build system:
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
454 
diff
changeset
 | 
49 --prefix, our configure script accepts --exec-prefix, --bindir, --includedir | 
| 
 
a53225b44ea5
further refinement of build system:
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
454 
diff
changeset
 | 
50 and --libdir options, following the common standard. | 
| 
 
a53225b44ea5
further refinement of build system:
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
454 
diff
changeset
 | 
51 | 
| 
 
a53225b44ea5
further refinement of build system:
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
454 
diff
changeset
 | 
52 The default compilation settings are CC=gcc and CFLAGS=-O2; to change them, | 
| 
 
a53225b44ea5
further refinement of build system:
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
454 
diff
changeset
 | 
53 pass CC=my-whatever-cc and/or CFLAGS="-fwhatever-flags" to configure. | 
