source: lib/Makefile.am @ 823d8e1

cachetimestampsdeveloprc-4.0.4ringdecrementfixringperformance
Last change on this file since 823d8e1 was 823d8e1, checked in by Alistair King <alistair@…>, 2 years ago

Replace AC_CHECK_FUNCS with AC_CHECK_DECLS

It seems that AC_CHECK_FUNCS does not correctly detect when these "functions" are implemented as macros. (I've seen this happening on macOS, and Ubuntu 16.04 with snprintf and strndup respectively.) Replacing AC_CHECK_FUNCS (and the similar AC_REPLACE_FUNCS) with AC_CHECK_DECLS seems to solve this problem, though I don't have access to any systems that do not have these functions to be sure that it correctly detects them as missing.

  • Property mode set to 100644
File size: 3.5 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
13AM_CXXFLAGS=@LIBCXXFLAGS@ @CFLAG_VISIBILITY@ -pthread
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
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)
45include $(RTE_SDK)/mk/rte.vars.mk
46# We need to add -Wl before the linker otherwise this breaks our build
47# And include any libraries that DPDK might depend upon
48export DPDK_LIBTRACE_MK=dpdk_libtrace.mk
49include $(DPDK_LIBTRACE_MK)
50export CFLAGS += $(SAVED_CFLAGS)
51export CXXFLAGS += $(SAVED_CXXFLAGS)
52endif
53
54if HAVE_WANDDER
55ETSISOURCES=format_etsilive.c
56else
57ETSISOURCES=
58endif
59
60libtrace_la_SOURCES = trace.c trace_parallel.c common.h \
61                format_erf.c format_pcap.c format_legacy.c \
62                format_rt.c format_helper.c format_helper.h format_pcapfile.c \
63                format_duck.c format_tsh.c $(NATIVEFORMATS) $(BPFFORMATS) \
64                format_atmhdr.c format_pcapng.c \
65                libtrace_int.h lt_inttypes.h lt_bswap.h \
66                linktypes.c link_wireless.c byteswap.c \
67                checksum.c checksum.h \
68                protocols_pktmeta.c protocols_l2.c protocols_l3.c \
69                protocols_transport.c protocols.h protocols_ospf.c \
70                protocols_application.c \
71                $(DAGSOURCE) format_erf.h format_ndag.c format_ndag.h \
72                $(BPFJITSOURCE) $(ETSISOURCES) \
73                libtrace_arphrd.h \
74                data-struct/ring_buffer.c data-struct/vector.c \
75                data-struct/message_queue.c data-struct/deque.c \
76                data-struct/sliding_window.c data-struct/object_cache.c \
77                data-struct/linked_list.c hash_toeplitz.c combiner_ordered.c \
78                data-struct/buckets.c data-struct/simple_circular_buffer.c \
79                combiner_sorted.c combiner_unordered.c \
80                pthread_spinlock.c pthread_spinlock.h \
81                strndup.c
82
83if DAG2_4
84nodist_libtrace_la_SOURCES = dagopts.c dagapi.c
85endif
86
87AM_CPPFLAGS= @ADD_INCLS@
88libtrace_la_LIBADD = @LIBTRACE_LIBS@ @LTLIBOBJS@ $(DPDKLIBS)
89libtrace_la_LDFLAGS=-version-info @LIBTRACE_MAJOR@:@LIBTRACE_MINOR@:@LIBTRACE_MID@ @ADD_LDFLAGS@
90dagapi.c:
91        cp @DAG_TOOLS_DIR@/dagapi.c .
92
93dagopts.c:
94        cp @DAG_TOOLS_DIR@/dagopts.c .
95
96if HAVE_LLVM
97# Rules to build the llvm .cc file from a C description of each opcode.
98bpf-jit/bpf-opcodes.llvm.bc: bpf-jit/bpf-opcodes.c
99        $(LLVM_GCC) -std=c99 -c -O0 -emit-llvm $< -o $@
100
101bpf-jit/bpf-opcodes.llvm.cc: bpf-jit/bpf-opcodes.llvm.bc
102        `$(LLVM_CONFIG) --bindir`/llc -march=cpp -cppgen=module $< -o $@
103
104bpf-jit/bpf-jit.cc: bpf-jit/bpf-opcodes.llvm.cc
105
106EXTRA_DIST+=bpf-jit/bpf-opcodes.c
107BUILT_SOURCES=bpf-jit/bpf-opcodes.llvm.cc
108endif
109CLEANFILES=bpf-jit/bpf-opcodes.llvm.cc bpf-jit/bpf-opcodes.llvm.bc
Note: See TracBrowser for help on using the repository browser.