+ $(top_builddir)/common/libbabeltrace-common.la \
+ $(top_builddir)/logging/libbabeltrace-logging.la \
+ $(POPT_LIBS)
+
+if ENABLE_BUILT_IN_PLUGINS
+# Takes a plugin name and outputs the needed LDFLAGS to embed it.
+#
+# The --whole-archive option is important here. From the GNU linker's
+# documentation:
+#
+# For each archive mentioned on the command line after the
+# --whole-archive option, include every object file in the archive in
+# the link, rather than searching the archive for the required object
+# files.
+#
+# In our case, we find the plugins thanks to special sections in the
+# binary that are filled by plugin objects. If the linker discards those
+# symbols because the CLI does not use them directly, the CLI reports
+# no plugins found (plugins are effectively not embedded).
+pluginarchive = $(LD_WHOLE_ARCHIVE)$(PLUGINS_PATH)/$(1)/.libs/babeltrace-plugin-$(1).a$(LD_NO_WHOLE_ARCHIVE)
+
+# Built-in plugins
+babeltrace_bin_LDFLAGS += $(call pluginarchive,ctf)
+babeltrace_bin_LDFLAGS += $(call pluginarchive,text)
+babeltrace_bin_LDFLAGS += $(call pluginarchive,utils)