mirror of
https://github.com/servalproject/serval-dna.git
synced 2025-01-30 16:13:51 +00:00
Move information from BUILD.txt into INSTALL.md
Also remove out of date TODO file, no longer relevant.
This commit is contained in:
parent
7cae7f5324
commit
a1cc415a4f
18
BUILD.txt
18
BUILD.txt
@ -1,18 +0,0 @@
|
|||||||
The test call application requires the following packages
|
|
||||||
- Port audio - http://www.portaudio.com
|
|
||||||
- Secret Rabbit Code - http://www.mega-nerd.com/SRC/
|
|
||||||
- SpanDSP - http://www.soft-switch.org/
|
|
||||||
- Codec2 - http://www.rowetel.com/blog/?page_id=452
|
|
||||||
(svn co https://freetel.svn.sourceforge.net/svnroot/freetel/codec2 codec2)
|
|
||||||
|
|
||||||
The test call application can be disabled by adding --disable-voiptest to the
|
|
||||||
configure line.
|
|
||||||
|
|
||||||
To build run the following commands..
|
|
||||||
|
|
||||||
autoreconf -f
|
|
||||||
# May be called libtoolize
|
|
||||||
glibtoolize -i
|
|
||||||
./configure
|
|
||||||
make
|
|
||||||
|
|
60
INSTALL.md
60
INSTALL.md
@ -4,7 +4,9 @@ Serval DNA Build and Test
|
|||||||
To build
|
To build
|
||||||
--------
|
--------
|
||||||
|
|
||||||
autoconf
|
Run the following commands:
|
||||||
|
|
||||||
|
autoreconf -f -i
|
||||||
./configure
|
./configure
|
||||||
make
|
make
|
||||||
|
|
||||||
@ -19,9 +21,33 @@ The Serval DNA code successfully builds for the following platforms:
|
|||||||
* Mac OS X 10.7 “Lion”, x86\_64, [gcc 4.2][] available in [Xcode 4][] 3.2.6
|
* Mac OS X 10.7 “Lion”, x86\_64, [gcc 4.2][] available in [Xcode 4][] 3.2.6
|
||||||
* Oracle SunOs 5.10 (Solaris), Sparc, [gcc 4.4][]
|
* Oracle SunOs 5.10 (Solaris), Sparc, [gcc 4.4][]
|
||||||
|
|
||||||
Built artefacts
|
Dependencies
|
||||||
|
------------
|
||||||
|
|
||||||
|
The dependencies for build are expressed in [configure.in](./configure.in).
|
||||||
|
Most mandatory dependencies are present by default in a conventional Linux
|
||||||
|
development environment.
|
||||||
|
|
||||||
|
Mandatory dependencies:
|
||||||
|
|
||||||
|
* standard C library `libc` and standard headers
|
||||||
|
* standard math library `libm` and headers `<math.h>` `<float.h>`
|
||||||
|
* network services library `libnsl` and headers
|
||||||
|
* socket library `libsocket` and headers
|
||||||
|
* dynamic link library `libdl` and header `<dlfcn.h>`
|
||||||
|
* Native Posix Threads Library `libpthread` and header `<pthread.h>`
|
||||||
|
* on Solaris, the realtime library `librt` (for the `nanosleep()` function)
|
||||||
|
|
||||||
|
Optional:
|
||||||
|
|
||||||
|
* Java compiler and SDK (mandatory for Android's **libservald.so**)
|
||||||
|
* ALSA sound library and headers (only present on Linux not Android)
|
||||||
|
|
||||||
|
Built artifacts
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
The build process produces the following artifacts:
|
||||||
|
|
||||||
* **servald** is the main executable.
|
* **servald** is the main executable.
|
||||||
|
|
||||||
* **libservald.so** is a shared library built only for Android, which is linked
|
* **libservald.so** is a shared library built only for Android, which is linked
|
||||||
@ -36,8 +62,33 @@ Built artefacts
|
|||||||
entry points to functions for managing the client end of a monitor connection
|
entry points to functions for managing the client end of a monitor connection
|
||||||
with the servald daemon.
|
with the servald daemon.
|
||||||
|
|
||||||
Testing
|
Voice call test
|
||||||
-------
|
---------------
|
||||||
|
|
||||||
|
If the following packages are present then `./configure` will set the
|
||||||
|
`HAVE_VOIPTEST` macro and build **servald** with its `phone` command available
|
||||||
|
for performing voice call testing:
|
||||||
|
|
||||||
|
* [Port audio](http://www.portaudio.com)
|
||||||
|
* [Secret Rabbit Code](http://www.mega-nerd.com/SRC/) (a.k.a. Sample Rate
|
||||||
|
Convert) by Erik de Castor Lopo
|
||||||
|
* [SpanDSP](http://www.soft-switch.org/) by Steve Underwood
|
||||||
|
* [Codec2](http://www.rowetel.com/blog/?page_id=452) by Dave Rowe of Rowetel
|
||||||
|
|
||||||
|
The Codec2 source code can be fetched using [Subversion][]:
|
||||||
|
|
||||||
|
svn checkout https://freetel.svn.sourceforge.net/svnroot/freetel/codec2 codec2
|
||||||
|
|
||||||
|
The following options can be used to control the `HAVE_VOIPTEST` macro:
|
||||||
|
|
||||||
|
* `./configure --enable-voiptest` will set `HAVE_VOIPTEST` and fail if the
|
||||||
|
necessary packages are not present
|
||||||
|
|
||||||
|
* `./configure --disable-voiptest` will unset `HAVE_VOIPTEST` and will not
|
||||||
|
check for presence of the above packages
|
||||||
|
|
||||||
|
Test scripts
|
||||||
|
------------
|
||||||
|
|
||||||
The scripts in the [tests](./tests/) directory require [Bash][] version 3.2.48
|
The scripts in the [tests](./tests/) directory require [Bash][] version 3.2.48
|
||||||
or later. To run the tests, build the `servald` executable natively using [GNU
|
or later. To run the tests, build the `servald` executable natively using [GNU
|
||||||
@ -74,3 +125,4 @@ directory.
|
|||||||
[JNI]: http://en.wikipedia.org/wiki/Java_Native_Interface
|
[JNI]: http://en.wikipedia.org/wiki/Java_Native_Interface
|
||||||
[Bash]: http://en.wikipedia.org/wiki/Bash_(Unix_shell)
|
[Bash]: http://en.wikipedia.org/wiki/Bash_(Unix_shell)
|
||||||
[GNU make]: http://www.gnu.org/software/make/
|
[GNU make]: http://www.gnu.org/software/make/
|
||||||
|
[Subversion]: http://subversion.apache.org/
|
||||||
|
38
TODO
38
TODO
@ -1,38 +0,0 @@
|
|||||||
Pending:
|
|
||||||
|
|
||||||
- Parallelise large-value reads and writes
|
|
||||||
- Fix out-of-order problem for writing large values to stdout (file is fine)
|
|
||||||
- Non-mmap() mode for Mesh Potato and JFFS
|
|
||||||
- Return early if all peers have responded (what about broadcast address virtual-peers?)
|
|
||||||
- Activation flag in HLR records so that create without further action does not make a completed record.
|
|
||||||
- async mode: fork()/background after first response with file output (for pipelining with MP IVRs)
|
|
||||||
- async mode: work with broadcast requests
|
|
||||||
- async mode: work with instance=-1 requests
|
|
||||||
- SID based Peer targeting, e.g., for writeItem
|
|
||||||
- cache peer:SID mappings to allow later unicasting
|
|
||||||
- consider NACK for peers with no results to return
|
|
||||||
|
|
||||||
Done:
|
|
||||||
20100623 - testdna script now uses /bin/sh instead of /bin/csh facilitating testing on more embedded targets
|
|
||||||
20100623 - Retries for requests (already deals with SET, including multi-packet SET?)
|
|
||||||
20100623 - Multi-packet GET retry policy (okay, it is as bad as TFTP with retries, but that is probably okay for now,
|
|
||||||
at least we have the potential to pipe-line)
|
|
||||||
20100623 - Multi-packet set doesn't send multiple packets (ok to confirm each in turn)
|
|
||||||
20100623 - Output to file confirmed functional
|
|
||||||
20100623 - BATMAN peer list retrieval
|
|
||||||
20100623 - excluding previous responders from re-broadcast requests
|
|
||||||
20100611 - Added code for template based file output when reading variables
|
|
||||||
20100611 - Added code to allow user specified peers
|
|
||||||
20100601 - Space retries properly in time, and allow multiple recvfroms() per retry.
|
|
||||||
20100601 - Do not request results from peers that have already responsed.
|
|
||||||
20100601 - Ensure broadcasts do not result in duplicate identical results
|
|
||||||
20100601 - broadcast get: compulsory retry regime
|
|
||||||
20100531 - Simulated packet loss / BER for server for testing.
|
|
||||||
20100531 - "response set" structure for efficient chaining of responses, as well as making it easier to manage retries
|
|
||||||
20100529 - SET working (replace and noreplace modes)
|
|
||||||
20100529 - Get rid of unnecessary timeouts
|
|
||||||
20100529 - Regression test script
|
|
||||||
20100529 - Batch-mode responses (for instance=-1)
|
|
||||||
20100529 - Multi-instance requests now working (and with no unnecessary delays)
|
|
||||||
20100529 - Search by SID now works
|
|
||||||
20100529 - Reading all instances of a variable by SID without timeout, but actually reading them all
|
|
Loading…
x
Reference in New Issue
Block a user