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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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.