source: lib/Makefile.am @ 2138553

4.0.1-hotfixescachetimestampsdevelopdpdk-ndagetsilivegetfragoffhelplibtrace4ndag_formatpfringrc-4.0.1rc-4.0.2rc-4.0.3rc-4.0.4ringdecrementfixringperformanceringtimestampfixes
Last change on this file since 2138553 was 2138553, checked in by Richard Sanger <rjs51@…>, 7 years ago

Updates the dpdk build system to support the lastest DPDK libraries v1.5 and above
This drops support for anything before v1.5 due to the requirment to patch the build system.
Hopefully this new way will continue to work with newer releases

This removes the need to patch the DPDK library
Instead the only requirement is that DPDK is built as a static library with the following options
CONFIG_RTE_BUILD_COMBINE_LIBS=y EXTRA_CFLAGS="-fPIC added to the make command

-This line, and those below, will be ignored--

M configure.in
D Intel DPDK Patches/DPDKLibtracePatch.patch
M Intel DPDK Patches/README
M lib/format_dpdk.c
A lib/dpdk_libtrace.mk
M lib/Makefile.am

  • Property mode set to 100644
File size: 2.3 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@
5AM_CXXFLAGS=@LIBCXXFLAGS@
6
7extra_DIST = format_template.c
8NATIVEFORMATS=format_linux.c
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
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 to 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@
35include $(RTE_SDK)/mk/rte.vars.mk
36# We need to add -Wl before the linker otherwise this breaks our build
37# And include any libraries that DPDK might depend upon
38export DPDK_LIBTRACE_MK=dpdk_libtrace.mk
39include $(DPDK_LIBTRACE_MK)
40endif
41
42libtrace_la_SOURCES = trace.c common.h \
43                format_erf.c format_pcap.c format_legacy.c \
44                format_rt.c format_helper.c format_helper.h format_pcapfile.c \
45                format_duck.c format_tsh.c $(NATIVEFORMATS) $(BPFFORMATS) \
46                format_atmhdr.c \
47                libtrace_int.h lt_inttypes.h lt_bswap.h \
48                linktypes.c link_wireless.c byteswap.c \
49                checksum.c checksum.h \
50                protocols_pktmeta.c protocols_l2.c protocols_l3.c \
51                protocols_transport.c protocols.h protocols_ospf.c \
52                $(DAGSOURCE) format_erf.h \
53                $(BPFJITSOURCE) \
54                libtrace_arphrd.h
55
56if DAG2_4
57nodist_libtrace_la_SOURCES = dagopts.c dagapi.c
58endif
59
60INCLUDES= @ADD_INCLS@ -I../libwandio
61libtrace_la_LIBADD = @LIBTRACE_LIBS@ @LTLIBOBJS@ $(DPDKLIBS)
62libtrace_la_LDFLAGS=-version-info @LIBTRACE_MAJOR@:@LIBTRACE_MINOR@:@LIBTRACE_MID@ @ADD_LDFLAGS@
63dagapi.c:
64        cp @DAG_TOOLS_DIR@/dagapi.c .
65
66dagopts.c:
67        cp @DAG_TOOLS_DIR@/dagopts.c .
68
69if HAVE_LLVM
70# Rules to build the llvm .cc file from a C description of each opcode.
71bpf-jit/bpf-opcodes.llvm.bc: bpf-jit/bpf-opcodes.c
72        $(LLVM_GCC) -std=c99 -c -O0 -emit-llvm $< -o $@
73
74bpf-jit/bpf-opcodes.llvm.cc: bpf-jit/bpf-opcodes.llvm.bc
75        `$(LLVM_CONFIG) --bindir`/llc -march=cpp -cppgen=module $< -o $@
76
77bpf-jit/bpf-jit.cc: bpf-jit/bpf-opcodes.llvm.cc
78
79EXTRA_DIST+=bpf-jit/bpf-opcodes.c
80BUILT_SOURCES=bpf-jit/bpf-opcodes.llvm.cc
81endif
82CLEANFILES=bpf-jit/bpf-opcodes.llvm.cc bpf-jit/bpf-opcodes.llvm.bc
Note: See TracBrowser for help on using the repository browser.