FreeCalypso > hg > gsm-codec-lib
annotate INSTALL @ 497:a1599eaf51f9
top Makefile: add libgsmhr1
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Tue, 18 Jun 2024 23:57:26 +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: 
209diff
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: 
209diff
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: 
209diff
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: 
209diff
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: 
209diff
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: 
209diff
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: 
209diff
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: 
209diff
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: 
209diff
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: 
209diff
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: 
209diff
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: 
209diff
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: 
209diff
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: 
209diff
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: 
209diff
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: 
209diff
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: 
209diff
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: 
209diff
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: 
209diff
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: 
454diff
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: 
454diff
changeset | 39 you get standard 'make install' that installs everything into whichever | 
| 
a53225b44ea5
further refinement of build system:
 Mychaela Falconia <falcon@freecalypso.org> parents: 
454diff
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: 
454diff
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: 
454diff
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: 
454diff
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: 
454diff
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: 
454diff
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: 
454diff
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: 
454diff
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: 
454diff
changeset | 49 --prefix, our configure script accepts --exec-prefix, --bindir, --includedir | 
| 
a53225b44ea5
further refinement of build system:
 Mychaela Falconia <falcon@freecalypso.org> parents: 
454diff
changeset | 50 and --libdir options, following the common standard. | 
| 
a53225b44ea5
further refinement of build system:
 Mychaela Falconia <falcon@freecalypso.org> parents: 
454diff
changeset | 51 | 
| 
a53225b44ea5
further refinement of build system:
 Mychaela Falconia <falcon@freecalypso.org> parents: 
454diff
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: 
454diff
changeset | 53 pass CC=my-whatever-cc and/or CFLAGS="-fwhatever-flags" to configure. | 
