Cleanup: DIST_SUBDIRS is redundant when using AM conditionals From automake's documentation[1] : If SUBDIRS is defined conditionally using Automake conditionals, Automake will define DIST_SUBDIRS automatically from the possible values of SUBDIRS in all conditions. [1] https://www.gnu.org/software/automake/manual/html_node/SUBDIRS-vs-DIST_005fSUBDIRS.html Change-Id: I8495f1f4452ccde4920ecd63bfd37de4eb10c281 Signed-off-by: Michael Jeanson <mjeanson@efficios.com> Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Move to kernel style SPDX license identifiers The SPDX identifier is a legally binding shorthand, which can be used instead of the full boiler plate text. See https://spdx.org/ids-how for details. Signed-off-by: Michael Jeanson <mjeanson@efficios.com> Change-Id: I62e7038e191a061286abcef5550b58f5ee67149d Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Select which binaries/extras to build at configure time Introduce new flags to the configure script to select what to build: * By default everything is built * --disable-bin-lttng Do not build anything under src/bin/lttng. --disable-bin-lttng-consumerd Do not build anything under src/bin/lttng-consumerd. --disable-bin-lttng-crash Do not build anything under src/bin/lttng-crash. --disable-bin-lttng-relayd Do not build anything under src/bin/lttng-relayd. --disable-bin-lttng-sessiond Do not build anything under src/bin/lttng-sessiond. --disable-extras Do not build anything under extras. Only the necessary libs (from src/lib and src/common) are built. libcommon and libconfig are always built since they are used by every target. If any lttng-* binaries are disabled, 'tests' will not be built. On ./configure a warning is shown to the user. Also 'make check' and 'make checkinstall' only return a warning when 'tests' are not built. Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com> Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Initial import of the new binary lttng-relayd The lttng-relayd listens on the network and receives traces streamed by the consumer. At this first commit, the relayd supports IPv4 and IPv6 over TCP. The following commits will add the support to use it with the lttng command line interface, control library, consumer and session daemon. Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com> Signed-off-by: David Goulet <dgoulet@efficios.com>
Complete change of the source directory tree For the sake of clearness and awesomeness :P, this change was needed for better semantic across the code and better organization of source files. src/ --> Contains source files of the project bin/ --> Contains every binaries this git tree builds (lttng, lttng-sessiond and lttng-consumerd). lib/ --> Contains exported libraries (lttng-ctl). common/ --> Contains shared code for the entire project. (internal libraries mostly) Every internal headers are moved from include/ to src/common. The include directory only contains exported public headers now (lttng/lttng.h). The -I$(top_srcdir)/src is also added for all Makefiles. The consumerd APIs are not exported anymore. The reason is that the consumer will get completely re-engineered in the next months. It's our safety net for the APIs breakage of the coming year concerning the consumerd library. Renaming is done also on some internal libraries to follow the naming convention. The public library liblttngctl is renamed to liblttng-ctl making it linkable now with "-llttng-ctl" deprecating the old "-llttngctl". No code is changed with this commit except #include statements added/removed/renamed. This is why there is yet files and internal API calls that does not follow the naming convention (Ex: lttngerr.h, lttng-share.h in src/common). Signed-off-by: David Goulet <dgoulet@efficios.com>