contiki-os/contiki — pull request #864 by simonduq (2014-11-12 15:29:49+00:00)
Title: Cleanup network config

This pull requests proposes a general cleanup of the network layer configuration:
* Homogenize config parameters: now using `CONTIKI_WITH_IPV6`, `CONTIKI_WITH_IPV4`, `CONTIKI_WITH_RIME` in makefiles, and `UIP_CONF_IPV6`, `UIP_CONF_IPV4` and `UIP_CONF_RIME` in c code. No more `UIP_CONF_*` in makefiles. No more `WITH_UIP` nor `WITH_UIP6` anywhere. IPv6 the new default.
* Modularize compilation of the network layer: the modules `net/ip`, `net/ipv6`, `net/ipv4`, `net/rime` are now included in the compilation process only if used.
* Cleanup IPv6 and RPL code: the c files in these modules don't need to have their entire content be conditionally compiled with `UIP_CONF_IPV6` anymore.

As a bonus, one can for instance disable packetbuf attributes and addresses depending on the current configuration (e.g. when IPv6 is used, Rime attributes can now be elided as rime won't be compiled at all). This commit https://github.com/simonduq/contiki/commit/f54e13099dfead536c99bcdda426f8eec5d8553c (not part of this PR, but will come next if this gets merged) saves 32 bytes of RAM per queuebuf for non-Rime systems.