annotate INSTALL @ 456:4c458145e793

PACKAGING: new guidelines
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 10 May 2024 07:35:36 +0000
parents 4b6fa53a8240
children a53225b44ea5
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
454
4b6fa53a8240 INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents: 209
diff changeset
38 * There are no more install-lib and install-utils targets, just regular
4b6fa53a8240 INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents: 209
diff changeset
39 'make install' that installs everything into whichever prefix you chose at
4b6fa53a8240 INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents: 209
diff changeset
40 configure time.
208
13d27ff5b5df add documents for release
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41
454
4b6fa53a8240 INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents: 209
diff changeset
42 The default install prefix is /opt/themwi; to change it, pass the standard
4b6fa53a8240 INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents: 209
diff changeset
43 --prefix=/wherever option to ./configure script. The default compilation
4b6fa53a8240 INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents: 209
diff changeset
44 settings are CC=gcc and CFLAGS=-O2; to change them, pass CC=my-whatever-cc
4b6fa53a8240 INSTALL: document the new way
Mychaela Falconia <falcon@freecalypso.org>
parents: 209
diff changeset
45 and/or CFLAGS="-fwhatever-flags" to configure.