source: lib/Makefile.am @ 1668208

develop
Last change on this file since 1668208 was 1668208, checked in by Shane Alcock <salcock@…>, 2 years ago

Force compiler to use gnu99 standard where possible

Older gccs don't automatically like the use of 'restrict', so
you need at least c99 standard for that. However, we also need
some of the pthread GNU extensions (pthread_spinlock_t, in
particular) so we have to use gnu99.

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