"TRACEPOINT_DEFINE" and include the tracepoint provider.
- Use "-I." for the compilation unit containing the tracepoint
provider include (e.g. tp.c).
- - Link application with "-ldl" on Linux, with "-lc" on BSD.
+ - Link application with "-ldl".
- If building the provider directly into the application,
link the application with "-llttng-ust".
- If building a static library for the provider, link the static
- Include the tracepoint provider header into all C files using
the provider.
- Example:
- tests/hello/ hello.c tp.c ust_tests_hello.h Makefile.example.*
+ tests/hello/ hello.c tp.c ust_tests_hello.h Makefile.example
2) Compile the Tracepoint Provider separately from the application,
using dynamic linking:
files that use the provider.
- Compile the tracepoint provider with "-I.".
- Link the tracepoint provider with "-llttng-ust".
- - Link application with "-ldl" on Linux, "-lc" on BSD.
+ - Link application with "-ldl".
- Set a LD_PRELOAD environment to preload the tracepoint provider
shared object before starting the application when tracing is
needed.
LT_INIT
## Checks for libraries.
-AC_CHECK_LIB([dl], [dlopen],
-[
- have_libdl=yes
-],
-[
- #libdl not found, check for dlopen in libc.
- AC_CHECK_LIB([c], [dlopen],
- [
- have_libc_dl=yes
- ],
- [
- AC_MSG_ERROR([Cannot find dlopen in libdl nor libc. Use [LDFLAGS]=-Ldir to specify their location.])
- ])
-])
-AM_CONDITIONAL([LTTNG_UST_BUILD_WITH_LIBDL], [test "x$have_libdl" = "xyes"])
-AM_CONDITIONAL([LTTNG_UST_BUILD_WITH_LIBC_DL], [test "x$have_libc_dl" = "xyes"])
-
+AC_CHECK_LIB([dl], [dlopen])
AC_CHECK_LIB([pthread], [pthread_create])
# Check for libuuid
have_libc_uuid=yes
],
[
- AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Use [LDFLAGS]=-Ldir to specify their location.])
+ AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Use [LDFLAGS]=-Ldir to specify its location.])
])
]
)
# the "html" target helps for documentation (req. code2html)
CC = gcc
-LIBS = -ldl -llttng-ust # On Linux
-#LIBS = -lc -llttng-ust # On BSD
+LIBS = -ldl -llttng-ust
CFLAGS = -I.
all: sample
# provider probe.
CC = gcc
-
-LIBS = -ldl -llttng-ust #On Linux
-#LIBS = -lc -llttng-ust #On BSD
+LIBS = -ldl -llttng-ust
all: sample
lib_LTLIBRARIES = liblttng-ust-fork.la
liblttng_ust_fork_la_SOURCES = ustfork.c
liblttng_ust_fork_la_LIBADD = \
+ -ldl \
$(top_builddir)/liblttng-ust/liblttng-ust.la
-
-if LTTNG_UST_BUILD_WITH_LIBDL
-liblttng_ust_fork_la_LIBADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-liblttng_ust_fork_la_LIBADD += -lc
-endif
-
libustfork_CFLAGS = -DUST_COMPONENT=liblttng-ust-fork -fno-strict-aliasing
liblttng_ust_libc_wrapper_la_SOURCES = \
lttng-ust-malloc.c \
ust_libc.h
-liblttng_ust_libc_wrapper_la_LIBADD = \
+liblttng_ust_libc_wrapper_la_LIBADD = -ldl \
-L$(top_builddir)/liblttng-ust/.libs \
-llttng-ust
-if LTTNG_UST_BUILD_WITH_LIBDL
-liblttng_ust_libc_wrapper_la_LIBADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-liblttng_ust_libc_wrapper_la_LIBADD += -lc
-endif
-
noinst_SCRIPTS = run
EXTRA_DIST = run
noinst_PROGRAMS = demo
demo_SOURCES = demo.c ust_tests_demo.h
-# The demo program only depends on libdl/libc for dlopen().
-if LTTNG_UST_BUILD_WITH_LIBDL
-demo_LDADD = -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-demo_LDADD = -lc
-endif
-
+# The demo program only depends on libdl.
+demo_LDFLAGS = -ldl
executing the demo. Executing "demo" without the shell wrapper will not
provide any tracing support. This ensures the demo binary can be
distributed on distros without depending on having liblttng-ust.so in
-place. Note: the "demo" program must be compiled with "-ldl" on Linux,
-with "-lc" on BSD.
+place. Note: the "demo" program must be compiled with "-ldl".
The simplest command to trace the demo program are:
lttng create
libdummy_la_LIBADD = $(top_builddir)/libust/libust.la $(top_builddir)/libust-initializer.o
libdummy_la_LDFLAGS = -rpath /nowhere
dlopen_SOURCES = dlopen.c
-dlopen_LDADD = $(top_builddir)/libust/libust.la $(top_builddir)/libust-initializer.o
-
-if LTTNG_UST_BUILD_WITH_LIBDL
-dlopen_LDADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-dlopen_LDADD += -lc
-endif
+dlopen_LDADD = -ldl $(top_builddir)/libust/libust.la $(top_builddir)/libust-initializer.o
noinst_SCRIPTS = run
EXTRA_DIST = run
noinst_PROGRAMS = hello
hello_SOURCES = hello.c
-hello_LDADD = liblttng-ust-provider-ust-test-hello.la
-
-if LTTNG_UST_BUILD_WITH_LIBDL
-hello_LDADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-hello_LDADD += -lc
-endif
+hello_LDADD = -ldl liblttng-ust-provider-ust-test-hello.la
noinst_SCRIPTS = run
EXTRA_DIST = run
hello_SOURCES = hello.cpp tp.c ust_tests_hello.h
hello_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la
-if LTTNG_UST_BUILD_WITH_LIBDL
-hello_LDADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-hello_LDADD += -lc
-endif
-
noinst_SCRIPTS = run
EXTRA_DIST = run
hello_SOURCES = hello.c tp.c ust_tests_hello.h
hello_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la
-if LTTNG_UST_BUILD_WITH_LIBDL
-hello_LDADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-hello_LDADD += -lc
-endif
-
noinst_SCRIPTS = run
EXTRA_DIST = run
--- /dev/null
+# Example makefile for build outside of the LTTng-UST tree.
+
+hello:
+ ${CC} -O2 -I. -o hello -ldl -llttng-ust hello.c tp.c
+
+.PHONY: clean
+clean:
+ rm -f hello
+++ /dev/null
-# Example makefile for build outside of the LTTng-UST tree.
-
-hello:
- ${CC} -O2 -I. -o hello -lc -llttng-ust hello.c tp.c
-
-.PHONY: clean
-clean:
- rm -f hello
+++ /dev/null
-# Example makefile for build outside of the LTTng-UST tree.
-
-hello:
- ${CC} -O2 -I. -o hello -ldl -llttng-ust hello.c tp.c
-
-.PHONY: clean
-clean:
- rm -f hello