Prepare for handling pkg state with files. So it requires having the
path defined before declaring targets. In addition, it cleans up the
old git-download target.
- oonf_api has not been updated in 6 years, it's stil at 0.3.0
from 2013.
- tests were never integrated into CI
- With NHDP the only upstream user of the package is deprecated.
- Downstream users would rather prefer a less vintage version of the libraray.
The OONF package is combining multiple ".a" file into a single archive. The
way it was being done involved creating and changing directories, unpacking
the original archives and repacking them into a combined one.
Theis has a couple of issues:
- It is untidy and wasteful.
- It breaks when thin archives are enabled, as a thin archive cannot be
unpacked.
This commit uses a MRI script to do the combining step. It works both with
and without thin archives and is cleaner overall.
An issue that remains to be soved is that make is calling itself to create the
archive, as the PARTIAL_ARCHIVES are not known before hand. This is hacky. It
can be solved but it is a subject for another PR.
Currently, the tcp and udp implementations are bound to each other in a
module called *destiny*. Thus, when using only one of them then the
other one gets also compiled into the binary and initialized,
which results in unnecessary RAM usage and workload for the CPU.
The approach in this PR defines a common module named *socket_base*,
which contains functions used by the posix layer. Compiled by it's own,
those functions return negative error codes, to symbolize upper layers
that they are not supported. When also including the modules *udp* or
*tcp* respectively, functions from *socket_base* get overwritten with the
correct functionality.
Defining *udp* or *tcp* in a Makefile also includes *socket_base*.
Defining *pnet* in a Makefile also includes *socket_base*.