Fix: libbabeltrace lib build dependencies

The "no-as-needed" is only needed for plugins, not for libraries we
depend upon, so it is not really needed here. Using LIBADD instead
ensures that libbabeltrace gets rebuilt whenever the content of
libbabeltrace_types (statically linked) is modified.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: check for unknown enum/variant fields

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Let the reading side detect inactive streams

In live streaming, there are cases where a stream will be inactive from
beginning to end and so will never call bt_iter_next. For those cases,
we have to detect when we are reading an inactive stream which happens
when all other active streams has been closed.

We don't want to have the same checks at two places, so this fix remove
the return of EAGAIN in bt_iter_next and instead sets the parent of an
event to NULL when we try to read an empty stream.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
lttng-live input plugin

This new input format allows Babeltrace to connect a lttng-relayd and
attach to a running live session.

In order to use it, you need to create a live session (refer to LTTng
documentation for that) and then :
babeltrace -i lttng-live net://hostname

Where hostname is the hostname or IP address of the lttng-relayd
receiving the live trace.

When you do this command, it will list the active sessions on the relay.
To attach to a particular session, redo the same command, but add after
the hostname the session ID of the session you want to read.
For example, to attach to the session 42 :
babeltrace -i lttng-live net://hostname/42

If you want to know what is going on in the background, you can add the
-v for a verbose output.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>