FreeCalypso > hg > gsm-codec-lib
annotate INSTALL @ 483:4f13db3a7086
doc/Utils-overview: document new utilities
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 20 May 2024 01:26:12 +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. |