source: lib/Makefile.am @ 6cf3ca0

4.0.1-hotfixescachetimestampsdevelopdpdk-ndagetsilivelibtrace4ndag_formatpfringrc-4.0.1rc-4.0.2rc-4.0.3rc-4.0.4ringdecrementfixringperformanceringtimestampfixes
Last change on this file since 6cf3ca0 was 6cf3ca0, checked in by Richard Sanger <rsangerarj@…>, 6 years ago

Gets the ring format back to a working state, the bulk of the refactoring
is now done.

I've opted to remove the inheritance way of grabbing shared functions
and replaced it with a file containing the common functions. Hopefully
this is more obvious that both int and ring depend on these.

I've also reworked the formats to be stream orientated, which removed
duplicates of heaps of functions. And allows the parallel and single
thread code to be almost identical.

After doing this many of the places where we had differences in
functions between ring and int disappeared.

I've also upped the MAX_ORDER to 11, used in allocating memory
from the kernel for the ring format.
Since this seems to work on the testing machines.
And we'll continue to fallback to smaller values if needed anyway.

  • Property mode set to 100644
File size: 2.9 KB
Line 
1lib_LTLIBRARIES = libtrace.la
2include_HEADERS = libtrace.h dagformat.h lt_inttypes.h daglegacy.h rt_protocol.h erftypes.h 
3
4AM_CFLAGS=@LIBCFLAGS@ @CFLAG_VISIBILITY@ -pthread
5AM_CXXFLAGS=@LIBCXXFLAGS@ @CFLAG_VISIBILITY@ -pthread
6
7extra_DIST = format_template.c
8NATIVEFORMATS=format_linux_common.c format_linux_ring.c format_linux_int.c format_linux_common.h
9BPFFORMATS=format_bpf.c
10
11if HAVE_DAG
12if DAG2_4
13DAGSOURCE=format_dag24.c
14else
15DAGSOURCE=format_dag25.c
16endif
17else
18DAGSOURCE=
19endif
20EXTRA_DIST=format_dag24.c format_dag25.c dpdk_libtrace.mk
21
22if HAVE_LLVM
23BPFJITSOURCE=bpf-jit/bpf-jit.cc
24else
25BPFJITSOURCE=
26endif
27
28if HAVE_DPDK
29NATIVEFORMATS+= format_dpdk.c
30# So we also make libtrace.mk in dpdk otherwise automake tries to expand
31# it too early which I cannot seem to stop unless we use a path that
32# doesn't exist currently
33export RTE_SDK=@RTE_SDK@
34export RTE_TARGET=@RTE_TARGET@
35export SAVED_CFLAGS:=$(CFLAGS)
36export SAVED_CXXFLAGS:=$(CXXFLAGS)
37include $(RTE_SDK)/mk/rte.vars.mk
38# We need to add -Wl before the linker otherwise this breaks our build
39# And include any libraries that DPDK might depend upon
40export DPDK_LIBTRACE_MK=dpdk_libtrace.mk
41include $(DPDK_LIBTRACE_MK)
42export CFLAGS += $(SAVED_CFLAGS)
43export CXXFLAGS += $(SAVED_CXXFLAGS)
44endif
45
46libtrace_la_SOURCES = trace.c trace_parallel.c common.h \
47                format_erf.c format_pcap.c format_legacy.c \
48                format_rt.c format_helper.c format_helper.h format_pcapfile.c \
49                format_duck.c format_tsh.c $(NATIVEFORMATS) $(BPFFORMATS) \
50                format_atmhdr.c \
51                libtrace_int.h lt_inttypes.h lt_bswap.h \
52                linktypes.c link_wireless.c byteswap.c \
53                checksum.c checksum.h \
54                protocols_pktmeta.c protocols_l2.c protocols_l3.c \
55                protocols_transport.c protocols.h protocols_ospf.c \
56                $(DAGSOURCE) format_erf.h \
57                $(BPFJITSOURCE) \
58                libtrace_arphrd.h \
59                data-struct/ring_buffer.c data-struct/vector.c \
60                data-struct/message_queue.c data-struct/deque.c \
61                data-struct/sliding_window.c data-struct/object_cache.c \
62                data-struct/linked_list.c hash_toeplitz.c combiner_ordered.c \
63                combiner_sorted.c combiner_unordered.c
64
65if DAG2_4
66nodist_libtrace_la_SOURCES = dagopts.c dagapi.c
67endif
68
69AM_CPPFLAGS= @ADD_INCLS@ -I../libwandio
70libtrace_la_LIBADD = @LIBTRACE_LIBS@ @LTLIBOBJS@ $(DPDKLIBS)
71libtrace_la_LDFLAGS=-version-info @LIBTRACE_MAJOR@:@LIBTRACE_MINOR@:@LIBTRACE_MID@ @ADD_LDFLAGS@
72dagapi.c:
73        cp @DAG_TOOLS_DIR@/dagapi.c .
74
75dagopts.c:
76        cp @DAG_TOOLS_DIR@/dagopts.c .
77
78if HAVE_LLVM
79# Rules to build the llvm .cc file from a C description of each opcode.
80bpf-jit/bpf-opcodes.llvm.bc: bpf-jit/bpf-opcodes.c
81        $(LLVM_GCC) -std=c99 -c -O0 -emit-llvm $< -o $@
82
83bpf-jit/bpf-opcodes.llvm.cc: bpf-jit/bpf-opcodes.llvm.bc
84        `$(LLVM_CONFIG) --bindir`/llc -march=cpp -cppgen=module $< -o $@
85
86bpf-jit/bpf-jit.cc: bpf-jit/bpf-opcodes.llvm.cc
87
88EXTRA_DIST+=bpf-jit/bpf-opcodes.c
89BUILT_SOURCES=bpf-jit/bpf-opcodes.llvm.cc
90endif
91CLEANFILES=bpf-jit/bpf-opcodes.llvm.cc bpf-jit/bpf-opcodes.llvm.bc
Note: See TracBrowser for help on using the repository browser.