summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README102
1 files changed, 56 insertions, 46 deletions
diff --git a/README b/README
index e6ba9c07e..01f9cbd7b 100644
--- a/README
+++ b/README
@@ -6,10 +6,11 @@ ToC
* ToC
* What is GNUnet?
* Dependencies
- o direct dependencies
- o test suite dependencies
- o optional dependencies
- o autotools
+ o Build tools
+ o Dependencies of GNUnet
+ o Dependencies of optional components/functionality
+ o Test suite dependencies
+ o Recommended developer tools
* Notes on setuid
* Scope of Operating System support
* How to install
@@ -56,8 +57,20 @@ The dependencies for building GNUnet will require around 0.74 GiB
diskspace. GNUnet itself will require 8 - 9.2 MiB depending on
configuration.
-These are the direct dependencies for running GNUnet:
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Build tools for compiling GNUnet from source:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- gcc or clang
+- autoconf >= 2.59 (building from git)
+- automake >= 1.11.1 (building from git)
+- libtool >= 2.2
+- makeinfo >= 4.8
+- make[*3]
+- pkgconf or pkg-config
+- Texinfo >= 5.2 [*1]
+
+Direct dependencies of GNUnet:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Bash (for some scripts)
- gettext
@@ -71,35 +84,57 @@ These are the direct dependencies for running GNUnet:
- libgcrypt >= 1.6
- libunistring >= 0.9.2
- libidn:
- * libidn2 (prefered)
+ * libidn2 (preferred)
or
* libidn >= 1.0
- libmicrohttpd >= 0.9.63
- libjansson
-- makeinfo >= 4.8
-- make[*3]
- nss (certutil binary, for
gnunet-gns-proxy-setup-ca)
- openssl >= 1.0 (binary, used to generate
X.509 certificate
for gnunet-gns-proxy-setup-ca)
-- pkgconf or pkg-config
-- A Posix shell (for some scripts)
-- Texinfo >= 5.2 [*1]
- libltdl >= 2.2 (part of GNU libtool)
-- 1 or more databases:
- * sqlite >= 3.8 (default database, required)
- and/or
- * mysql >= 5.1 (alternative to sqlite)
- and/or
- * postgres >= 9.5 (alternative to sqlite)
+- sqlite >= 3.8 (default database, required)
- which (contrib/apparmor(?), gnunet-bugreport,
and possibly more)
- zlib
- libsodium >= 1.0.17 (for elliptic curve cryptography)
+- certtool (gnutls or openssl) (certtool binary (for convenient
+ installation of GNS proxy))
-These are the dependencies for GNUnet's testsuite:
+Dependencies of optional components/functionality:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+- Database plugins (alternatives to sqlite):
+ * mysql >= 5.1
+ * postgres >= 9.5
+- Transport plugins:
+ * bluez (bluetooth transport)
+- Conversation service:
+ * libopus >= 1.0.1
+ * libpulse >= 2.0
+ * libogg >= 1.3.0
+- File-sharing metadata (highly recommended[*5]):
+ * libextractor >= 0.6.1
+- NAT uPnP support:
+ * miniupnpc
+- gnunet-qr (Read/write GNUnet URIs from/to QR codes):
+ * libzbar >= 0.10
+- gnunet-bcd (GNS business card generator):
+ * TeX Live >= 2012 (for gnunet-bcd[*])
+- Documentation:
+ * TeX Live >= 2012 (for gnunet-bcd[*])
+ * texi2mdoc (for automatic mdoc generation [*2], not
+ the texi2mdoc script distributed with
+ autogen but the texi2mdoc C application)
+- Attribute-Based Encryption (experimental):
+ * libpbc >= 0.5.14
+ * libgabe
+
+
+
+Additional dependencies to run the GNUnet testsuite:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Bash (for some tests[*4])
- A Posix Shell (for some tests)
@@ -114,41 +149,16 @@ These are the dependencies for GNUnet's testsuite:
- which
-These are the optional dependencies:
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Recommended software for developer tools:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- awk (for linting tests)
- Bash (for Docker and Vagrant)
-- bluez (for bluetooth support)
- grof (for linting of man pages)
-- libextractor >= 0.6.1 (highly recommended[*5])
-- libopus >= 1.0.1 (for conversation tool)
-- libpulse >= 2.0 (for conversation tool)
-- libogg >= 1.3.0 (for conversation tool)
-- libnss (certtool binary (for convenient
- installation of GNS proxy))
-- libzbar >= 0.10 (for gnunet-qr)
-- libpbc >= 0.5.14 (for Attribute-Based Encryption and
- Identity Provider functionality)
-- libgabe (for Attribute-Based Encryption and
- Identity Provider functionality, from
- https://github.com/schanzen/libgabe)
- mandoc (for linting of man pages, generation of
html output of man pages (not part of
the regular build))
-- miniupnpc
- perl5 (for some utilities)
-- TeX Live >= 2012 (for gnunet-bcd[*])
-- texi2mdoc (for automatic mdoc generation [*2], not
- the texi2mdoc script distributed with
- autogen but the texi2mdoc C application)
-
-Recommended autotools for compiling the Git version are:
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-- autoconf >= 2.59
-- automake >= 1.11.1
-- libtool >= 2.2
[*] Mandatory for compiling the info output of the documentation,